標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第515回]

●PIC18F14K50用HIDブートローダのソースを読んだのですけれど…

前回は、ダウンロードさせていただいたPIC18F14K50用HIDブートローダのHEXファイルをPIC18F14K50に書き込んで動作させてみたところ、ちゃんとHIDデバイスとして認識されました、というところまでお話ししました。
なにごとにつけても、道に迷って困ったときは、その道の先達に教えを乞うというのがなによりの上策であります。

そこで。
ダウンロードさせていただいたフォルダにはソースプログラムもありましたので、いったいどこがどのように私のプログラムと違っているのかをお教えいただくために、ソースプログラムを読み始めたのでありますが…。

あかん。
わかりませぬ。

ソースプログラムならわかるだろう、とお思いの方も多々いらっしゃるかとは存じますが、なかなかそういうものではありませぬ。
プログラムというものは、それを書いた人の考え方が色濃く反映されるものでありまして、ことに私などのように、単細胞な者にとりましては、プログラムがメインやらヘッダーやらに多数分割されておりますと、もうだめ。お手上げになってしまいます。
なにしろ、同時にはひとつのことだけしか考えられませんから、メインを解析していて、いきなりヘッダーで定義されている未知の変数とか関数に出くわしてしまいますと、思考がそこでストップしてしまいます。

うむむ。
この変数はどこで定義されているのだろう?
ということでヘッダーを探る旅にでかけてしまいます。
やっと旅先でその正体をつかんでもとのメインに戻ってまいりますと、
あれ。どこまで進んでいたんだっけ?

で、また最初から失われた記憶をたぐりながら、切れた糸をつむぐ作業を繰り返すことになってしまいます。
一所懸命努力してはみたのですけれどねえ。

あきらめました。
さっぱり頭に入ってきてくれないものですから…。

こうなったら、HEXファイルを逆アセンブルするしかないか。

おいおい。
ソースが理解できないのに、逆アセンブルしたコードなら読めるってか?

ええ。まあ。
人には、得手、不得手、というものがありまして、どちらかと言いますと、私の場合は、人様がお書きになったソースプログラムよりは、マシンのレベルに落ちた無機質なコードを読み解く方が性分に合っているらしいのですねえ。

むむ。
PICの逆アセンブラを作るか?

いや。ここでまた、そんなことに首をつっこんでしまいますと、ただでさえ道草に道草を重ねていますのに、もう本道に戻れなくなってしまいます。
となれば。
ネットで捜すしかない、ということになります。

●PIC18 Disassembler

ネットを探りますと、フリーのものもあるようなのですが、どうも、これ(Pic18 Disassembler 0.4.0.647)が一番秀逸なようです。



PIC18 Disassemblerはフリーではありません。
有償ソフトウェアです。
が、有難いことに、評価用に「5 days trial版」がダウンロードできます。
5日間しか使えませんが(と書いてあります)、こちらは無償です。
もちろん。さっそくダウンロードさせていただきました。

ちょいとクセがあって、実際にDisassembleできるまでに、少しとまどったのですけれど、ものは試しということで、前回お世話になりましたPIC18F14K50用HIDbootloaderのHEXファイルをロードしてDisassembleしてみましたら。

おお。
すごい。
しっかりと、Disassembleできたじゃありませんか!



あ。じつはこれ。
trial版ではありません。
気に入ってしまいましたので、Full versionを買ってしまいました。
そのお話は次回にまた詳しく。

でも、trial版でも、できることは同じです。
ただ、trial版では、結果のリストをSAVEすることはできません。
2010.6.4upload

前へ
次へ
ホームページトップへ戻る