B6 ECUのチェックサム

2000年9月19日 ロードスターB6のチェックサムプログラム

次はロードスターのB6いきましょう。

ロードスターのROMデータ変更をする人も多いみたいですね。

GRIDからデータを買ったりする方が多いと思うのですが、
その場合もチェックサムは最初からはずれているので下の話は
へぇー、そういう処理もあるのね、程度に読んでください。

わたしのように、B6のCPU兼ROMからデータを吸い出してつかおう
としている方には必要な話です。

・ROMのチェックサムとは、

本来はROMデータがなにかのトラブルで破損した場合に、
中途半端に動くプログラムで、エンジンを破壊したり、
交通事故を起こしたりしないように、プログラム停止する
ための機構です。プログラムの書き換えに対するプロテクト
ではありません(笑)。

まぁ、最近のECUでは明らかにプロテクトがかけられている
場合も多いですが。特にハード的にプログラムが読み出し不可に
なってますね。また、もし読み出せても通常に入手できる
資料や逆アセンブラでは読むことができない、特殊命令セットに
組み替えたオリジナルCPUを使っているところもありますね。
トヨタですけど。

さて、B6のプログラムです。



プログラム自体は86 4AGのものと似ています。というかチェックサム
のプログラムは大体こんなもんです。86のと違うのは256byte単位で
レジスタかRAMにフラグを立てているところです。
ウォッチドッグかなにかがあるのかなぁ。

チェックサムは16進のdeadという値と比較しています(この例では)。
ちなみに余談ですけど、私が会社で関わっているOperating Systemでは
デバッグ用の領域には、16進でdeadbeefというデータの連続で書きつぶして
あります。日本語でいうと、死に牛でしょうか(笑)。16進でつかえる
A-Fの文字のなかで、おもしろそう?な単語をつくるとこうなるんですかねぇ?

このデータはデバッグの時に16進でメモリダンプをみるときに心休まります(嘘です)。


shmz@semimaru.com