CSL_BootCfgUnlockKicker()问题总结与整理
作者:互联网
一、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寄存器解锁,再进行利用。
标签:总结,CSL,Bootcfg,BootCfgUnlockKicker,写入,MMR,寄存器 来源: https://blog.csdn.net/weixin_43413253/article/details/120668375