自己在0x70000000的地方使用如下代码,链式加载从核启动
-----------------------------------
if (core < coreCnt) {
msg("\twake up core next.\n");
core++;
*(uint32_t*) BOOT_MAGIC(core) = (uint32_t)_c_int00;
#if 0
CSL_BootcfgRegs * bcr = (CSL_BootcfgRegs *)CSL_BOOT_CFG_REGS;
CSL_FINS(bcr->IPCGR[core], BOOTCFG_IPCGR0_IPCGR0_REG, 1);
#else
CSL_BootCfgGenerateInterDSPInterrupt(core, 1);
#endif
}
--------------------------------------
core 0执行后,查看core1的bootMagic是设置为0x70000000的,但是core1仍然在IDLE指令发呆,
我看RBL这里也是按照:写bootmagic然后些0x02600240 + core * 4的地址为1,
but我写的似乎没有work,请求技术支援,谢谢!
Ryan BL:
开始用的if 0,代码检视的时候发现csl游现成的,就用的当先else部分。
Shine:
回复 Ryan BL:
感谢分享解决方法!