ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
7 июля
222564 Топик полностью
Cepгeй Бopщ (17.11.2010 23:11 - 23:13, просмотров: 72) ответил dimasusl на В общем, на форуме NXP мне объяснили где загвоздка. Фактически я пытался вызвать функцию через ее указатель. Чтобы этот код, скомпиленный в gcc, заработал на кортексе, нужно добавить следующее:
Семен Семенович! Точно, Кортекс же Thumb-2 использует, а для B(L)X признак перехода на Thumb-код - единица в младшем разряде адреса. Промежуточный указатель лишний, из всего насветованного достаточно лишь указывать адрес функции в скрипте линкера с единичкой в младшем разряде. По второму вопросу - можно описать секцию и присвоить адрес конкретного места этой секции (ну и единичку добавить). Вот так экспортируются адреса конструкторов: .text : { ................ __ctors_start = . ; KEEP((.ctors)) KEEP((.init_array)) __ctors_end = . ;