Группа: Участник
Сообщений: 169
Регистрация: 31-08-05
Из: New York
Пользователь №: 8 118
Здравствуйте. У меня IAR5.11, процессор STR912. Хочу, чтобы переменная в ОЗУ сохраняла значение после сброса. Объявляю переменную:
__no_init int foo;
В начале функции main вывожу ее значение;
printf(" foo = %x", foo);
В одной из функций:
foo = 0x55; printf(" And now foo = %x", foo);
и делаю сброс через WDT. В начале foo = 0; После присвоения перед сбросом foo = 0x55. Я читал, что начиная с 5 версии создание специальных секций noinit не тербуется, а достаточно задать аттрибут __no_init. Что делаю неправильно? Спасибо.
Группа: Участник
Сообщений: 169
Регистрация: 31-08-05
Из: New York
Пользователь №: 8 118
Цитата(rezident @ Jan 3 2011, 02:26)
Вы небось в симуляторе проверяете?
Вовсе нет. Проверяю "вживую". Причем, если делаю сброс JTAG-ом в режиме отладки- все получается как надо, а если реально - с помощью WDT, то переменная обнуляется.