1、把uboot编译完之后,生成u-boot.bin文件之后,想要将它烧写到机器中去,但是发现一个问题,要使用什么方式烧录?网络下载或者fastboot指令下载?最后选择了相对简单的SD卡烧录。
2、由于我使用的是九鼎科技的开发板(和朱老师学的嵌入式),直接使用九鼎科技的SD卡tool烧录u-boot.bin文件,插卡,观察串口显示,提示:
SD checksumError
立马联想到,210的机制是使用SD卡启动时,需要进行校验和检验,因此这样的方法行不通。
3、想起SD卡课程的时候说过,要将大于16k的文件进行拆分。拆成BL1和BL2,怎么拆是一个问题。(一般是在BL1的时候完成主要的配置,例如初始化内存,然后把BL2的代码存放到内存DDR中,然后使用长跳转指令bl,跳转到内存中去执行BL2。)
4、发现uboot文件夹下有一个文件夹:
5、上网百度,发现这个文件夹是用于SD卡的烧写工具,在linux下执行:
sudo./sd_fusing.sh /dev/sdb
6、执行完后提示出错:source file open error、dd:打开"SD-bl1-8k.bin"失败:没有那个文件或目录、rm:无法删除"SD-bl1-8k.bin":没有那个文件或目录
7、查看脚本文件sd_fusing,发现问题:
更改后:
8、执行后,问题依旧存在,然后细想,发现,没有编译sd卡工具。(细节)执行指令:
make clean
make
sudo./sd_fusing.sh /dev/sdb
9、插卡上电观察开发板串口信息,uboot正常运行。