OpenOCD小ネタ14 -LPC1500シリーズの書き込み対応-

●LPc1500シリーズのフラッシュ書き込みに対応
長らく肥やしにされておりましたが先週あたりにようやくコミットされました

LPC1500シリーズはIAPのアドレスがLPC1000やLPC800シリーズとは
別の場所にありますが、単純にLPC1500用のアドレスを追加するだけで
OKでした。上のリンクのやり取りの通り、LPC1500はCortex-M3
シリーズであり常にthumbモードなのでアドレスを奇数に設定してやる
必要があります。ユーザーマニュアルは微妙に取り違えやすい表現に
なっていて最初ちょっと混乱しましたが今はOpenOCD以外にも
オープンソースなプログラムがあるのでそちらも参考にさせて
もらっています。

LPCLink2ConfigurationTool もパワーアップ!


さて、書き込む対象はLPCXPressoV2が仕込まれたLPC1549XPressoです。
購入当初デバッガ側に書き込まれていたCMSIS-DAPのファームはFL1100の
USB3.0ホストコントローラから認識せず(F**K!)仕方なくmbed版のCMSIS-DAP
を使用しました…
しかしVCP/MSDと折半になるのでただでさえ遅い速度が更に遅くなりしかも
書き込み後もターゲットのLPC1549をつかんだままになるので完了せず
エラーになるというちょっと不便な代物でした。

しかし今年11月になってようやく大幅更新されてリニューアルしました。
こんどのものはmbed版じゃない通常のCMSIS-DAPでも仮想COMが実装され、
MBED版CMSIS-SAPに近い構成になっています。ちなみにLPC-Link2も同じ
ように仮想COMが使用可能となってます。

しかも書き込みスピードがちょっと早くなってます。今のHIDのチマチマ書き
込みの制限だと2kb/Secくらいの早さでしたがUSB3.0ポートだと5kB/Sec
くらいにアップしてます!やったね!
…と言いたいところですがUSB2.0のポートだと逆にパワーダウンして
0.48kB/Secに落ち込んるのが判明orz
はやくOpenOCDにもCMSIS-DAPのブロック書き込みが実装されますように…


ちなみに新しいLPCLink2ConfigurationToolはJLinkのファームウェアも
ありますが残念ながらこちらは何ら変更はなくSRSTの直接操作不能バグ
ありのままです。LPCLink2をJlinkとして使用されている方はSRSTの
コントロールは省略してください。Cortex系ではsysresetreqが代用できます。

Comments

Post a Comment








Go to top of page