Part Number:TDA4VM
根据项目需求,我们要在代码中增加临界区保护机制,查询sys/bios user‘s guide文档后,我们确定采用进入临界区时调用Hwip_disable()关闭中断,出临界区时使用Hwip_restore()开启中断的方式实现临界区保护,具体的实现方式如下列代码所示。
uintptr_t gatekey;
gatekey = HwiP_disable();
/*critical section code*/
HwiP_restore(gatekey);
但是在验证过程中,我们发现调用Hwip_disable()函数后,中断仍然可以运行,没有被禁止。
另外,我们使用关闭特定中断的函数HwiP_disableInterrupt(int32_t interruptNum)去关闭指定的中断是可以的。
想问下TI工程师和各位大神,能否确定HwiP_disable()函数不起作用的原因和对应的解决方法,谢谢!
Shine:
看到您也在e2e论坛上咨询了,目前TDA产品主要通过e2e支持,工程师需要您回复一些问题。What SDK are you using? TI SYS/BIOS is no longer supported with the latest TDA4VM SDKshttps://e2e.ti.com/support/processors-group/processors/f/processors-forum/1318024/tda4vm-the-hwip_disable-function-does-not-work