LPC800シリーズを使ってみる3 -LPC810のことはもう忘れた-



…これが1EURの時代ですか…時代は変わったものですね…!

というわけで私もLPC812-MAXをゲッツしました。ちょっと時間がかかった理由はというと、
値段がキャンペーン価格(1EUR)だったおかげで税関で怪しまれて止められたという
ものだったりしますがこういうケースに遭遇したのははじめてでした。

以前購入していたLPC812XPressoにI2CなAD/DAとI/Oエキスパンダが加わり、基板の
レイアウトもArduinoのシールドが載るようになっていま…

…コネクタがちょっとずれてる…まぁこれは見なかったことにして!



この基板はXpresso系とは違い、mbedとして利用が可能なLPC11u35がmbedチップとして
載っていてさらにこれはCMSIS-DAPとしても働きKeilのuVisionからデバッグも可能と
なっていま…

おや…PCF8591Tの足に変なものが…

…ハンダボール発見!…おいおい

価格は1EUR(送料込)なので細かい部分に文句たらさずミシン針でピシっと弾いて対処
完了です。これにて一件落着!…したら今日のぶろぐ終わっちゃうのでまだ続けます…


●とりあえずVersaloon


私の定番のOpenOCDとの連携です。この時注意すべきはSWDの2つの信号がmbedチップと
干渉するのでMSCブートローダーモードにしてmbedチップ側のSWDを殺しておく必要が
あります(CMSIS-DAPのファームウエア側でトライステートにしてくれたら手間省ける
のですが…)。


も一つ注意すべきは回路図をよく見れば気づくはずですが12MHzのXTALが繋がっておらず
mbedチップ側からクロックが供給されているのでスタートアップの定義を内部CR発振に
するなり半田でつなぎかえる等の変更は必要です。LPC812に関しては内部の12MHz発振
からPLLで24MHzにするのが最も潰しが効くかと思います。

そんなわけでおきぱにあるLPC812のサンプルは既にLPC812-MAXにも対応済です。
まだLEDとsystickだけですが順次拡張予定です。

●MBED CMSIS-DAPを試す
話が前後しますがLPC812-MAXをPCと接続するとマスストレージ(MSC)が認識されます。
そこからさらにmbedのドライバをインストールするとUSBコンポジットデバイスが認識され、
続いてUSB-CDCの"MBED VCOM"とUSB-HIDの"MBED CMSIS-DAP"が認識されてmbed
の仮想COMとMSC,そしてCMSIS-DAPが使用できるようになります。なお、当ぶろぐにおいて
はマトモに商用のIDEからCMSIS-DAPを使うはずもなくいつものOpenOCDから使用する
ことになります。

以前KL25Zを使用した時にCMSIS-DAPをお試ししてましたがその時はほとんど使い物に
ならない代物でした。しかしgerritに上げられた後は修正がどんどん入り現在ほぼ完成
状態になりました。もちろんデバッグ可能なコードサイズの制限は一切ありません!
さらにSTLink系のHLAアダプターでは不可能なローレベルアクセスも可能です!Kinetis
系のチップ使ってやらかした時
も大丈夫!細かい部分は後日OpenOCDの記事にて解説
しますが今はとりあえず使用してみましょう。

フラッシュ書き込み

デバッグ

初期と比べるとかなりいい感じです。
さらっと使用した感じではUSBのパケットを有効利用していないのか書き込みが極端に遅く
感じます。CoFlashではちゃんと早く書き込めているのでここら辺はさらに改善の余地が
あるでしょう。ここをクリアできたらゴールかしら…。

私のおきぱのOpenOCDはまだCMSIS-DAP対応ではありませんが、OpenOCDのコミットに
マージされたら即座にSWD版Versaloonのコードと一体化させて反映させるつもりです。


●おまけ
KL25ZもMBED版CMSIS-DAP化して書き込んでみました。
PE-MICRO提供のCMSIS-DAPとMBED版CMSIS-DAPは少し仕様が違うのでご注意を。仮想
COMが使えるMBED版をお勧めします。

書き込んだときはこんな感じです

当たり前ですが上記のCMSIS-DAP化したLPC-Link2でも使用可能です♥

HighSpeedなのでちょっと書き込み速度が上がります♥
(ところでLPC-Link2用のMBED版CMSIS-DAPはまだでしょうか‥‥?)

Comments

Post a Comment








Go to top of page