トラ技2014年3月号のトラ技ARMライタの記事の第2章『トラ技ARMライタで作るプログラムの間違い発見器「デバッガ」』を見ながらMac OS X上でデバッガとして使ってみた。
1.firmware.bin
の書き換えを行ってUSBを再接続。
2.LPC810でLEDチカチカの回路を組んだ。
3.電源電圧を確認(3.3Vでした)。
4.LPCXpressoでサンプルプロジェクトから3つをインポート。
5.ターゲットをLPC810に変更。
6.Build all projects [Debug]を実行。
7.Debug ‘Blinky’ [Debug]を実行。
最初は7.でConnect to emulator: NXP LPC8xx
のダイアログが出たけど、Toragi-LPC Writer CMSIS-DAP
が表示されず、空欄になっていた。
どうも、トラ技ARMライタが認識されていないもよう。
いろいろ調べると、どうもMacで1.のfirmware.bin
を書き換える時にうまく書き換えられないことがあるらしい。
ターミナルのcp
コマンド(オプション -X
付き)で書き換える。(nxpfanさんのFacebookのノートに詳細があります。)
書き換えがうまくいくとトラ技ARMライタをUSBに再接続した時にドライブとしてマウントされないし、LEDがいろいろ点滅する。
LPCXpressoを再起動して再度7.を実行。
すると、Connect to emulator: NXP LPC8xx
のダイアログが出て、トラ技ARMライタが無事に認識されたようで表示された。
しかし、今度は別のエラーで2つダイアログが出た。
1つは「Target reported errors」で、もう1つは「Error in final launch sequence」。
最初のエラーのせいで次のエラーが出ているらしい。
最初のエラーのReason部分に「15: Target error from Commit Flash write」とあって、Help on this error…ボタンをクリックするとこのページが表示された。
「電源の電流が足りない」とか、何で?
もしかして、これが原因?と記事の先のソースコードの修正もやってみたけど変化なし。
再度、トラ技の記事を読み返してみると、「プロジェクトを開く度にターゲットをLPC810に変更する必要がある」という記述を見つけた。エラーが出て何回かLPCXpressoを再起動しているので、ターゲットの設定が元に戻ったらしい。
ターゲットをLPC810に設定し直して7.を実行するとうまく動いてmain.c
の48行目のSystemCoreClockUpdate();
で止まった。
Resumeを押して実行させて動画を撮った。
動かした時の動画。