ISRスタックサイズは、ポートのスタートアップコードによって設定されます。 FIQとIRQの2つのISRがあり、それぞれに独自のスタックがあります。ここで
私は結果に従う、そのスタック構成にARM9 FreeRTOSデモを検索しました:
FreeRTOS/Demo/ARM9_STR91X_IAR$ grep -sri "FIQ_STACK"
91x_init.s: SECTION FIQ_STACK:DATA:NOROOT(3)
91x_init.s: LDR SP, =SFE(FIQ_STACK)
STR91x_FLASH.icf:define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { };
STR91x_FLASH.icf: block CSTACK, block SVC_STACK, block IRQ_STACK, block FIQ_STACK,
91x_init_IAR.s:FIQ_Stack DEFINE USR_Stack-8 ; followed by FIQ stack
91x_init_IAR.s:ABT_Stack DEFINE FIQ_Stack-8 ; followed by ABT stack
91x_init_IAR.s: LDR SP, =FIQ_Stack
FreeRTOS/Demo/ARM9_STR91X_IAR$ grep -sri __ICFEDIT_size_fiqstack__
STR91x_FLASH.icf:define symbol __ICFEDIT_size_fiqstack__ = 0x10;
STR91x_FLASH.icf:define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { };
サイズがSTR91x_FLASH.icfファイル、または91x_init_IAR.sで定義されているスタックことを意味し、 ARM9_STR91X_IARデモで、ビルドに使用したコンパイラ/スタートアップに応じてください。