ivstech
Jul 3 2006, 07:36
Хочу сделать, чтобы вся программа работала в THUMB - режиме, отдельные процедуры на ассемблере выполнялись в ARM режиме. В Кейл'е это делается легко, стоит только приписать ?A, или ?T.
А как это делается в ИАРЕ?
Еще вопрос: как код на Ассемблере заставить загрузиться в RAM (средствами компилятора IAR), пробовал в *.h файле ставить __ramfunc, не помогает
1. "Processor mode" в настройках проекта.
2. Именно __ramfunc.
[quote name='ivstech' date='Jul 3 2006, 10:36' post='130292']
отдельные процедуры на ассемблере выполнялись в ARM режиме. В Кейл'е это делается легко, стоит только приписать ?A, или ?T.
А как это делается в ИАРЕ?
[/quote]
Если нашли __ramfunc, то найдите и __arm __thumb _interwork.
[/qoute]
Еще вопрос: как код на Ассемблере заставить загрузиться в RAM (средствами компилятора IAR), пробовал в *.h файле ставить __ramfunc, не помогает
[/quote]
А причем здесь *.h
Указать, что код нходится в CODE_I сегменте
ivstech
Jul 4 2006, 01:47
Спасибо за ответы. Речь шла об ассемблере. Оказалось, вся проблема была в способе выхода из процедуры. Если возврат происходит не командой BX, а, допустим ldmia sp!..., процессор не переключает THUMB/ARM режимы
Цитата(ivstech @ Jul 4 2006, 04:47)

Речь шла об ассемблере.
Ассемблер поминался только всвязи с размещением в RAM.
В заголовке темы поминался Компилятор.......
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.