一、sd卡烧写系统的基本思路:
(1)把uboot.bin烧写到sd卡
(2)把image整个文件夹复制到sd卡
(3)开发板从sd卡启动,就开始自动烧写到nandflash中了。
二、烧写uboot.bin到sd卡
(1)sd卡分区和格式化(烧写第一步)
<1>把卡插入pc,windows下格式化
<2>点vm右下链接sd卡到linux,然后在终端输入:
#dmesg|tail //查看挂载点
#df—h //查看sd卡文件挂载位置
#umount /media/ //media后边填你的挂在位置。这步是执行卸载挂载点
#sudo fdisk-l //查看sd卡字符设备名称。一般方法是接近你卡的容量那个就是
#sudo fdisk /dev/sdb // 查看sd卡分区
#m //查看菜单
#p //打印sd分区
#d //删除分区,要删那个区就打哪个数字
#n //添加分区,这时要添扇区,添default后边的值,一般是2048开始。
#t //写分区的格式,一般是b或c。
#a // 然后输入数字,这步是激活分区。
#w //保存退出
#mkfs.msdos /dev/sdb1 //这步是在linux终端下操作。实现格式化分区。
由此,sd卡格式化和分区就完毕。上述只分出一个区。
(2)烧写uboot.bin 到sd卡
准备4g以上容量sd卡,使用读卡器。
<1>把uboot.bin放到共享文件夹
#cd /mnt/hgfs/share
#ls
#cd
#sudo cp /mnt/hgfs/share/uboot.bin ./ //复制共享文件夹里的uboot.bin到home下
#sudo fdisk -l
# sudo dd iflag=dsync oflag=dsync if=./uboot.bin of=/dev/sdb seek=1 //这样镜像就烧写到sd卡上去了。
(3)把image整个文件夹复制到sd卡,把卡插到开发板,sd卡启动,上电。如果配置文件没错,就把系统顺利烧写到开发板了
** 以上烧写是基于superuboot。在uboot中bootm配置一个可执行文件,这个文件里再配置自动烧写文件。相关代码比较复杂。一般开发板开发商都有超级uboot和配置好的烧写执行文件。按手册做应该没问题。我这章主要谈sd卡烧写时分区和烧写过程。