トラ技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
SWCLKCN1-83
SWDIOCN1-612
nRESETCN2-1123
TXDCN1-915
RXDCN1-1016
GNDCN1-122 (8)
VDDCN2-121 (7)


/media/uploads/MACRUM/toragi-writer.jpg

使い方

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編):

09 Feb 2014

Watarai 様、

ちょっと質問がありますが。 トラ技の二月号に付録としてのNXP LPC810をこのARMライタでmbedのコンパイラ環境には 適用しますか?

With kind regards,

jppang

09 Feb 2014

こんにちは。

ターゲット書き込み用のアルゴリズムは、チップごとに変更する必要があるので、今のバイナリをそのまま使用することは出来ません。

Norimasa Okamotoさん(va009039)が作られたファームウェアは、LPC1114とLPC810を自動判別して書き込みアルゴリズムを変更するので、こちらの方が使いやすいかも知れませんね。

https://mbed.org/users/va009039/notebook/lpc1114fn28lpc800max/

こちらも mbedmicro/CMSIS-DAP 由来のコードなので、トラ技ARMライタに焼いて動くはずです。

09 Feb 2014

ファームウェアの公開,ありがとうございます.これを使うととても便利ですね!

ところでLPC11U35へのbinファイルの書き込みは,Mac上でドラッグ・アンド・ドロップで行なうと失敗してしまいます.このような場合,ターミナル.appを使ってコピーすれば上手くいきます.

詳しくは以下のページを御覧ください.
「USB経由ISP書き込み」をMacで行う

10 Feb 2014

Hi Watarai san,

Thanks for your information.

With kind regards,

jppang

10 Feb 2014

写真の接続方法について疑問が2点あります。

1. LPC1114のVDDをCN1-2に繋いでいますが、 実機で試してみたら電圧降下してLPC1114がまともに動きませんでした。 CN1-2ではなくCN2-1に繋ぐべきではないでしょうか。(一応CN2-1なら問題なく動作しました)

2. 接続の表ではnRESETはCN2-11ということですが、写真だとCN2-19に繋がっています。 一応両方共正常に動作するようですが、C2-11とC2-19どちらにも同じ信号が出ているということでしょうか?

10 Feb 2014
  1. 画面では分かりにくいのですが、VDDはCN2-1に接続しています(基板の下に斜めに配線して反対側で取り出しています)。
  2. 本誌p109の回路図に間違いがあるようです。回路図上のCN2-19は、PIO1-2となっていますが、正しくはPIO0-2です。この信号は、TARGET_RESETに接続されています。
11 Feb 2014

回答有難うございます。

もう一つ質問です。 TxDとRxDを繋がなくても書き込めたのですが、この接続はなんのために有るのでしょう? ARMライタを経由してPCとLPC1114をシリアル接続するのかなと思いましたが、 PC(Win7)のほうにはARMライタのシリアルポートがありません。 そういう機能のためではなく、LPC1114への書き込みで使うのだとすると、 繋いでないのに問題なく書き込めているのが解せません。

11 Feb 2014

プログラムの書き込み時にシリアルは使用しません。

TxD, RxDは、mbedのSerial APIで使用します。 Serial::printf を使った場合に、USB経由でPC側のターミナルソフトで表示されます。

http://mbed.org/handbook/Windows-serial-configuration

http://mbed.org/handbook/SerialPC

11 Feb 2014

ありがとうございます。

Hello World!の動作が確認できました。

Windowsだと専用のドライバを入れてやらないと駄目だったんですね。

21 May 2014

このサイトを参考にトラ技ARMライタをLPC1114FN28のMBEDとして使用しています。 IchigoJamという製品を購入し、ファームウェアのアップデートがあるので、このライタで新しいバージョンを書き込んでいました。 一度は上手く書き込みができましたが、次のバージョンアップ時に書き込もうとしたところ、すぐ再マウントされて、fail.txt (SWD ERROR)が存在しており、書き込みがうまくできません。 一度書き込みに成功したチップの場合、何か問題が有るのでしょうか? ちなみに、IchigoJamについては、 http://ichigojam.net/ に情報があります。

書き込みは、最初はMacOSで、ターミナルで行いました。二回目も同様に行って失敗したので、Windows 7でも実行してみましたが、改善されませんでした。(ドラッグ・アンド・ドロップでの書き込みです) 何かトライするべきことがございましたら、アドバイスをお願い致します。

30 Jun 2014

「トラ技ARMライタ」を使っています。 トラ技ARMライタでlpc11u35 をターゲットとしたファームウェアを探しています。 或いはトラ技ARMライタで他のターゲットとしたファームウェア適用するアドバイスをお願い致します。 よろしくお願いします。

20 Jul 2014

Kimさん

返信が遅くなりまして、申し訳ありません。 LPC11U35をターゲットとしたファームウェアは、こちらからダウンロードできます。

https://mbed.org/users/MACRUM/notebook/toragi_11u35_if2/

Please log in to post comments.