Попробовал писать для MIPS на Green Hills MULTI v4.0.5 и наткнулся на такой прикол: Пишу процедуру прерывания по примеру из их документации: Процессор - IDT 79RC32355
__interrupt void foo(void);
int main(int argc, char *argv[]) { bla-bla-bla } #pragma intvect foo 0x80000200 __interrupt void foo() { bla-bla-bla } Компилируется, линкуется на ура. Не работает. Смотрю под отладчиком - в 0x80000200 лежит АДРЕС функции foo!!!! А должен быть либо переход на нее либо сама функция должна там расположиться.
Еще один прикол связан с генерацией ELF файла: В линкерном скрипте для секции ставлю атрибуты "NOLOAD" В ELF вижу - ВСЕ программные секции с атрибутом "LOAD"
Кто нибудь сталкивался ? Может что-то не так делаю? Искал на сайте у зеленых - не нашел ни патчей, ни еррат - Ну не верю что софт у них безглючный!
|