PIC32MX で FreeRTOS を使用する前は、次のような ISR を使用するだけで割り込みを処理できました。
void __ISR(_INTERRUPT_1_VECTOR, ipl7auto) {
// Handle interrupt here
}
しかし、FreeRTOS を紹介して以来、インストラクターはアセンブリ ラッパーを使用して割り込みを処理するように指示してきました。属性を使用して、割り込みベクトルを割り込みを処理する関数にバインドし、アセンブリを使用してコンテキストを保存しますが、次のようなものではありません。
void __attribute__((interrupt(ipl5), vector (_EXTERNAL_2_VECTOR))) vEXT2InterruptWrapper (void);
FreeRTOS でこれを行う必要があるのはなぜですか?