今回は、「micro:bit」をC言語で開発するための開発環境の構築について書いてみようと思います。
C言語で開発できるようになると、「MakeCode」のブロックでのプログラミングよりもっと細かく、もっとマニアックに制御することができるようになります。
「micro:bit」のC言語開発環境の構築
「micro:bit」には、nRF5というノルディック・セミコンダクター社のマイコンが搭載されています。
nRF5の開発には、無償で利用可能な「SEGGER Microcontroller Systems」の「Embedded Studio」という開発環境が使いやすくお勧めですので、こちらを使ってC言語用の環境構築を行うことにします。
①「SEGGER Microcontroller Systems」のHPにアクセスします。
②HP上部の「Downloads」から「Embedded Studio」を選択します。
③nRF5はARM系のマイコンになりますので、「Embedded Studio for ARM」から構築するPCに合わせたインストーラーを選択しダウンロードします。(ここではWindows 64bitで説明していきます。)
①ダウンロードしたインストーラを実行します。
解凍が始まり、少し待つとWelcome画面が表示されますので「Next」をクリックして進めます。
②ライセンスの確認画面が表示されます。
確認して「I accept the Agreement」をチェックして「Next」をクリックして進めます。
③インストール先を設定して「Next」をクリックして進めます。
④スタートメニューのIcon配置場所を設定して「Next」をクリックして進めます。
⑤「Embedded Studio」に結びつけるファイル拡張子を選択して「Next」をクリックして進めます。
⑥追加でインストールするコンポーネントを選択して「Next」をクリックして進めます。
⑦インストール確認画面が表示されるので「Next」をクリックしてインストールを実行します。
⑧しばらく待つとインストールが完了画面が表示されます。
「Start SEGGER Embedded Studio for ARM …」にチェックをいれて、「Finish」をクリックします。
①「Embedded Studio」が起動するとライセンスの確認画面が表示されます。
とりあえず非商用利用ということで「Accept」を選択します。
②「Embedded Studio」のメイン画面が表示され、「Hello」というサンプルプロジェクトが表示されます。
以上でインストールは完了となります。
サンプルプロジェクトの実行
「SEGGER Microcontroller Systems」のHPに「micro:bit」のサンプルプロジェクトが公開されていますので実行してみましょう。
①「SEGGER Microcontroller Systems」のHPにアクセスします。
②HP上部の「Downloads」から「J-Link/J-Trace」を選択します。
③表示された画面から「BBC micro:bit」を探します。
「Click for downloads」を選択し、「Sample project – LED Blink」をダウンロードします。
①ダウンロードしたファイルを適当な場所に解凍します。
②「Embedded Studio」のメニューから「File」→「Open Solution…」を選択し、解凍したフォルダの中にある「Microbit_LEDBlink.emProject」を選択してサンプルプロジェクトを開きます。
③「Embedded Studio」のメニューから「Build」→「Build Solution」を選択。
「micro:bit」向けの実行ファイルを作成します。
④パソコンと「micro:bit」をUSBケーブルで接続します。
⑤「Embedded Studio」のメニューから「Debug」→「Go」を選択。
C言語のソースコードが表示され、main関数で一時停止状態となります。
⑥画面右上の「▶」をクリックします。
「micro:bit」のLEDが点滅を始めたら成功です!。
⑦画面右上の「■」をクリックすると、「Embedded Studio」上ではプログラムの実行状態を停止します。
ただし、「micro:bit」は電源が入っているので、LEDの点滅を継続します。
LEDが点滅してサンプルプロジェクトの実行が無事にできましたでしょうか?
これで「micro:bit」向けのプログラムを、「Embedded Studio」でC言語を使って作成できるようになりました。
以上で、「micro:bit」のC言語開発環境の構築は完了です。おつかれさまでした。
さて、サンプルプログラムは実行できたかと思いますが、多くの方はLEDが1つだけ点滅したのではないでしょうか?
「micro:bit」のバージョンがV2以降の場合にこの動作となりますが、実は意図した動作とは異なります。
サンプルプロジェクトは2016年に作成と結構古く、「micro:bit」のバージョンのV1を想定したプログラムとなっています。
本来の意図した動作は、全てのLEDが点滅となります。
サンプルプロジェクトの説明と、V2向けの改修方法については下記の投稿を参考ください。