LPC800シリーズを使ってみる4 -ついでにトラ技ライタも使う-


私もご多忙にもれずトラ技ライタなる基板(雑誌は付録)を買ってきましたよ。
今回は基板単体ではすぐに使うことはできずUSB-miniBコネクタと1.27mmピッチ*2の
ヘッダ、そして幅が狭いタクトSWが必要です。


上記のものはマルツで買わなくても秋月で以前購入したものでほぼまかなえるので、
秋月フリークな貴方は全く問題はないでしょう。私も以前JTAGKey2Compatibleを作成
した時
にチョイスした面実装タクトSWを利用しております。ちょっとコツが要ります
が、私のぶろぐ見てる方ならこの程度の作業は楽勝だと思います。

とりあえず最低限のパーツを付けるとこんな感じになります。あーそうそう、…2/9は
いないさんの誕生日でしたね♥うっかり写っちゃいましたね♥ぱんつは駄目だったけどぶらなら
繊細なぴいぶろ君は怒らないみたいなので学校や職場でどんどん見てほし









さて、このトラ技ARMライタはLPC11U35が載っていて、CMSIS-DAPのファームを仕込む
ことによって文字通りライタにせしめることができます。正直これに関してはLPC812-MAX
のMBED版CMSIS-DAPと全く同じなので特記すべきことはありません。
もちろんふつーにOpenOCDから使用可能です!


ターゲットは300milのDIPと化したLPC811さんです!秋月さんの8PinDIP変換を2連結
で16Pinとして使うのがミソです★
このDIP化ネタ、もはや10番煎じくらいの手あかが付きまくったネタなのですがやら
ずに居られません。


前回LPC810で遊んだ時のように空中配線のやっけつです。ところで…



CN5にJST-EHの8Pinコネクタつける際に気付きましたが…
LPC-Link2からのコピペですかトラ偽らしい(ニーサン顔で)…まぁいや
新声社亡き後誤植を継ぐ者はCQ出版だけですから(諦観
20140313追:
あのさぁ…
この程度は誤植のうちに入らぬということかー!!!


20140220追:
ねむいさんの探し方が悪いだけだと思いますがトラ技ARMライタの回路図が誤植満載の
紙媒体以外で全く見当たりません(怒)今どきPDFで回路図提供しないとかどういう根性
しているのでしょうか(ビキビキホントふざけてますね(ビキビキ
やはりカンガルー先輩をオーストラリアから召還し〆て頂かないと駄目ですねマジで(ビキビキ

思えば過去の記事ではカンガルー先輩に対して"やる気がわかないと仕事をしない気分屋"
とかいう駄目な日本企業にありがちな駄目な経営者目線でレッテルを貼っています。
頑張って仕事して(いる仕草を見せ)ない奴は駄目な奴だ!!!苦労して仕事をしない奴は
生意気だ!!!
と言わんばかりの陰湿な主張がにじみ出ているようでそれとはまったく
真逆のマトモな精神を持つカンガルー先輩はCQ出版と袂を分けて正解だったのであろう
…とひしひしと感じます。

ちなみに現在のカンガルー先輩は本国に帰国後、己の野性に目覚めたのかビルドアップした
筋肉超満載状態
となっております。なぜこんなにムキムキになる必要があるのかというと
巨大動物図鑑さんからの解説から考察すると上半身(上腕)で相手の攻撃を制し破壊力がある
蹴りで攻撃するという独特な戦闘法を取っている事にあることが考えられます。
ここまで述べた時点でもう気づいた方もいるかもしれませんが…

そう、これは二代目霊界探偵の仙水忍さんが体得した霊光裂蹴拳です!あらゆる武術を
体得した上でないと使用が許されないあの!
こうなるとカンガルー先輩は暗黒天使(ダークエンジェル)である可能性まで出てきました。
魔界の穴があくまでもう時間はありません!急げ幽助!








MBED版CMSIS-DAPもなひたふさんビルドのCMSIS-DAPも特に書き込みの性能差はなく、
同様に使用可能ですが何度も言っておりますがMBED版の方はVCPドライバのインストール
を行わないとCMSIS-DAPが認識されないのでご注意ください。




ちなみにフラッシュの書き込みは全般的に遅いです。これはOpenOCDからCMSIS-DAPを
使った時の致命的な弱点で、OpenOCD側のプログラムの構造上PC->ターゲットのデータ
送信時にブロック転送コマンドを使わずすべてちまちまと転送を行っているからです。
Versaloonもおなじような感じなのですがUSBバルク転送なのである程度ひとまとめにして
ドカンとやり取りができ速度的にはまだ何とかなっております。しかしCMSIS-DAPはHID
クラスを利用しているのでバルク転送が出来ず、インタラプト転送になります。

USBのフルスピードの場合はフレームあたり1mSec区切りとなるので、インタラプト転送
でも64バイト送れるはずなのですが、上記のとおりターゲットへの書き込みの際にブロッ
ク転送コマンドを使用していないため4バイトずつデータを送っているのと全く同じに
なってしまい、さらに転送の確認を行っているため実際には2mSecごとに4バイト書き込む
ということになるためどう頑張っても2kByte/Sec以下の書き込み速度になってしまうの
ですorzさらにマイコン-CMSIS-DAP間のSWDのオーバーヘッドもあるので実際の書き
込み速度は1.5kByte/Sec以上出たら御の字ですorz
(注:READの際はブロック転送をおこなっているので早い)

そう言った弱点をトラ技で解説してさらに対策とか講じるのかなと思ったのですが…
OpenOCDに関しては案の定貫徹スルーで商用ツールからの使用を解説しておりました。
解決するためにはadi_v5_cmsis_dap.cにメスを入れて送信時もブロック転送を使えるように
しなければならないのですが他のデバッグアダプタと整合性が取れなくなってしまうので
私もどうしたらいいか今非常に困ってます…。

以前も述べましたがLPC-Link2ならばUSBハイスピードで繋がり、フレーム間隔も125uSec
ごとにスプリットされるので多少速度的にはマシになります。OpenOCDからCMSIS-DAP
をまともに使いたいのなら現状ではLPC-Link2で行うべきです。

20140213追:
なひたふさんも全く同じことを指摘していますね
↑一応記しておきますが…なひたふさんと偶然同時刻に偶然同じ事実を指摘しただけです。
 私は自分の記事を書くのに夢中でなひたふさんのブログエントリを全く見ておらず、
 一切パクってませんのであしからず!
ってしっかり念押ししとかないと斜め読みする人にtwitter上で有ること無いこと流されそうですので

20150406追:
CMSIS-DAPが本来の力を取り戻しました。
糞遅かったOpenOCDからの書き込みも快適に行えます☆


それはさておき今回のトラ技の特集ではなひたふさんがJTAGから始まり主流になった
SWD(正確にはSWJ-DP/SW-DP)に至る流れも含め非常に分かりやすく解説されているので
OpenOCD等のデバッガの動作原理の理解を深めたい方にとって必読だと思います。
基板はあくまでおまけですよおまけ!




おまけのおまけ


F**K!!!!!!

Go to top of page