串口实验烧录问题总结

《朱老师物联网大讲堂》学习笔记

学习地址:www.zhulaoshi.org


这节课,是一些问题的总结,没记什么笔记,直接把朱老师的笔记粘贴过来,方便以后看。


1.7.12.串口实验烧录问题总结
1.7.12.1、usb下载的问题
(1)USB下载时在Win7 X64系统下,下载前面章节的小代码时没问题,下载串口通信的小代码时也没问题,下载uart stdio的移植就有问题了。有时候下载不动、有时候能下载但是不运行、有时候又正常下载运行。我已经试过下载其他的dnw或dnw驱动更新,都无法解决。
1.7.12.2、SD卡镜像烧录
(1)SD卡烧录镜像做裸机实验,在第四部分1.4.2节中有讲过。
(2)本次我们在Windows下烧录(linux下的烧录参考以前的)
(3)Windows下烧录镜像是使用九鼎提供的工具(X210光盘资料\A盘\tools\x210_Fusing_Tool.exe),注意运行时右键“以管理员身份运行”。
1.7.12.3、启动方式设置
(1)X210开发板的启动方式的选择,请参考1.2.11节。其实就是OM5的问题,OM5设置为VCC则从USB启动,OM5设置成GND,则从iNand/SD卡启动。
(2)开发板选择从iNand启动后,还要确保iNand中uboot是被擦除的。
(3)关于如何破坏uboot的问题,大家可以参考之前课程中讲的在linux/android系统中破坏uboot的方法。我之前讲过在uboot中破坏uboot的方法:movi write u-boot 0x30000000。很多同学反映擦除后错乱,进不了系统也从SD卡启动不了,只能通过USB刷机来解决。后来又分析,改为:mw 0x30000000 0x0 0x100000,然后再movi write u-boot 0x30000000
。但是反馈结果有人说可以了,有人说还是不行·······
(4)不管怎么擦除uboot,总之首先确保你的板子SD卡启动是成功的。怎么确保?先用SD卡烧录启动之前的LED闪烁的项目,确保看到现象就证明烧录SD卡方法和启动SD卡都成功了,再做本节课的实验。
1.7.12.4、链接脚本的影响
1.7.12.5、bin文件大于16KB怎么办?
通过USB下载最多也只能下载96KB大小的bin,如果bin大于96KB肯定SRAM放不下会出错。如果用SD卡启动,那么mkv210_image.c决定了bin文件最大不能超过16KB。
超过了怎么办?2种解法:
第一,在USB下载时,可以先下载一个x210_usb.bin,然后再将裸机程序连接到0x23E00000,然后再修改dnw中下载地址,将裸机代码下载到0x23E00000运行。(这时不需要重定位了)
第二,在SD卡启动时,将整个裸机工程分为2部分;第一部分大小16KB以内,第二部分放剩下的(放在SD卡的后面的某个扇区开始的位置,譬如放在第50个扇区开始的位置),然后在裸机代码中进行重定位(SD卡中重定位)。这个暂时没讲,以后如果有用到就讲。




你可能感兴趣的:(ARM裸机)