我使用AM335x芯片,通过xmodem与ymodem下载spl与uboot后,可以正常工作。
但通过uart烧写spl与uboot到nand flash,重新跳线到nand启动,烧写之后运行没有反应,串口没有任何输出。
同样的我将Nand flash整片擦除,然后设置为nand 启动,他能打印CCC,证明程序烧录后,已经在工作,只是可能崩溃了。
在编程nand时,做了以下测试。使用md命令显示通过kermit下载后的内存数据,发现数据与电脑上的文件内容一致,证明ddr是没有问题的,然后我又将数据写入nand flash,并使用nand read与md命令,检测到flash中读出的数据也与电脑上的文件数据一致,证明nand flash也是正常工作的。
分别设置成uart与nand启动的跳线:
uart sysboot15:0=0100 0000 0001 1011
nand sysboot15:0=0100 0000 0001 0011
SDK版本:am335x-evm-linux-sdk-bin-03.02.00.05
通过uart烧写到nand flash的方法参考的是
http://processors.wiki.ti.com/index.php/AM335x_U-Boot_User%27s_Guide#Boot_Over_UART
spl与uboot不能运行,通常可能由哪些原因影响呢,应该如何调试?
Denny%20Yang99373:
通过SYSBOOT寄存器看看启动方式是否正确
通过仿真器连上ARM,看看SPL运行的内存有无程序
判断出,是NAND读写的问题还是NAND读到内存执行出问题了