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 защищенной областью флэш-памяти? Мне нужно хранить летучие целые числа во время перебоев в подаче электроэнергии. Что мне не хватает?