以前在做嵌入式开发的时候,有的板子在内核启动初期不稳定,在自解压时就出错情形如下:
- Starting kernel ...
- Uncompressing Linux........................................................................................................................
- crc error
Starting kernel ...
Uncompressing Linux...............
incomplete literal tree
在uboot下测试内存都没有什么问题,但是一上内核就死在自解压上。
最后究其原因是内存问题: (1)内存与CPU见的走线设计不好。
(2)CPU不支持ODT或者DDR2内存芯片没有ODT,且硬件设计没有加匹配电阻。
(3)在硬件不稳的情况下,内存频率配置过高。
(4)超频使用
以上的问题都可以通过降频尝试解决。但是如果是硬件设计问题,改善走线才是最终解决方法。有ODT支持的话,尽量开启,可以减少信号反射,保持信号完整性。
有些内存控制器的配置比较复杂,需要板级相关的参数,比如Ti8168芯片。
阅读(280) | 评论(0) | 转发(0) |