ситуация следующая, в icf прописываю блок
define block _BOOT_ with alignment = 8, size = 0x1000 { };
потом размещаю его в 0x70000
place at address mem: 0x70000 { readonly section _BOOT_ };
потом обьявляю его (непонятно зачем но без этого не канает)
place in ROM_region { readonly, block _BOOT_ };
в теле программы пишу такое
void Blink(void);
int main()
{IO0DIR=(1<<22);
while(1)
{Blink();
}
}
void Blink(void) @ "_BOOT_"
{
if (IO0PIN&(1<<22)) IO0CLR|=(1<<22); else IO0SET|=(1<<22);
}
и в дебагере оно всё, и Blink и Main размещает начиная с 0x70000. Закаким хером, я же указал только для одной функции адрес?