从中断处理程序调用_disable_interrupts()和_enable_interrupts()时是否会出现问题?
我是通过 IRQ 处理程序在矢量中断模式下使用 VIM 来执行此操作的。 处理器似乎返回到无效地址。 当代码发生变化时、此返回地址会发生变化、但在重新运行相同的代码时、返回地址看起来是确定的。 当我使用调试器查看时、我会在 IRQ 模式分组 LR 寄存器中看到无效地址。 通常这会导致系统接收 UNDEF 异常处理程序。
我认为这是一个硬件问题、但作为参考、我将 CCS 9.2.0与 TI ARM 编译器18.12.3.LTS 搭配使用。