完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
课程中刷机时用到的三种工具。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环境之下。 |
|
|
|
只有小组成员才能发言,加入小组>>
698 浏览 0 评论
1109 浏览 1 评论
2476 浏览 5 评论
2810 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2653 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
656浏览 9评论
651浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
784浏览 6评论
632浏览 5评论
672浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 17:58 , Processed in 1.039349 second(s), Total 79, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号