1、问题描述及定位
集成davinci工程时,如果调试发现OS ErrorHook() callout报E_OS_DISABLEDINT的错误,可以排查下图几个选项
在davinci configurator中的具体位置如下图
应保证上述四个模块的exclusive area没有使用Global Interrupt Lock。
2、解决方法
2.1 不要使用OS Timer
如下图,两个配置项不要勾选
2.2 不要使用Lock Global Interrupts
如下图,不要选择ALL_INTERRUPT_BLOCKING,可以选择CUSTOM,然后集成者使用CAN中断函数,自己实现EXCLUSIVE AREA定义。
其中,有几路CAN controller就调用几路CAN中断Enable/Disable函数。