器件型号: AM2432
你(们)好
我们最近在使用 EtherCAT 产品时遇到了一些问题。 当意识到它们可能是由某些变量的竞态条件引起时,我们测试了中断是否在保护的关键部分中被真正禁用bsp_global_mutex_lock。
我们在中保护了一个部分sync0taskEcatisr、使其不会被触发、但发现它未被阻止。

浏览代码后、我发现中断号如下:
在内部bsp_global_mutex_lock、中断号缺少 20 减法:

当 I 从中断号中减去 20 时、中断确实被阻止。
期待您的想法、
Sahar