ビュートローバーで組込みプログラミング入門
ビュートローバーというキットがメルカリで安く出ていたので入手してARMに入門しました。
どうやらこのキットは学校で技術?の授業で使われているようで、授業が終わって興味のない人が出品しているようです。
ARMとはARM社によるマイコンでこれまで組込み機器(産業機器や家電)に多く使われてきたCPUですが、最近ではスマホやM1 Macにも使われています。
もちろんPCに使われているCPUとキットに使われているものでは性能は違うのですが。
組込みプログラミングは、今でも少ないメモリやさほど性能の高くないデバイスで使うことから独特の風習が残っていて、いわゆる富豪プログラミングと真逆の世界です。
しかしながら「トリリオンセンサー」などと呼ばれ世の中のあらゆるものがネットワークにつながるIOTの世界では需要があるとされています。
Hello ARM world
こちらのキットは教育用ということで、ビジュアルプログラミングが対応しています。
しかし、ここはあえて組込みプログラミング的にやっていこうと思います。
先のメーカーのサイトの情報を参考に、LPCXPressoという統合開発環境を導入し、C言語でプログラミングを目指します。
実は、このキットには「ビュートローバーH8」という兄弟キットがあります。
こちらについては付属のCD-Rに統合開発環境も含まれていますが、別物なので注意です。
H8はルネサスエレクトロニクスのマイコンです。
www.nxp.com
こちらのサイトから統合開発環境をダウンロードしますが、アカウントの登録が必要になります。
キットのCD-Rにはサンプルコードは含まれていますが、LPCXPressoは含まれていませんのでこちらからダウンロードする必要があります。
Downloadをクリックすると、アカウント作成を求められます。
アカウントを作成したのちLoginし再度このURLからDownloadに進みます。
各自のOSに合わせたインストーラを入手します。
最新版のインストーラをダウンロードし、インストールします。
この中でデバイスドライバも同時にインストールが始まります。
インストールが終わったら、統合開発環境を起動し左下のインポートプロジェクトからサンプルコードを開きます。
サンプルコードはZipですが解凍しても、しなくても読み込めるようです。
ただし、解凍してから読み込んでもどうやら別の場所(後述)に展開されます。
ちょっとだけ触ってみると、例えば関数を右クリック¥Open DeclarationまたはF3で関数定義にジャンプします。
ビルド(コンパイル)を試すために、LEDの点灯時間を変更するという最小限の変更をしてみます。
変更点がないとビルドが動かないためです。
//ループ while(1){ LED(1); //緑のLED点灯 Wait(2000); //1000msec待つ LED(2); //オレンジのLED点灯 Wait(1000); //1000msec待つ }
左下のメニューからBuild 'xxxxxxx' [debug]
をクリックします。
ドキュメントフォルダ以下にあるLPCXPress_x_x_x_xxx¥workspace¥xxxx
に展開されたソースとともに、Debugフォルダの中にバイナリ(.bin)ファイルがあります。
セットの電源を切った状態で、プッシュボタンを押しながらUSBを接続します。
Windowsのエクスプローラでフォルダが見えるので、この中にあるfirmware.bin
を削除してbinファイルをコピーします。
USBを外して再度電源を入れるとLチカが始まります。
ARMマイコン入門 !
— とりてん (@s51517765) 2021年10月16日
LPCXpressoという開発環境を構築してLチカ出来た! pic.twitter.com/XhcBaWTWot
まとめ
CortexM3というマイコンを搭載したキットで組込みプログラミングに入門しました。
まずはサンプルコードを読むところから、この独特の世界を体験してみようと思います。