LPC1114FN28
夢にまで見た、DIPタイプのARM†
- ただし、SRAMが8kBから4kBに削られています。(Mary基板は8kB)
- 開発環境はMary基板のもの(gcc,Makefileなど)がほぼそのまま使用できます。
- Mary基板用のリンカスクリプトから、SRAMサイズを削っておかないと、4kBを溢れていることに気づかない(それで、はまります)
開発環境の準備†
ARM(Cortex-M0)用のクロスコンパイラ(arm-none-eabi-gcc)の入手方法:
Sourcery codebench (以前はCodeSourcery G++ Liteと呼ばれていたもの)がお勧め。
- ↑ CodeSourcery はmentor graphicsに買収されてしまいましたので、G++_Liteの入手性が悪くなっています。
- Mentor GraphicsからDLする代わりに、leaflabsから、maple-ide-0.0.12-windowsxp32.zipを入手して使用することをお勧めします。
- こちらは、GCCのVersionが4.4.1なので-Osオプション指定によるバグも回避できます。
- arm-none-eabi-gcc.exeの実行パスは、「maple-ide-0.0.12をインストールしたパス」の hardware/tools/arm/bin/ に通します。
- makeなどのunix系ツールはMinGWのものがお勧めです。
- 上記CodeSourcery G++ Lite内にも cs-make.exe という名称で、GNU Make が入っています。こちらでもビルドできます。(rm , cat といったツールは含まれていません)
書き込みツール†
ELM ChanさんのHP
LPC1000/2000用書き込みプログラム lpcsp.exe がお勧め。
- 書き込み時のみ、PIO0_1をGNDに落とした状態で通電、あるいはリセットします。
高速に開発するコツ。†
BOOTピンと,RESETピンをMary基板互換にして、USBから制御できるようにすると吉です。
- USB-シリアル変換器のRTS,DTR信号を、それぞれPIO0_1(BOOT) , PIO0_0(RESET)に接続しておきます。
- lpcsp.exeの起動オプションか、lpcsp.ini に -c3 オプションを入れておきます。
このように配線しておくことで、コマンドラインから簡単にチップをリセットしたり書き込みしたり出来ます。
- make ; lpcsp MARY-0000.hex のようなバッチファイル(w.bat)を用意してそれを実行するだけでビルド&書き込み&実行まで行なわれるようにしておきます。
- そうすると、たぶんArduinoの RUN ボタンを押すよりも開発が楽になります。
サンプルソース†
LED点滅 & UARTエコーバック サンプル(115,200 bps)
- ダウンロード: lpc1114.zip
- LEDは、PIO0_7とPIO1_5を交互に点滅させてます。
- 同時に、UARTに送信した文字をエコーバックします。
- これは、Mary基板で動いていたものです。
- ほぼ全部圓山さんが書かれたMaryのソースで出来てます。