パラレルバスのFlashはこうやって書き換える
古いマイコンでパラレルバスのFlash ROMを外付けしてるんだけど、
どうやって書き込むんだろうなぁとおぼろげには思ってたが、
フラッシュ書き込み用のプログラムの改造が必要になったので、
書き込み用のプログラムのソースコードを入手して中身を見てみた。
操作内容を見てみると、Flash ROMに対してマジックワードを書き込みしているように見える。
これは一体何なんだ? と思って、Flash ROMのデータシートを見てみた。
すると、ソースコードに書いてある通りの操作手順が書いてあった。
ソフテックだより/マイコンによるNOR型フラッシュメモリ制御 (ソフテック)
JEDEC標準型コマンドという方式に従っているようだ。
アドレスを変えながらマジックワードを書き込む操作を数回繰り返すとイレースとかライトとかの操作ができると。
偶然、マジックワードを書き込む操作をしてしまったら、Flash ROMが消えたり書き換わったりするのでは?
と思ったけど、Flash ROMにライトアクセスをすること自体が異常な操作だもんな。
間違えてライトアクセスをしたとしても、アドレスを変えながらマジックワードを書き込まないと何も起きないからね。
やってること自体は簡単そうだが、意図的にやらないと起きないことは間違いないようだ。
マイコンの内蔵Flashだと、専用のレジスタをあれこれ操作して書き換え操作をやるものだけど、
外部に接続されたFlash ROMの場合、マイコンの機能は関係なくて、Flash ROM自体の機能で書き換えるというのは、
言われて見れば当たり前のことだけど、操作感があまりに違うものだから、
「えっ、こんな操作で書き換えられちゃうの!?」と初見では思ったよね。
冷静に考えれば全く問題なかったですね。
特定のアドレスにマジックワードを書き込んで書き換えをするのは、マイコン内蔵のFlashでも同じことだし。
そのアドレス空間がROM空間か、ペリフェラルレジスタかという違いでしかない。
Author : Hidemaro
Date : 2019/07/17(Wed) 23:16
コンピュータ・インターネット | Comment | trackback (0)