Работаю с 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]);
то все нормально пишется в флэш.
Встречался кто-нибудь с такой херней? Как с ней бороться?
|