单板linux内核添加spi flash驱动后,在shell下敲reboot命令挂死。
在内核中的reboot的系统调用中添加打印后,发现最后代码走到了对CPU的寄存器写,让CPU复位。好像看不出有任何问题。
联想起之前的文章 "32M的spi接口Flash和24bit地址模式 " (http://blog.chinaunix.net/uid-26598889-id-4304874.html)。CPU启动时是按照24bit模式启动的,然后添加内核的spi flash驱动后,由于是32M bytes flash,驱动将flash从24bit模式切换到了32bit模式。导致单板reboot后,CPU是24bit模式,而flash还是32bit模式,无法启动uboot而挂死。
阅读(4505) | 评论(1) | 转发(2) |