реклама на сайте
подробности

 
 
> BLX бывает без регистра?, IAR6.50 Cortex-M3
jcxz
сообщение Jan 28 2014, 08:10
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Только что наступил на странный баг(?) IAR.
IAR начал генерить код, в котором стали встречаться инструкции типа: BLX <метка>, где метка - собсно метка (адрес), НЕ РЕГИСТР!!!
Справился с системой команд на ядро Cortex-M3 - там инструкция BLX упоминается только в формате с регистром, никаких других вариантов нет.
Да и вообще - причём тут косвенная адресация??? Вызов функции идёт из cpp-файла обычным образом (не косвенно, никаких указателей или виртуальных член-функций).
Позже обнаружил причину - эта функция определена в asm-файле и стоит после директивы DATA с данными и LTORG, а перед ней забыл указать THUMB.
Причём IAR нормально это съел, даже варнинга не выдал и сгенерил полную чушь.
Конечно при выполнеии этого BLX управление улетает в тартарары.
IAR6.50
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 19:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01346 секунд с 7
ELECTRONIX ©2004-2016