Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: IAR - ошибка writing new keyes is not allowed
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
diablerrro
Работаю с IAR под ARM128. Проект линкуется нормально, а при попытки записать flash выдает сообщение "writing new keyes is not allowed" и дальше писать в флэш отказывается.

Происходит это если я добавляю некий код в обработчик прерывания. Так скажем есть такой код:

case CIM_TAP:
ADISR1 = 0x00FF;
while (!(ADSR & GP1_END))
;

adcSensors[0] = iirFilter(ADDR0, &memSensors[0]);
adcSensors[1] = iirFilter(ADDR1, &memSensors[1]);
adcSensors[2] = iirFilter(ADDR2, &memSensors[2]);
adcSensors[3] = iirFilter(ADDR3, &memSensors[3]);
adcSensors[4] = iirFilter(ADDR4, &memSensors[4]);
adcSensors[5] = iirFilter(ADDR5, &memSensors[5]);
adcSensors[6] = iirFilter(ADDR6, &memSensors[6]);
adcSensors[7] = iirFilter(ADDR7, &memSensors[7]);
break;

при таком раскладе выводится то сообщение о котором сказано выше, а если убрать несколько строчек кода, скажем оставить только одну строчку вместо 8-и:

adcSensors[0] = iirFilter(ADDR0, &memSensors[0]);

то все нормально пишется в флэш.

Встречался кто-нибудь с такой херней? Как с ней бороться?
IV_K
встречался на tms470.. я оптимизацию включил, херня исчезла.. причину так и не узнал =( похоже, обработчики прерываний должны помещаться ТОЛЬКО в 1-й сектор флеши, но это только предположения..
diablerrro
Помогло. Спасибо.

Кстате эта хрень появлялась не только если я обработчики раздувал, но и когда я что-то в основном теле программы добовлял.

Такое впечатдение, судя по ошибке, что была попытка перезаписать регистры отвечающие за залочивание флэшки. Почему оптимизация помогла так и осталось вопросом. Блин, понаделали херни сцуки, а потом разбирайся...
IV_K
когда разбирался с исходниками загрузчика - выяснил, что эта ошибка возникает при попытке записи флеш кейз, если не поставлен флаг разрешения их записи.. но интересно.. КАК иар вобще пытается записать по этим адресам, если в xcl на ключах объявлена дырка.. имхо - глюки иара.. у вас проц какой? у меня tms470r1b1m и tms470r1a384 - у каждого проца блин свои тараканы.. загрузчик для 384 без исправления его исходников ВОБЩЕ не работает =))
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.