超ローコストPICWRITERの製作
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
「PICBASICコンパイラ」からスピンオフ!!
過去記事を参照することなどを考えて該当する過去記事は「PICBASICコンパイラ」のまま連載回もそのままとします。
以後は前回記事からの流れで[第236回]からとします。
「PICBASICコンパイラ」はなるべく早く連載を再開したいと考えています。
PICはローコスト、高機能で種類も豊富なお手軽マイコンですがプログラムを書き込むためのWRITERが必要です。
それをできるだけ安価に作ってしまおうというプロジェクトです。
最終的には製品化を考えています(組立キット、完成品)。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第287回]
●PIC16F54(5)リバースエンジニアリング
PIC16F54は多分最も初期のPICだと思います。
近年の新しいPICは機能も盛り沢山ですけれど書き込みプログラムもどんどん複雑になってきていてとても簡単には料理できそうにないものが増えてきています。
そういうPICにてこずるというのなら仕方がないとも言えるのですが、PIC16F54なんてシンプルなPICの書き込みができないなんて自分でもちょっと信じられない思いでした。
そういう思いもあってなかなか諦めきれずになんとたっぷり10日間も泥沼でもがいてしまうという情けないといいますか実に我ながらみっともない状況が続いてしまいました。
実際[第283回]に書きましたようにこれ以上泥沼に足を取られていては深みにはまるばかりということでPIC16F54についてはもう諦めてしまうつもりでした。
ええ。
残念ですけれど。
名誉ある撤退であります(どこがやねん)。
んでも。
やっぱり諦めきれないのでありますね。
まるで少年のようにジジイの胸が痛むのであります。
自尊心が傷つくのでありますよ。
それで。
一旦は投げてしまうつもりだったのに振り返ってみましたら未練がましくずるずると10日間も出口の無い泥沼をさまようことになってしまいました。
が。
何回も書いておりますように。
やっぱり投げたらあかん。
のでありました。
とうとうあの感動の瞬間がやっと訪れたのであります。
「わかったぞ!そういうことだったんだ!」
何回も何回も繰り返しドキュメントを読んだのにどうしても理解できなかったのでしたが。
それがわかってみたらなんてこともない当たり前のことだったのでした。
どーしてこれがわからなかったのか!
というような次第で今はちょっと久し振りに気分が高揚しております。
わかってしまえばどうということもない話なのでそこのところを手短にまとめてしまえばよいのですけれど。
苦しみもがいた過程でひょっとしたら今後に役立つかもしれない解析のためのツールといいますかちょいとしたプログラムも作ってしまいましたので、まずはそのあたりについてざっと書いておくことにいたします。
とにかく。
あがけばあがくだけおかしくなってきてWRITEもERASEもさっぱりだめという状況が何日も続いて全く進展がありません。
ところが秋月のPICプログラマでは全く問題なくWRITEもERASEもできてしまいます。
当然のことながら。
一体秋月のPICプログラマ様はどうやっているのだろう。
そこのところが是非知りたい。
秋月のPICプログラマの解析については[第219回]あたりに書いております。
そこで今回も同じことをやってみることにしました。
駄目なときには何でもとにかくやってみることです。
下手な鉄砲も数撃ちゃ当たる。
うーん。ちょっと違うか。
犬も歩けば棒に当たる。
これも違うかなあ。
とにかく。
やってみましたらこんな調子になりました。
ずらっと同じ並びのビット列が続いています。
このビット列には心当たりがあります。
これってひょっとして。
Increment Address Commandでは?
[出典]Microchip Technology Inc. PIC16F5X Memory Programming Specification
[出典]Microchip Technology Inc. PIC16F5X Memory Programming Specification
でも。
どうしてのっけからIncrement Address Commandばっかりが続くのさ。
そこが謎です。
ずっと同じビット列が続いた後やっと別のビット列が現れました。
それともただのゴミか?
んなわけはないでしょう。
しかし。
これを[第220回]のように鉛筆舐め舐めローテク手段で解析するのはいかにもしんどい。
わたしゃプロのソフトウェアエンジニアなのだ。
ここはやっぱりウデの見せどころではないか?
もう乗りかかったフネであります。
やってしまいましたよ。
この通り。
ずらりと[inc]ばっかりが続いています。
数えるのも面倒なので出現したコマンドに順に番号をつけました。
なんと400近くも[inc]が続いた後にやっと[erase]が現れました。
erase?
それって最初にやるんじゃないの?
どーしてこんなに矢鱈[inc]ばっかりが続くのぉ?
解析を試みたものの逆に混迷は深まるばかりでありました。
超ローコストPICWRITERの製作[第287回]
2025.5.23 upload
前へ
次へ
ホームページトップへ戻る