今天在调试新的底板,用MCUZONE的开发板,发现系统启动不起来,死在:(用的是NFS)
U-Boot > boot
Card did not respond to voltage select!
Unknown command 'sf' – try 'help'
Unknown command 'sf' – try 'help'
## Booting kernel from Legacy Image at c0700000 …
Image Name: Linux-2.6.37
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2464308 Bytes = 2.4 MiB
Load Address: c0008000
Entry Point: c0008000
Verifying Checksum … OK
Loading Kernel Image … OK
OK
Starting kernel …
Uncompressing Linux… done, booting the kernel.
没有任何 信息了。
经朋友指点说要给RTC_CVDD供电。照做后,系统正常启动了。
有点不明白,RTC_CVDD和内核启动有什么关系?它应该只是给片内的RTC供电用。
看了一下datasheet,也没有弄明白。
希望能指点一下。
noaming:
你所使用的内核和板子不匹配造成的,建议你重新编译内核,使用新内核。
demo xie:
回复 noaming:
Titan,你好。在这碰到你。
能解释一下是什么不匹配吗?
哪个版本的内核是新的?我现在用的是你们官网下的2.6.37。
重新编译内核是指针对哪个部分要修改在重新编译啊?
谢谢。
demo xie:
回复 demo xie:
我用了同一个核心板,没有改过u-boot和内核。
在一个底板连接了1.2到rtc vdd的就能启动,在另一个没有连接1.2到rtc vdd的就不能启动。
系统死在上面描述的地方。
然后在不能启动的板子上,把1.2V接到rtc_cvdd后,系统就能正常启动了。
noaming:
回复 demo xie:
出现这种情况,一般要是MACHINE_START函数在传递mach_type参数给内核的时候,参数不匹配,一直卡在那里。此时应该根据板子的的默认配置文件重新编译内核,使用新内核就搞定了。
以上你的情况,似乎并不是这个情况。
demo xie:
回复 noaming:
是的,我什么都没动。只是把RTC_CVDD接上1.2v就好了。
静候你的指教。
noaming:
回复 demo xie:
在RTC模块的硬件电路设计上,有要求的:If the RTC is not used, RTC_CVDD
should be connected to CVDD. RTC_CVDD should not be left unpowered while CVDD is powered.
demo xie:
回复 noaming:
所以,RTC_cvdd应该是一直连接到cvdd即1.2v的。按上面的描述
noaming:
回复 demo xie:
是的,RTC模块的硬件电路设计,首先要符合要求。如果RTC模块不用的时候,要接到CVDD。
noaming:
回复 noaming:
其实好的建议是,你可以打开内核调试选项(在内核配置选项中查找),这样可以打印出错的信息,对问题进行定位。