2014年02月12日

トラ技:LPC11U35基板: USB ISP と C.R.Pのメモ

トラ技:LPC11U35基板: USB ISP と C.R.Pのメモ
以下は、LPC11U35をターゲット・マイコンとした場合の話です。

* はじまり
トラ技の付録、LPC11U35基板。
ISPボタンを押した状態でリセットを押して離すと、USB ISPモードに自動で入ります。(USB ISP機能)
LPC11U35内のFlash ROM領域がPCのドライブとして見える(マス・ストレージ・クラス)ので、その中の
「firmware.bin」を削除した後、新しい「*.bin」ファイルをコピーすれば、Flash書込み完了です。

これは、便利 (^^)/

(ちなみに、コピー前に「削除」が必要なのはWindowsだけらしい。 orz)
Linux/Macの場合は注意ポイントがあるらしい。下記アプリケーションノート参照)

* USB ISP機能
USB ISP for LPC11U2x/LPC11U3x [LPC1100]
    USBからFlashへのプログラム書き込み
http://www.nxp-lpc.com/lpc_micon/cortex-m0/lpc11u00/
http://www.nxp.com/documents/software/AN11305.zip

これは、従来UART端子を使ってISP書込みをしていた「UART ISP」に代わる便利な機能です。
LPC11U1x系にはなかった機能です。
PIO0_3がリセット解除時にHigh、且つ、ISPモードピン(PIO_01)がLow(ISPボタン押したまま)なら
USB ISPモードに入ります。

ドライブとしてマウントされた時のディスクラベルは「C.R.P.の状態」を表す。
デフォルトは「CRP DISABLD」。(C.R.P.は無効)

* Flash Magicは使えない ?
トラ技の基板は、PIO0_3端子がHigh固定なので、UART ISPベースの「Flash Magic」は使えません。
無理にでも使いたい場合は、C.R.P.ベクタチェックサム・エラーを発生させると、UART ISPになる。 xD
或いは、基板上のR6(5.6kΩ)を削除するという手もある。。。
IAPコマンドを内部発行する手もあるらしい。

と、思ったものの、よくよく考えて見ると、
USBコネクタを繋がない状態で、外部からマイコン基板に電源を供給すれば、
PIO0_3がLowなので、UART ISPモードに普通に移行可能でした。(^^;
従って、この場合、「Flash Magic」は使えます。

* C.R.P.ベクタチェックサム問題は残る
USB ISPを使っても、C.R.P.のベクタチェックサムが合ってないと、マイコンが起動しない問題は残る。
C.R.P.機能は、「電子工作的」には無用の長物でしかないんだけど。。。xD
ちなみに、
Flash Magicを使うと自動でこの問題が解決されるんだけど、今回は使えないわけで。(爆
デバッガ経由なら問題にならないといえばそうなんだけど。。。
さらに、ちゃんとチェックサムをメンテすればいいんだけど。。。。
その方法は、以前書いた。:D

* binファイルに、正しいチェックサムを書き込む方法
以前も書いたような気がするけど 
LPCXpressoのインストールフォルダ内に「checksum.exe」という実行ファイルがあって、
(Linux/Mac版もあるはず)
コマンドラインで、
checksum.exe foobar.bin
とすれば、自動でチェックサムを修正してくれる。 checksum.exeはデフォルトでLPC1000シリーズ用になっているので、 他のシリーズの場合は、引数を変える必要がある。 checksum --help で参照できる。 その後、 HEXファイルが欲しいなら、
objcopy -I binary foobar.bin -O ihex foobar.hex
とする。(arm-none-eabi-objcopyでも可) ただ、今回の付録基板の場合、上に書いた様にHEXファイル書込みは基本できないので、 HEX変換自体に意味はない。 :D * で、? ベクタテーブルを自分で書く場合は、チェックサム対応するの簡単なんだけど、 TOPPERS ASP/SSP RTOSをやろうとすると、ベクターテーブルがコンフィグレータで 自動生成されたりして、「*.tf」ファイルなんかをいじらないと駄目そうな感じで、 遠い目の最中だったり。。。 checksum.exe使えば、いいっちゃ、いいんだけど。。。 なんだかなぁ〜
posted by Copyright (C) avrin All Rights Reserved. at 00:00| Comment(0) | TrackBack(0) | トラ技:LPC11U35基板 | このブログの読者になる | 更新情報をチェックする

2014年02月11日

トラ技 付録 LPC11U35 and LPC-Link/v1 失敗 orz

トラ技 付録 LPC11U35 and LPC-Link/v1 失敗 orz
* トラ技付録のLPC11U35基板
lpc11u35-dbg.jpg
変な :D タクトSWなしでも、LPC1343に付いてたLPC-Link/v1デバッガのSWD接続で
楽々、書込み/デバッグできると踏んでいたが、玉砕した。 
orz 
orz
どうやら、LPC-Link/v1はLPC11U35非対応の様だ。
LPC1114は大丈夫なくせに。

LPC1769に付いてるLPC-Linkなら大丈夫な気がするが、ピン立てたり
半田付けしたりでめんどくさ。orz

LPC-Linkの対応CPUを調べないと。。。

orz

ひょっとして、LPC1769のやつもだめかもだったら、
orz orz orz
なんだけど、
LPC11U35基板を2枚(トラ技2冊)買ったから、もう一つをデバッガにすれば
良さそうだけど、なんだかなぁ。

遠い目。

ここを見ると、LPC1769のデバッガもLPC-Link/v1の様だ。
http://www.lpcware.com/LPCXpressoBoards
 orz 
LPC11U24に対応してて、LPC11U35はダメなのか。。。

* LPC11U35基板をCMSIS-DAPのデバッガにして使ってみた
この写真は、LPC11U35基板を「LPC11U35基板」でデバッグ(CMSIS-DAP)した図。
lpc11u35-cmsis-dap.jpg

ファームをD&DしてCMSIS-DAPのデバッガにして、LPC1114FN28をLPCXprssoから
デバッグできました。
LPC11U35をデバッガにするファームは以下の
http://toragi.cqpub.co.jp/tabid/707/Default.aspx
これ、
http://toragi.cqpub.co.jp/Portals/0/download/2014/TR1403N.zip
CD-ROMにもある。
書込み方法は、
ここ、http://avr.paslog.jp/article/2725430.html

残念なことに、デバッガ経由の書込み速度が、
1.2kbyte/sec
しか出なくて、
orz
orz
orz
だった。
LPC810/812程度なら我慢できるけど、Flash容量が増えるとさすがにこの速度は厳しいと思う。
書込み速度優先なら、素直にLPC-Link2を買った方が良いのかも。

* CMSIS-DAPのファームは誰でも入手できるらしいので、
速度アップ改造も今後あるかもしれない。
ちなみに、LPCXpressoのデバッガLOGを見ると、
「デバッガ基板から速度情報が来ないので一番低速な書込み速度にした」と出ていた。

従って、正しく速度情報を返してやれば、速度アップになるのか、
そもそも、48MHzのCortex-M0だとこれが限界なのかは不明である。
プロトコルのDMAなし転送なので速度を出すのは難しいのか。






posted by Copyright (C) avrin All Rights Reserved. at 00:00| Comment(0) | TrackBack(0) | トラ技:LPC11U35基板 | このブログの読者になる | 更新情報をチェックする