割り込みハンドラとC ++を備えたKeil ARMコンパイラのバグ?
LPC1114用のKeil ARMコンパイラでの割り込みハンドラの記述に問題があります。C ++でプログラムを作成して--cppコンパイラオプションを指定すると、割り込みハンドラーからのすべてのコードが消え、無限ループに置き換えられます。私は自分の悩みを説明する簡単なプログラムを書きました。 #include "LPC11xx.h" // LPC11xx definitions #define SYSTICK_DELAY 120000 // for 10 ms systick @ 12MHz osc void SysTick_Handler(void) { __NOP(); } int main (void) { SystemInit(); // from system_LPC11xx.c SysTick_Config(SYSTICK_DELAY); // from core_cm0.h // Loop forever while (1) __NOP(); } --cppコンパイラオプションを使用してこのコードをコンパイルしようとすると、disasmで無限ループが発生します。 SysTick_Handler PROC EXPORT SysTick_Handler [WEAK] B …