我用仿真器在C6678EVM板的core0上调试程序,点了调试按钮后,程序执行到main函数的开始,去看core0的MAGIC_ADDR(地址0x1087fffc),发现值并不是程序入口点_c_int00的地址,而且换一个程序调试0x1087fffc地址还是这个值。而文档中说可以通过向一个核的MAGIC_ADDR写入_c_int00的地址,然后发IPC中断启动程序,很疑惑,求专家解惑,谢谢!
Andy Yin1:
您好,
程序实际执行入口为c_int00,从入口到main函数之间还有一段程序cint需要执行,具体可以参考手册SPRU187,其中包含如下一段关于程序如何执行的说明。
所以在使用bootloader进行程序加载时需要将入口地址指向c_int00;而在用ccs load程序时,你看到的ccs已经执行完main之前的初始化工作,然后跳转到main。