Я создал небольшой модуль на ассемблере для ARM, чтобы связать его с моим встроенным приложением из чистого металла. Иногда, когда я перестраиваю приложение, я получаю «Ошибка [Lp002]: перемещение не выполнено: значение вне диапазона или недопустимое». Еще более удивительным является то, что я получаю сообщение об ошибке после комментирования некоторого кода в модуле C.
В руководстве IAR неясно, «переупорядочен ли раздел или код». Но, глядя на файлы ассемблера, сгенерированные компилятором из моих файлов .c, я не вижу разницы между объявлением их раздела и моим. Я фактически начал свой код с того, что заглушил его в C, а затем взял собранный файл.