芯片是C6424,bootloader版本1.04,通过genAIS.pl产生.AIS文件,通过UART启动,发生如下现象:
1.产生.AIS文件时,若带有crc,无论是每段都校验一次crc,还是整段只校验一次crc,串口烧写过程中都会打印 data corruption,烧写失败
如果去掉crc校验,则烧写成功,返回done,程序正常运行。
2.产生.AIS文件时,若添加配置文件 (-cfg + 文件名),则烧写失败,串口打印返回 data。
想问下这种现象问题出在哪里,整个流程按照642x bootloader的手册写的,不明白出现错误的原因是什么,
难道是芯片bootloader版本和genAIS.pl的版本不一致造成的,还望大神指点迷津!
user4132520:
回复 Shine:
使用了最新版的genAIS.pl,依然存在相同的问题,暂时搁置crc,对AIS文件不进行crc校验,可以运行,
文档中提到6424的cfg配置文件只能够配置pll,emif和ddr的若干寄存器,使用带cfg的AIS文件进行启动时,发现如果只配置emif和ddr,可以运行,
但是一旦添加pll字段,便启动失败,只好通过控制PLLM[2:0]的管脚从硬件上去配置初始的pll,通过上述操作完成了使用ddr地址空间的应用程序的串口启动,
从而验证了当前使用的AIS文件的正确性
我的实际应用需求是要从nandflash启动,我把AIS文件对应的16进制数据烧写到nandflash的block1中,选择从nandflash启动的方式,没有反应,
挂上仿真器查看boot的相关寄存器显示读取nand超时,现在的疑问是,我的ais文件应该是正确的,烧写也是成功的,启动方式也设置从nand启动,但是
我硬件上AEM[2:0]这几个控制emif口复用的管脚没有接出来,默认值是0,也就是说我的板子重启后emif接口默认是i/o状态,我想知道AEM[2:0]这几个管脚
没接出来是不是致命的,还有没有软件上补救的可能,谢谢了