Код
static InterruptHandler __attribute__((aligned(0x400))) isrTable[isrCount];
В map наблюдаем:
Код
*fill* 0x20002b34 0xcc 00
.bss._ZL8isrTable
0x20002c00 0x400 nvic.o
.bss._ZL8isrTable
0x20002c00 0x400 nvic.o
При этом поле *fill* может гулять от малых значений до цифры близкой к 0x400, в зависимости от ручной перетасовки кода. Когда цифра маленькая еще туда-сюда, но когда она подбирается к 0x400 - это ж почти килобайт оперативки в пустую!
Можно ли как-то заставить компилятор использовать область *fill* с пользой, причем только в данном месте?