请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320C6678 示例代码、E2E 论坛上的帖子以及我的所有测试都表明 IPCGR1和相关寄存器都包含在"boot kicker"保护方案中。 因此、任何想要执行 IPC 的内核都必须在写入这些寄存器、写入这些寄存器之前解锁引导 kicker、并且可能会重新锁定引导 kicker。 [更新:]我的测试还显示锁定状态在内核之间共享; 例如、内核0可以解锁 kicker、内核1可以写入 BOOTCFG 空间、内核1可以锁定 kicker、使内核0无法写入 BOOTCFG、直到有人再次解锁 kicker。
这种竞争条件的首选解决方案是保持 kicker 解锁、使用一些外部串行化机制(例如硬件信标模块)、不使用 IPC 的 IPCGRx 寄存器(例如改用多核导航器)、还是其他解决方案? SPRS691E (C6678的数据表)指示将 kicker 保持解锁状态、但 SPRS689D (C6670的数据表)指示在每次访问后将其锁定。