AT91RM9200 loader.bin的问题

leuliu   2009-8-5 18:32 楼主
我有一批产品,其中有几块板子,出现很奇怪的问题。问题如下:
能够通过串口下载loader.bin,但是不能下载uboot.bin。WINDOWS的超级终端提示:达到最大的重发次数。一般校验重发的次数为10次,也就是说下载的时候,没用通过校验。
我的loader.bin是自己通过源码编译的,功能就是通过串口下载uboot.bin到外部RAM,其中使用了ATMEL固化在内部ROM中的服务程序(例如读串口)。但是大部分板是好的,就那么几块是坏的。可以确定ARM和RAM都能正常工作。软件应该是没问题的。
想问问这里有人遇到过这种问题么?是不是ATMEL固化在内部ROM中的程序做了检测硬件什么东东的举动?

回复评论 (11)

有可能是MAX232或MAX3232这类芯片的稳定性问题。还有就是重发可能是超时重发,有可能是AT91RM9200端串口接收代码的超时时间设置得太短(程序问题)。loader.bin应该比uboot.bin小很多吧?uboot.bin要传输的时间比较久,出现超时的几率就大了。
还有就是你的波特率不是很精确,造成了传输的错误,导致重发次数过多。
点赞  2009-8-5 19:01
引用: 引用 1 楼 goodlinux 的回复:
有可能是MAX232或MAX3232这类芯片的稳定性问题。还有就是重发可能是超时重发,有可能是AT91RM9200端串口接收代码的超时时间设置得太短(程序问题)。loader.bin应该比uboot.bin小很多吧?uboot.bin要传输的时间比较久,出现超时的几率就大了。
还有就是你的波特率不是很精确,造成了传输的错误,导致重发次数过多。

应该不是这个问题,如果是稳定性的问题,那么传loader.bin应该也会有几率出现重发的,但是从来没出现过。
我怀疑是外围哪个器件虚焊或者其他硬件问题,但是外围器件一个一个检查就太麻烦了。现在就是想知道ATMEL固化在ROM中的READ程序会对硬件做什么检测,这样就可以从程序中判断硬件哪里出问题了。
点赞  2009-8-5 19:59
而atmel固化在内部ROM中的代码,官方上,还是google都找不到
点赞  2009-8-5 20:00
恩,你用的是超级终端吗?
点赞  2009-8-5 23:17
引用: 引用 4 楼 goodlinux 的回复:
恩,你用的是超级终端吗?

是的插P下的超级终端
点赞  2009-8-6 10:18
uboot.bin大概是在什么位置出现重发?
点赞  2009-8-6 11:55
引用: 引用 6 楼 goodlinux 的回复:
uboot.bin大概是在什么位置出现重发?

一开始就重发了
点赞  2009-8-6 16:44
感觉有点乱了。后来uboot.bin的出错,你是用板子的固件下载,还是用你自己写的loader.bin进行下载uboot.bin?
点赞  2009-8-6 18:44
你的过程是用内部固件下载loader.bin,之后运行loader.bin下载?
点赞  2009-8-6 18:48
如果可以,贴个loader.bin的串口下载的代码吧
点赞  2009-8-6 18:49
。。。。。。算了,这么细节的估计没人做过,结贴给分了。
另外loader.bin的源码可以从atmel的主页上下到
点赞  2009-8-7 10:03
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复