(日々の記録)デジタルオシロを買った。(火)ARM基板にJTAGからのファーム書き込み成功まっさらな付録基板にはJTAGから書き込めない(4/18/09)LPC2388付録基板にUSBソケット、JTAGソケット、ジャンパーピンをとりあえずハンダ付けして、いよいよ実験を開始した。OlimexのTINY-USB-JTAGケーブルのOpenOCDでの認識はDOS画面で認識を確認した。Eclipseに持ち込む。このデバッグコマンドのスクリプト入力が結構大変である。殆ど意味を理解しないまま、フラッシュ書き込みと、デバッグ開始のスクリプトを言われるままウェブ画面からコピーしたりして入力する。zusさんの解説サイトの指定どおり、OpenOCDをEclipseの中で立ち上げる。うむ、ちゃんと正しいメッセージが出ているようだ。次はフラッシュの書き込みである。ここで迷ったのが、CPUモードをISPモードにするジャンパーピン(JP2)の設定である。ファームをJTAGインターフェースからフラッシュに書くのだからISPモードではないと思うが、サイトには何の説明もない。リセットをいつするのかの指定もない。わからないときは何も考えずにやることだ。JP2をオープン(通常状態)にし、JP1(リセット)を押した後、フラッシュ書き込みをEclpseから指定した。出てきたメッセージはどうも、ウェブに出ている正常終了のメッセージではない。フラッシュを書き込んだというメッセージが出ない。出てきたメッセージを訳がわからないまま、一応追っていく。以下のところからおかしい。errorが起き、main.elfというターゲットのバイナリをロードできないと言っている。packetというのがわからないが恐らく消去コマンドの名前だろう。このあと連続するエラーメッセージは、プログラムが書けていないためによるものと思われる。不思議なことにJP2をショート(ISPモード)させてリセットしたあとのISPモードでも同じ結果がでる。なるとこの先どうしたら良いのかもうわからない。大量の情報を放り込まれて頭の中は完全に飽和状態である。他のサイトもあたってみるが、思わしい手がかりはない。解説サイトのインストールの手順をその通りやったか詳細に確かめてみるが、どこも間違っていない。完全に暗礁に乗り上げてしまった。やれやれ、こうなったら一つ一つ要素を確認していくしかない。JTAGインターフェースがOCDのもとで動いていることは別の環境(DOS)で確かめられている。仮想シリアルのUSBが動いていることは、PCがCOMポートを認識しているので間違いない。本体のCPUはどうか。雑誌の記事には別のライターでプログラムを書き込む手順が出ている。これでCPU周りを確認してみよう。FlashMagicという書き込みプログラムをサイトからダウンロードし、雑誌のサイトからテストプログラムのバイナリーを落としてシリアルで書き込むことにした。順調にファームウエアが書き込まれた。おお、LEDが点滅を始めた。CPU周りもOKなようだ。ここで何となく予感がひらめいた。このままもう一度Eclpseを立ち上げてJTAGを動かせばうまく行くのではないかという予感である。何の根拠もないが、昔こんなことがあったような記憶がある。やるだけやってみよう。JTAGケーブルをつなぐのももどかしく、Eclipseからフラッシュ書き込みを指示する。おや、出てくるメッセージが違うぞ。うまくいったかどうかはわからないが前とは別のメッセージだ。出てきたメッセージを見直す。いうファームが書き込まれたことを示す行を発見した。