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

 
 
> GCC препроцессор, Thumb/ARM, Как из исходника определить режим компиляции
Сергей Борщ
сообщение Dec 21 2007, 22:07
Сообщение #1


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Есть некоторая конструкция, которая должна компилиться по-разному в зависимости от того, компилится файл в ARM или THUMB режиме. Надо написать что-то вроде
Код
#if __CPU_MODE__ == 1  // THUMB mode
    *(--StackPointer) =   0x003F;           // SR value: system mode, FIQ & IRQ enabled, THUMB
#else
    *(--StackPointer) =   0x001F;           // SR value: system mode, FIQ & IRQ enabled, ARM
#endif

Понятно, что символ THUMB_MODE можно определить в командной строке gcc, но может быть существует какой-то стандартный символ, который определяет компилятор при запуске с ключем -mthumb? Или если его определять вручную в командной строке, то возможно существует какое-то общепринятое имя для этого символа? Поиск в гугле пока ничего не дал.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
axle
сообщение Dec 22 2007, 11:33
Сообщение #2


Частый гость
**

Группа: Новичок
Сообщений: 81
Регистрация: 19-04-07
Пользователь №: 27 167



Цитата(Сергей Борщ @ Dec 22 2007, 04:07) *
Понятно, что символ THUMB_MODE можно определить в командной строке gcc, но может быть существует какой-то стандартный символ, который определяет компилятор при запуске с ключем -mthumb? Или если его определять вручную в командной строке, то возможно существует какое-то общепринятое имя для этого символа? Поиск в гугле пока ничего не дал.

Можно использовать __THUMB.
Подробнее здесь:
http://h30097.www3.hp.com/demos/ossc/doc/c...bed/embARM.html
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th June 2025 - 18:16
Рейтинг@Mail.ru


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