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-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はまだでしょうか‥‥?)

Go to top of page