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