|
IAR и scmRTOS |
|
|
|
Jul 12 2006, 17:22
|
Частый гость
 
Группа: Свой
Сообщений: 91
Регистрация: 26-01-06
Пользователь №: 13 668

|
Hi, All! Осваиваю scmRTOS под AVR (http://scmrtos.narod.ru). Первые впечатления положительные, но столкнулся с такой проблемой. Если установлен любой уровень оптимизации, кроме максимального, IDE компилит с ключом --no_inline, и, соответственно на объяления inline и соответствующую прагму кладет. А при такой компиляции scmRTOS не работает (а сколько сил ушло, пока я с этим разобрался! :-), некорректно переключает контекст. При компиляции с максимальной оптимизацией scmRTOS работает, но в таком режиме совершенно невозможно пользоваться отладчиком - многих переменных не видно, программа прыгает черти куда (у меня JTAG ICE MKII). Как заставить IARовскую IDE компилировать с включенными инлайнами и без оптимизации? Прагма inline=force не помогает. IAR AVR 4.11A
|
|
|
|
|
 |
Ответов
|
Jul 13 2006, 16:59
|
Частый гость
 
Группа: Свой
Сообщений: 91
Регистрация: 26-01-06
Пользователь №: 13 668

|
Цитата(vet @ Jul 13 2006, 17:28)  Вообще-то, у меги128 есть RAMPZ. И точно! :-) Я все перепутал. __HAS_RAMPZ__ в сишных модулях определен правильно, а вот в ассемблерном не определен HAS_RAMPZ, поэтому и контекст некорректно восстанавливается. Места, где он определяется, мне найти не удалось.
|
|
|
|
|
Jul 14 2006, 08:16
|

Шаман
     
Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221

|
Цитата(sz36 @ Jul 13 2006, 19:59)  Цитата(vet @ Jul 13 2006, 17:28)  Вообще-то, у меги128 есть RAMPZ.
И точно! :-) Я все перепутал. __HAS_RAMPZ__ в сишных модулях определен правильно, а вот в ассемблерном не определен HAS_RAMPZ, поэтому и контекст некорректно восстанавливается. Места, где он определяется, мне найти не удалось. Определите __HAS_RAMPZ__ (без #define, только одно определение на строку) здесь: Project\Options\Assembler\Preprocessor\Defined symbols
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|