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

 
 
> Проблема с IAR, ...
_artem_
сообщение May 26 2007, 23:03
Сообщение #1


учащийся
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249



При декларировании переменной как регистровой (пример внизу)

__regvar __no_init unsigned char test;

присвоение ей какого либо значения в функции main()

void main(void)
{
test = 3;
for(;;)
;
}

игнорируется компайлером. Для решения проблемы инициализации можно создать отдельную функцию вызываемую из main() где эта инициализация и совершается. В этом случае присвоение происходит без проблем.
использую две версии 4.20 и с 4.21. Везьде одно и то же .
Интересно пропустил ли я что то из виду ?


--------------------
Зачем лаять на караван , когда на него можно плюнуть?

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kv_addr
сообщение May 27 2007, 01:34
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 208
Регистрация: 6-07-04
Из: Полтава
Пользователь №: 279



Цитата(_artem_ @ May 27 2007, 02:03) *
При декларировании переменной как регистровой (пример внизу)

__regvar __no_init unsigned char test;

присвоение ей какого либо значения в функции main()

void main(void)
{
test = 3;
for(;;)
;
}

игнорируется компайлером. Для решения проблемы инициализации можно создать отдельную функцию вызываемую из main() где эта инициализация и совершается. В этом случае присвоение происходит без проблем.
использую две версии 4.20 и с 4.21. Везьде одно и то же .
Интересно пропустил ли я что то из виду ?

Если включена оптимизация, то IAR игнорирует все, что не используется реально. В даном случае хотя и присваивается переменной test значение, но переменная потом нигде не используется. Достаточно совершить какое-либо "полезное" действие, хотя бы отослать test в один из SFR, чтобы увидеть результат.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 09:35
Рейтинг@Mail.ru


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