当前位置:首页>Linux>【教程】Linux上用命令烧写SD卡和Windows上用Win32DiskImager工具一键烧写SD卡

【教程】Linux上用命令烧写SD卡和Windows上用Win32DiskImager工具一键烧写SD卡

  • 2026-10-11 06:38:02
【教程】Linux上用命令烧写SD卡和Windows上用Win32DiskImager工具一键烧写SD卡

本文旨在介绍友晶(Terasic)开发板 Linux 镜像的烧写与开机验证流程,覆盖 Windows 和 Ubuntu 两种操作系统环境。所述方法适用于所有 Altera SoC FPGA 开发板。

下文将以友晶 DE25‑Nano 开发板为例进行全程实操演示。

一、准备工作

1.准备一个Linux镜像文件。可以是自己设计的镜像,也可从友晶官网下镜像https://dl2.terasic.com/resources/de25-nano/de25_nano_sdcard_console_v1.1.zip。

2.准备一张Micro SD卡和一个SD卡读卡器。(如果是DE25-Nano等板子的镜像,需准备一张8GB以上的SD卡,如果是DE10-Nano开发板,需准备一张4GB以上的SD卡)

二、操作演示

1.linux系统上的操作:

将读卡器插入Ubuntu主机,输入命令lsblk查看SD卡名称:

 输入 sudo umount /dev/sdb*

 输入命令进行烧写:pv -tpreb sdcard.img | sudo dd of=/dev/sdb bs=1M

如上图第一次用pv -tpreb sdcard.img | sudo dd of=/dev/sdb bs=1M命令写的image 启动时卡住:

第二次写的image启动就可以成功boot起来,差别是速度不一样,前面的速度快些。

其实原因就是linux系统写入缓存机制导致的。dd命令默认将数据先写入系统内存中的缓存(Buffer/Cache),而非直接写入SD卡,所以 dd命令显示的“完成”并不等于数据真正写入了SD卡。可以在dd命令显示完成后执行命令sync,sync命令会强制系统将所有缓存的待写数据全部刷入存储设备。务必等到sync命令执行完毕并返回提示符后,才能安全地卸载并拔出SD卡。

2.Windows系统上的操作:

Win32DiskImager.exe是一款在Windows系统上用于读写SD卡的免费开源工具。
将插上SD卡的读卡器插入到Windows PC上。双击Win32DiskImager.exe然后按照下图操作:

Win32DiskImager.exe工具的烧写过程需要一段时间,请耐心等待,烧写成功会有提示。

三、上板验证

1. Ubuntu系统下的验证
DE25-Nano开发板的MSEL[2:0]设置为001,给开发板接上串口线,用命令putty -fn 'Monospace 10' 打开putty终端,进行如下设置,最后点击Open:
可以看到串口最终打印系统登录提示信息:
如若不知道串口设备名称,可使用ls /dev/ttyUSB*查看开发板对应的串口设备号。这里/dev/ttyUSB0是HPS端串口,/dev/ttyUSB1是FPGA端串口。
2. Windows系统下的验证
双击putty.exe打开串口终端的配置界面。
填入正确的设备名(如COM5)和波特率(通常为115200),点击Open即可建立串口连接:
点击Open以后,给开发板上电,可以看到串口打印Image启动的信息:
Windows系统下设备端口号是多少可以通过设备管理器查看得到。右击开始菜单,找到设备管理器。
在设备管理器找到DE25-Nano的串口号在当前电脑上的编号是COM5(COM6 则对应FPGA 端的串口): 

-END-

最新文章

随机文章