This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
用的是C6670评估板,现在想用I2C模式加载多核程序并按顺序启动核0核1核2核3,通过查找论坛上的资料用基本IPC例程修改出了一个多核程序,这个程序在用CCS调试Debug模式下能够正常地从核0向其他核发送IPC中断,可是用bootload加载时却只有核0运行其他核不启动。
1、是必须触发特定的IPC中断才能让其他核启动吗?
2、是我的boot magic address有问题吗?对C6670来说boot magic address不是固定的吗?
3、还是我在boot magic address内写的启动地址有问题?
多核启动时需要在其他核的boot magic address上写入各个核的启动地址,我的boot magic address对应到核0123分别为:
#define Boot_Magic_Addr_core0 (*((volatile uint32_t *) 0x108FFFFC))
#define Boot_Magic_Addr_core1 (*((volatile uint32_t *) 0x118FFFFC))
#define Boot_Magic_Addr_core2 (*((volatile uint32_t *) 0x128FFFFC))
#define Boot_Magic_Addr_core3 (*((volatile uint32_t *) 0x138FFFFC))
boot magic地址内存储的是根据.map文件得来的_c_int00 0x0c00f4a0;
OUTPUT FILE NAME: <SRIO.out>
ENTRY POINT SYMBOL: "_c_int00" address: 0c00f4a0
cmd文件为
1.需要core0触发IPCGR中断来启动其他核。
2. boot magic address地址是对的。
3. 看一下其他 Core1,2,3 boot magic address存储的是否是core1,2,3的 c_int00入口地址