TMS320C6748芯片被更换为-E版本,启动问题请教。
原有程序1实现功能:程序1代码对flash的偏移64K之后的程序2.bin(out2rprc生成)内容进行解析,取出各section放到相应内存,记录entryPoint,跳转到entryPoint执行;然后用使用AisGen工具生成程序1的bin文件。
程序2:功能实现,使用out2rprc生成程序2的bin文件。
生成程序1和程序2的合并文件,程序1为前64K,程序2从64K地址开始,合并文件拷贝进FLASH,通过SPI0启动。
现TMS320C6748芯片被更换为-E版本后,使用SecureHexAIS_OMAP-L138.exe生成程序1的bin文件,烧录到FLASH后启动成功,请问怎么操作能够跳转到程序2执行?
Shine:
二次加载的目的只是为了搬后面64K的代码吗?这个没有必要用二次bootloader。
yuxiang cai:
回复 Shine:
64K之后的代码就是程序2,也就是实际的应用程序,通过out2rprc生成,比64K大。C6748加载不是只能最大加载64K吗?
可能我所描述的过程不是二次加载。
具体为程序1启动起来后,解析拷贝FLASH中 程序2 的内容,搬到外部内存里,之后通过下面的语句,跳转到程序2执行appEntry = (void (*)(void)) entryPoint;(*appEntry)( );
现在更换为加密的芯片后,程序2无法启动成功。
特此救助!
yuxiang cai:
回复 Shine:
程序2实际已经跳转,前面描述的方法在加密DSP芯片能够跳转到程序2。但其它原因导致程序2不能顺利执行,正在排查。
user5884172:
回复 Shine:
“ C6748 ROM bootloader没有64K的限制”这个能在那篇文档里面找到呢