一、C6678用户手册中关于kick0/1的解释:

(翻译)
Bootcfg模块包含一个kicker机制,可防止任何虚假写入更改任何 Bootcfg MMR 值。 当kicker被锁定时(它最初是在上电复位后),没有任何 Bootcfg MMR 是可写的(它们只能是可读的)。该机制需要在踢锁机制解锁之前两次 MMR 写入到KICK0和KICK1寄存器,并提供准确的数据值。地址位置请参见表 3-2“设备状态控制寄存器”(第 68 页)。一旦释放,所有具有“写”权限的 Bootcfg MMR 都是可写的(只读 MMR 仍然是只读的)。第一个 KICK0 数据是0x83e70b13。第二个KICK1数据是0x95a4f1e0。
向这些kick MMR中的任何一个写入任何其他数据值将锁定 kicker 机制并阻止对Bootcfg MMR的任何写入。
二、对CSL_BootCfgUnlockKicker()函数的解释:
查找有关csl函数的解释有一个文档,路径为:
D:\zhuanyeruanjian\ccs\ti\pdk_C6678_1_0_0_18\packages\ti\csl\docs\doxygen\html
文档中关于CSL_BootCfgUnlockKicker()和CSL_BootCfglockKicker()的解释如下:


三、IPC中断和KICK的关系
在这里,我找到了三个类似的问题及解答
问题一:
问:
![]()

答:

问题二:

问题三:
综上所述,我觉得CSL_BootCfgUnlockKicker()和CSL_BootCfglockKicker()不一定非要配对使用,只有需要将KICK寄存器锁住的时候再加CSL_BootCfglockKicker()即可;
但是使用IPC时要先将KICK寄存器解锁,再进行利用。
本文档介绍了C6678处理器中Bootcfg模块的kicker机制,该机制通过KICK0和KICK1寄存器防止非法写入。在上电复位后,BootcfgMMR默认锁定,解锁需要两次特定数据的写入。CSL_BootCfgUnlockKicker()函数用于解锁,而CSL_BootCfglockKicker()用于锁定。使用IPC中断时,需先解锁KICK寄存器。讨论了CSL函数的使用情况,并指出两者不一定需要配对使用,除非需要锁定机制。
3895

被折叠的 条评论
为什么被折叠?



