秋月で一番安く購入できるARM開発環境、LPCXpresso LPC1343搭載ボードを先日購入しました。
機能としてはワンチップマイコンに標準で搭載されているSSP,I2C,UARTなどがあり、32bit汎用マイコンという位置づけでしょうか?
Cortex-M3を戴くLPC13xxシリーズはUSB物理層を内蔵しており、プログラムを書き込むブートローダはホストから32kByteのUSBメモリとして認識されます。
すごいっしょ?(誰に言ってんだオラ
というわけで、この便利な機能を利用しMacOS Xで開発をしようと思います。
まず、ハードウェアの改造を行います。(以下、全て自己責任の下で行ってください)
【用意するもの】
Pカッターなど
軍手
USB Bコネクター
抵抗 1.8k Ohm
3.3V LDO (3.3V出力3端子レギュレータ)
半田ごて
はんだ
ピンヘッダとか配線とか
ジャンパーピンとショート用のプラグ
1. ここを参照してLPCXpressoを破壊切断する(面倒な場合はLinkとターゲットボードの配線をPカッターなどでカットすればOK)
2. LDOをターゲットボードのユニバーサル部分にハンダ付け。3.3V電源パターンがあるので上手に利用し、GNDと3.3V出力ピンをハンダ付けすると良い。
3. ターゲットボードのユニバーサル部分にBコネクタとジャンパーピンをハンダ付け。3.3Vが出力されてるパターンからジャンパーを取る(詳細後述)。Bコネクタのカバーから出ている固定用(?)端子はでかいためスルーホールには入らないので、基板にドリルで穴開けして固定or固定用端子をニッパーで切り取り。自分はドリルでLPCXpresso基板に穴を開け、Bコネクタと基板をホットボンドで固定しました。
4. USB 5V出力をLDOの入力にハンダ付け
5. (ボードを裏返す)写真のようにUSBのD+ D-を接続
7. ブレッドボードやユニバーサル基板などにボードを接続する際にはピンヘッダを半田付け
(手順3.)で取り付けたジャンパーを利用し、USB D+をVddにプルアップする事によって、USBホストはUSB機器が接続された事を感知する訳ですがUSBから単純に電源のみ供給したい場合はかえって邪魔なので、ジャンパー経由でプルアップしました。
次にPCに接続します。
LPC1343をUSBブートローダモードで起動するには、
- FT/GPIO端子をLowにプルダウン
- USB-VBusをHighにプルアップ
してリセット(または電源投入)します。
自分はブレッドボード上でジャンパーで配線しました。
こんな感じです
USBケーブルでMac/PCに接続します。(Windowsだと認識にかなり時間がかかるようです)
ボリュームラベルが「CRP DISABLD」のリムーバルディスクが検出されれば成功です。
次回は、BSDライセンスで利用できるフリーのGCC向けLPC1343コードを利用し、Mac上のEclipseでLPCXpressoのLEDチカチカプログラムを作ろうと思います。