1

CodeWarrior で C (私にとっては初めて) で記述されたアプリケーションがあります。プロセッサは MCF51QE128 です。私は古い MC6809 (8 ビット) プロセッサのアセンブリ言語に精通しています。面倒なコードは次のとおりです。

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 ファイルで、許可を MEMORY { code (RWX) : ORIGIN = 0x00000410, LENGTH = 0x0001DBF0 userram (RWX) : ORIGIN = 0x00800000, LENGTH = 0x00002000 userrom (RWX) : ORIGIN = 0x0001E000, LENGTH = 0x020 } に変更しました。

このコードにより、「保護違反」フラグが「FSTAT」レジスター (DeBug で観察) に表示され、プログラムは lala land に入ります。セキュリティがオフになっています。userrom セクションは引き続きフラッシュの「保護」領域と見なされますか? 停電時に揮発性の整数を保存する必要があります。私は何が欠けていますか?

4

0 に答える 0