[an error occurred while processing this directive]
|
Имеется код загрузчика (исполняемого из адресов 0x0...0x800), в который завершается такой строчкой:
startf=(unsigned long (*)(void)) 0x20070000;
startf();
в дизассемблированном коде видно, что данная передача управления выполняется с помощью команды BX, которая у ARM-процессоров имеет ограничение на "дальность" перехода в 32 МБ, поэтому код, естественно, не работает.
Как заставить IAR выполнять этот переход с помощью команды LDR PC, ...
которая не имеет указанных ограничений?
Спасибо