(非官方开发板)
如上图所示,圈表示连接,x表示断开。根据参考手册关于启动顺序的选择,我把am3359的启动顺序设置为mmc0->spi0->uart0->usb0
按照这个启动顺序的话,系统一上电就去会mmc0接口的sd卡处寻找mlo,然后加载。很快串口就会打印u-boot的信息。但是实际上,这样设置后,开机,串口终端没有任何信息,持续超过30s后,才成功找到sd卡的mlo,然后正确进入系统。这是为什么?
其次,关于启动顺序。am3359应该是按顺序去轮询每一个外设,或者内存设备。但是我取走了sd卡,RL应该会轮询到串口,但是串口为什么没有打印“CCCCCCC”这种信息。手册上说,当所有设备都轮询一遍后,系统就会被永久挂起。这就奇怪了。因为我过一段时间,把sd卡插回去,依旧是能够正确引导的。
问题在于,ROM BOOT究竟卡在哪里了?什么操作让它耗时这么久?
最后,因为我们的产品对启动速度有要求,想知道有没有fast external boot这个模式下的参考代码呢?
谢谢指教~~
Yaoming Qin:
我在EVM板上没发现这个问题,对于SD启动,速度很快
Creed:
回复 Steven Liu1:
前段时间网络差到爆,终于上的来了。
你说得对,确实是上下拉电阻有要求的,当时偷懒就直连了。