什么是启动SD卡?
- 启动SD卡包含U-boot
- 启动卡又可以称为启动盘,在板载eMMC里面没有固件的情况下,可以用于启动你的板子
为什么需要SD启动卡?
- 在开发中使用SD启动卡提升调试效率
- 发布SD卡固件会使用到
- 在某些情况下固件无法从eMMC启动时,可以通过SD卡启动
由于VIM1、VIM2和VIM3操作方式基本上是一样的,所以本文档以VIM1为例进行说明。
开始制作
下载(VIM1/VIM2/VIM3)或编译U-boot 获取U-boot镜像。
不管通过哪种方式,你都会得到不同的镜像:
u-boot.bin.sd.bin
是SD卡镜像u-boot.bin
是eMMC镜像
把SD卡插入电脑并卸载:
1 | $ sudo umount /dev/sdX1 |
格式化SD卡为Fat32文件系统:
1 | $ sudo mkfs.vfat /dev/sdX1 |
通过dd
命令把U-boot写入SD卡:
1 | $ sudo dd if=u-boot.bin.sd.bin of=/dev/sdX conv=fsync,notrunc bs=1 count=444 |
从PC移除SD卡:
1 | $ sudo eject /dev/sdX |
注意请替换
sdX
为你自己电脑上的正确的块设备。
检查
确保串口连接正确,参考这里(VIM1/VIM2/VIM3)。
为了确保U-boot从SD卡启动,你必须擦除eMMC(VIM1/VIM2/VIM3)。
打开终端,执行sudo minicom
命令或者你也可以选则其他你喜欢的串口工具。
插入刚做好的SD卡到VIM并上电,你会看到如下打印信息,说明系统是从SD卡启动的:
1 | GXL:BL1:9ac50e:a1974b;FEAT:ADFC318C;POC:3;RCY:0;EMMC:0;READ:0;CHK:AA;SD:0;READ:0;0.0;CHK:0; |