这回单板上电后串口不循环打印ok而只是打印一个ok后就停住了。。。。目前正在研究
-------> 问题最后解决了,原因是DDR内存芯片管脚虚焊(拿示波器量下DDR内存芯片的信号),由于第二阶段的uboot需要转移到DDR内存中运行,
所以只能执行第一阶段uboot然后就挂了。
------->有时候也可能是uboot烧写不成功,可 先执行nand erase ,然后再nand write烧写flash,问题解决了。
------->也有可能是phy芯片(网卡芯片)虚焊或管脚接错导致Uboot挂掉的问题。
晚上搜有一篇博文介绍uboot打印ok的问题:http://blog.sina.com.cn/s/blog_704211f40100wdo6.html
uboot启动后第一个打印的是"OK",那这个"OK"又是在哪里打印的呢?
经查证,在Start.S的lowlevel_init.S中。
搜索#UTXH_OFFSET(串口输出缓存寄存器)后发现:
初始化完三个串口,输出'O'
ldr r1, =0x4f4f4f4f
str r1, [r0, #UTXH_OFFSET]
uart_asm_init返回前输出'K'
ldr r1, =0x4b4b4b4b
str r1, [r0, #UTXH_OFFSET]
之后的打印信息都是跳转到C语言部分打印的
from:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d8d8b492c93cf13d9735b361b31a5a660794613d3b37c6c05ac4d56eaf12172415876a09bbe8e4bd6bc972d2e9f27432a5ad91f069644ef9d4925c723944de9de0e91bae742e3b9a4d7c82450dd52756df0f69c2e0003bc6ee76732f4a7e9154c&p=882a940e85cc43b50781d42f15&newp=882a9456829a06f00be296364a53d8274e39806238d5c3412693cc&user=baidu&fm=sc&query=2416+%D2%BB%D6%B1%B4%F2%D3%A1OK&qid=8a2413b3000f65ae&p1=3