トラ技ARMライタを mbed interface にする(LPC1114FN28編)
CQ出版のトランジスタ技術2014年3月号には、付録としてNXP LPC11U35/501が実装された「トラ技ARMライタ」が付属します。
LPC11U35/501 は、mbed HDK で使用される OnBoard Interface のリファレンスチップとなっており、「トラ技ARMライタ」にはそれに必要なピンが出力されているので、LPC1114FN28 をターゲットとしたファームウェアを作成しました。
mbed HDK
https://mbed.org/handbook/mbed-HDK
ソースコード
https://github.com/mbedmicro/CMSIS-DAP
ビルド済みバイナリ
lpc11u35_lpc1114_if_mbed_checksum.bin
ファームウェアの書き込み方法
- 「トラ技ARMライタ」をUSBケーブルでPCと接続する
- ISPモードで起動する(ISPボタンを押しながらリセット)
- マスストレージドライブがマウントされるので、firmware.binを消去する
- ファームウェア(lpc11u35_lpc1114_if_mbed_checksum.bin)をコピーする
- 書き込みが終わったらリセットボタンを押し、再起動させる
- 再マウントされたドライブに、mbed.htm があれば成功
LPC1114FN28 ターゲットとの接続
Pin | トラ技ARMライタ | LPC1114FN28 |
SWCLK | CN1-8 | 3 |
SWDIO | CN1-6 | 12 |
nRESET | CN2-11 | 23 |
TXD | CN1-9 | 15 |
RXD | CN1-10 | 16 |
GND | CN1-1 | 22 (8) |
VDD | CN2-1 | 21 (7) |
使い方
PCとUSB接続するとマスストレージドライブとしてマウントされるので、通常の mbed LPC1768 と同じように、オンラインコンパイラでビルドされたバイナリ(.bin ファイル)をドラッグアンドドロップするだけです。
その後リセットボタンを押すと、ターゲットデバイス上でプログラムが起動します。
注意点
mbed HDK の仕様上、以下の注意点があります。
- LocalFileSystem は使用できません
- ファイル名の先頭文字は、英数字である必要があります
追記
ファームウェアの書き込みにMacを使用する場合に、書き込みに失敗するケースがあるようです。
その場合はWindows環境で書き込んで頂くか、下記の Lynx-EyED さんのブログの最後の部分で説明されているターミナル.appからコピーする方法で書き込んでください。
http://lynxeyed.hatenablog.com/entry/20100702/1278087213
12 comments on トラ技ARMライタを mbed interface にする(LPC1114FN28編):
Watarai 様、
ちょっと質問がありますが。
トラ技の二月号に付録としてのNXP LPC810をこのARMライタでmbedのコンパイラ環境には
適用しますか?
With kind regards,
jppang
ファームウェアの公開,ありがとうございます.これを使うととても便利ですね!
ところでLPC11U35へのbinファイルの書き込みは,Mac上でドラッグ・アンド・ドロップで行なうと失敗してしまいます.このような場合,ターミナル.appを使ってコピーすれば上手くいきます.
詳しくは以下のページを御覧ください.
「USB経由ISP書き込み」をMacで行う
Hi Watarai san,
Thanks for your information.
With kind regards,
jppang
写真の接続方法について疑問が2点あります。
1. LPC1114のVDDをCN1-2に繋いでいますが、
実機で試してみたら電圧降下してLPC1114がまともに動きませんでした。
CN1-2ではなくCN2-1に繋ぐべきではないでしょうか。(一応CN2-1なら問題なく動作しました)
2. 接続の表ではnRESETはCN2-11ということですが、写真だとCN2-19に繋がっています。
一応両方共正常に動作するようですが、C2-11とC2-19どちらにも同じ信号が出ているということでしょうか?
- 画面では分かりにくいのですが、VDDはCN2-1に接続しています(基板の下に斜めに配線して反対側で取り出しています)。
- 本誌p109の回路図に間違いがあるようです。回路図上のCN2-19は、PIO1-2となっていますが、正しくはPIO0-2です。この信号は、TARGET_RESETに接続されています。
回答有難うございます。
もう一つ質問です。
TxDとRxDを繋がなくても書き込めたのですが、この接続はなんのために有るのでしょう?
ARMライタを経由してPCとLPC1114をシリアル接続するのかなと思いましたが、
PC(Win7)のほうにはARMライタのシリアルポートがありません。
そういう機能のためではなく、LPC1114への書き込みで使うのだとすると、
繋いでないのに問題なく書き込めているのが解せません。
ありがとうございます。
Hello World!の動作が確認できました。
Windowsだと専用のドライバを入れてやらないと駄目だったんですね。
このサイトを参考にトラ技ARMライタをLPC1114FN28のMBEDとして使用しています。
IchigoJamという製品を購入し、ファームウェアのアップデートがあるので、このライタで新しいバージョンを書き込んでいました。
一度は上手く書き込みができましたが、次のバージョンアップ時に書き込もうとしたところ、すぐ再マウントされて、fail.txt (SWD ERROR)が存在しており、書き込みがうまくできません。
一度書き込みに成功したチップの場合、何か問題が有るのでしょうか?
ちなみに、IchigoJamについては、 http://ichigojam.net/ に情報があります。
書き込みは、最初はMacOSで、ターミナルで行いました。二回目も同様に行って失敗したので、Windows 7でも実行してみましたが、改善されませんでした。(ドラッグ・アンド・ドロップでの書き込みです)
何かトライするべきことがございましたら、アドバイスをお願い致します。
「トラ技ARMライタ」を使っています。
トラ技ARMライタでlpc11u35 をターゲットとしたファームウェアを探しています。
或いはトラ技ARMライタで他のターゲットとしたファームウェア適用するアドバイスをお願い致します。
よろしくお願いします。
Please log in to post comments.
Watarai 様、
ちょっと質問がありますが。 トラ技の二月号に付録としてのNXP LPC810をこのARMライタでmbedのコンパイラ環境には 適用しますか?
With kind regards,
jppang