嵌入式学习小组
直播中

杨万富

7年用户 1540经验值
擅长:526774
私信 关注

刷机时用到的三种工具分别是什么

刷机时用到的三种工具分别是什么?
SD卡有何作用?
fastboot是什么?fastboot有何作用?

回帖(1)

肖风迎

2021-12-27 14:35:53
课程中刷机时用到的三种工具。SD卡,fastboot,dnw
首先是SD卡
SD卡主要应对的是iNand中uboot被破坏的情况,这种时候可以用电脑往SD卡中烧入uboot,然后插到开发板的SD2通道。这样子当开发板在SD模式下启动的时候,检测到SD0通道内硬件中uboot失效时,就会跳到SD2通道,执行SD卡中的uboot,如果iNand中OS部分没有被破坏,最终会通过BL2将iNand中的OS放入DRAM中执行。其实这里SD卡的功能就是代替了iNand中uboot部分的功能。如果下次执行将SD卡拔出,则开发板就不能启动了,就是因为缺少可用的uboot。
第二种是fastboot
fastboot其实就是一种将uboot,OS部分重新写入iNand的工具。fastboot必须要在uboot环境下运行。所以如果iNand中程序被破坏,而又有一块装有uboot的SD卡,这时候就可以用SD卡启动,进入到uboot环境下,然后通过fastboot,重新给iNand中写入uboot和OS,写入完成后,重启开发板,开发板就又可以正常工作了。
第三种是dnw
dnw则是在iNand中程序被破坏,而且手边有没有SD卡,或者SD卡启动uboot失效的情况下,使用的一种方法。遇到这种情况,需要用dnw从电脑上先给SOC的地址0xd0020010写入x210_u***.bin文件,然后再给地址0x23e00000写入uboot。我由于是初学,懂得很浅,只能推测。地址0x23e00000是在DRAM0的地址范围内的,通过课程中老师的指导,我的理解是dnw应该是将uboot直接放到了外部DRAM里面。(我的疑问就是,外部DRAM没被初始化,程序是怎么放进去的。所有只能猜测是这么做的)。而x210_u***.bin里面包含了初始化外部DRAM的程序,然后又被放在了本来放BL1的地址空间内。估计在dnw将x210放到0xd0020010(IRAM空间)之后,就运行了这段程序,可能运行过程中将初始化外部DRAM的程序放进了iNand中。这样的话,当再次开机的时候,机器的执行过程是,IROM中的程序->初始化外部DRAM->通过外部DRAM直接执行uboot。这样子uboot就被启动起来了,这时候进入uboot模式,运行fastboot,用fastboot恢复iNand中的内容。刷机就成功了。
总的来说,刷机的话,fastboot是不能没有的。SD卡和dnw则是在iNand程序被破坏的情况下的两种执行uboot的方法。而fastboot被执行的基础就是在uboot环境之下。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分