Riversidesoft

Code Change the World.

*

NXP Cortex-M0マイコン LPC1114FN28(DIP)

      2015/11/14

スポンサードリンク

最近気になるマイコン。NXP Cortex-M0マイコン LPC1114FN28(DIP)
32ビットでDIPパッケージ。趣味のマイコンに最適。

  • 32ビットなのにDIP。ブレッドボードで実験可能。
  • 最高クロック50MHz、flash ROM 32KB, RAM 4KB
  • ブートローダ内蔵で、シリアルポートからflashプログラムが書き込める
  • 超安価。100円ちょっとで売ってる。

ということで、早速、ブツを調達した。マルツで1個115円だった。安!

他にも、プログラム書込み用にUSBシリアル変換ブレークアウトボードを購入。あとは在庫部品でいろいろ遊べる。

まずは、USBシリアル変換ボードのジャンパを半田ショートして、チップへの電源供給方法を決める。USBからのバスパワーで動作させるように、SJ1とSJ2をブリッジした。
また、8PINのDIPピンが同梱されているのでそれも半田付けする。

ブレッドボードを用意。まずはMCU、LPC1114FN28/102を設置。
次にUSBシリアルボードを載せる。
MCUのTXとUSBシリアルボードのRX、同じく、RXとTXを接続する。クロス接続である。電源はUSBからのバスパワーを利用するが、MCUは3.3Vなので、USBシリアルチップ内蔵の3.3Vレギュレータを経由してUSBシリアルボードの1PINをVSS, 8PINをVDDに接続する。

リセットSWも必要なので、100Ωの抵抗と0.01uFのコンデンサを組み合わせたリセット回路をブレッドボード上に組み、MCUのRESET(23OIN)に繋ぐ。

MCU内蔵のブートローダを起動するには、MCUのPIO0_1(24PIN)をGNDに落してリセットするので、ジャンパコードでGNDに接続できるようにしておく。

マイコンのHello, Worldである、LEDチカチカを試すので、適当なポートに220Ωぐらいの抵抗をカマしてLEDを接続する。今回は、PIO1_5 (14PIN)に接続した。

LPC1114FN28/108

次に、開発環境と書き込みツールであるが、Linux上でクロス開発するので、Linux上ですべて構築する。

  • コンパイラ等は、Sourcery CodeBench Lite Editionを用いる。このページの、ARM Processorsというところの、Download the GNU/Linux Release→ をクリックして、メールアドレスを登録すると、ダウンロードリンクがメールで送られるので、リンクを開いてダウンロードする。
  • Flash書込みツールは、lpc21ispというツールを用いる。このページにソース一式があるので、make installする。
  • サンプルソースを書く。といっても、1から書くのは大変なので、例えば、これとかをダウンロードして利用する。gitからcheck outせよ、ではなくて、ページの上部にZIPというボタンがあるので、クリックすればリポジトリの最新版がZIPで一式パッケージされている。

あとは、ZIPを展開したディレクトリでmake一発でコンパイルできる。outディレクトリにオブジェクトコードが生成されるので、それをflash ROMに書込めばOK。

lpc21ispのコマンドラインパラメータは以下の通り。

$ lpc21isp -hex out/blink.hex /dev/ttyUSB0 115200 12000

パラメータの意味は大体分かると思うが、最後の12000というのは、MCUの内蔵オシレータのクロック数をKHz単位で指定している。

 

 

 

スポンサードリンク

 - マイコン