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

 
 
> IAR и scmRTOS
sz36
сообщение Jul 12 2006, 17:22
Сообщение #1


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

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vet
сообщение Jul 13 2006, 13:28
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



Вообще-то, у меги128 есть RAMPZ.


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
sz36
сообщение Jul 13 2006, 16:59
Сообщение #3


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

Группа: Свой
Сообщений: 91
Регистрация: 26-01-06
Пользователь №: 13 668



Цитата(vet @ Jul 13 2006, 17:28) *
Вообще-то, у меги128 есть RAMPZ.

И точно! :-) Я все перепутал. __HAS_RAMPZ__ в сишных модулях определен правильно, а вот в ассемблерном не определен HAS_RAMPZ, поэтому и контекст некорректно восстанавливается. Места, где он определяется, мне найти не удалось.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jul 14 2006, 08:16
Сообщение #4


Шаман
******

Группа: Модераторы
Сообщений: 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
Go to the top of the page
 
+Quote Post
sz36
сообщение Jul 15 2006, 17:19
Сообщение #5


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

Группа: Свой
Сообщений: 91
Регистрация: 26-01-06
Пользователь №: 13 668



[[/quote]
Определите __HAS_RAMPZ__ (без #define, только одно определение на строку) здесь:
Project\Options\Assembler\Preprocessor\Defined symbols
[/quote]

Да где определить я знаю, уже определил. Ммне непонятно, как оно определяется в авторской сборке? Оно же из командной строки, и следов такого дефайна я не нашел.
Go to the top of the page
 
+Quote Post



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

 


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


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