环境是6670EVM,core0和core1都是基于BIOS,如果用仿真器连接目标板,通过CCS分别加载.out文件,运行正常,但是通过ibl加载后不能正常运行。
经过较长一段时间的摸索,发现了一个问题,core1的执行会影响core0对共享内存的操作,即使core1在进入main函数后就停止(运行死循环)也会影响。所以怀疑是core1在启动后运行c_int00到main之间的这段程序影响了core0,因为通过CCS加载.out也是直接将PC指针指向了main函数,没有运行c_int00到main的代码。
那么,1.c_int00到main之间究竟运行了什么?
2.IBL加载后,可否让core1直接从main开始运行?
Andy Yin1:
CCS加载程序的入口地址也是c_int00,程序加载初始化流程及具体C_int00函数中执行的功能参考TMS320C6000 Optimizing Compiler v7.4 user guide (SPRU187U) section 7.8 system initialization.
TI中文支持网