硬件:S3C4510B;Flash:2M,按16位方式访问;SDRAM 16M,32位访问。 软件:bootloader,uClinux。 实现功能:bootloader正常启动,可以通过串口可以下载程序,监视运行情况。 ADS下可以访问到Flash及SDRAM。 问题:内核启动总是出现CRC error!然后终止,有时能启动到输出信息处 Freeing init memory: 40K。然后停止,错误提示:Kernel panic: No init found. Try passing init= option to kernel。 已采取的措施:怀疑,内核从Flash拷贝至SDRAM中出错。自己编程,核对Flash中的内核和拷贝至SDRAM中的内核,发现确实不正常:在0x10000--0x200000的拷贝范围内,从0x7FE10至0x80000,106个(中间有几个字是拷贝正确的)不对。 编写小程序A:找出拷贝不正确的地址,重新拷贝,然后输出拷贝前后出错的SDRAM中的内容。这个小程序显示已将错误数据重新拷贝正确。 编写小程序B:打印出错信息地址。仍然出现同样地址上,出现同样的错误内容。比如:0x7FFFC:0x114:0xe1fd105f(地址:实际内容:期望内容)。 怀疑SDRAM损坏,更换后,错误同样。 请各位指点一二。不胜感谢! |