CodeWarrior для программы MCF51QE128 Получение исключений "нарушение привилегий" при записи на флэш-память

У меня есть приложение, написанное на C (новое для меня) в CodeWarrior. Процессор MCF51QE128. Я знаком с языком ассемблера в старых (8-битных) процессорах MC6809. Проблемный код:

FSTAT=(byte)(0x30);
asm {
  move.l   D0,0x1f000;       // Dummy address writeVarA_Flash
}//End of asm
FCMD=(byte)(0x40);         // Sector Erase Command (4000 cycles 0f 5 microsec period = 20,000 microsec.
FSTAT=(byte)(0x80);        // Start the command

В файле.lcf я изменил права доступа как ПАМЯТЬ {код (RWX): ORIGIN = 0x00000410, LENGTH = 0x0001DBF0 userram (RWX): ORIGIN = 0x00800000, LENGTH = 0x00002000 userrom (RWX): ORIGIN = 00000000E

Код заставляет флаг "Нарушение защиты" появляться в регистре "FSTAT" (наблюдается в DeBug), и программа переходит в "землю лалы". Безопасность отключена. Считается ли раздел userrom защищенной областью флэш-памяти? Мне нужно хранить летучие целые числа во время перебоев в подаче электроэнергии. Что мне не хватает?

0 ответов

Другие вопросы по тегам