JUGEMテーマ:組み込み開発
MSP430FR を共同開発していて、ある時暴走する不具合が発生。
0x10000 以降にある FRAM にある 設定情報に変数を入れるように代入。
SetupTable[0] = value;
(SetupTable のアドレスは 0x10000以降に配置されている)
すると アドレスにして 下位16ビットしか反映されない。
例えば 0x189A0 にマッピングされている変数に 代入すると 上位の0x1 がとれて 0x89A0のアドレスの値が変化してしまう。
プロセッサ型のマイコンであれば、全部 RAMに展開して動くので、そういうこともあるが、FRAMだと RAMと同じように書き込めてしまうので注意が必要だ。。