Попробовал писать для 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"
Кто нибудь сталкивался ?
Может что-то не так делаю?
Искал на сайте у зеленых - не нашел ни патчей, ни еррат - Ну не верю что софт у них безглючный!