macです。
"jinnai さん" <jinnai@xxxxxxxxxx> wrote:
> 大変勉強になりました。
喜んでいただき私もうれしいです。
実際、前に私がやった例なのです。
そのときのことを思い出したところ、
もう一点重要な、アドバイスを忘れていました。
この特殊 RAM に書き込むため、普通、同じシーケンス
を何回も書くのは、コード効率も悪いし、保守性も低下
するので、サブルーチン化すると思います。
bool WriteProtectRam(int address, void *buf, int len);
の様にですね。
ノイズシミュレータで、しつこくノイズを掛け捲ると、
極まれに、運悪くこの関数のエントリに、
PC がセットされるらしく、
保護しているはずのデーターが壊れることがありました。
そこで、
bool
WriteProtectRam(int address. void *buf, int len, long passwd)
{
if (passwd != 0xadabcadaL) {
return (false);
}
と、おまじないを掛けたら、
暴走はたまにするものの、データーが壊れることは、
観測できなくなりました。
おまじないも、たまには効くようです。
-- mac