最近注目されているArmマイコンのプログラミング環境として「Keil Studio Cloud」があります。
以前はArmマイコンの開発環境としてMbed(エンベッド)がありましたが、現在はArm純正統合開発環境としてKeil Studio Clouldへ移行しています。
こちらは無料で使用でき、インストールも不要でGoogle Chromなどのブラウザ上から使用できます。
本記事では、一例としてCortex-M4ベースのMCUを実装した開発/評価ボードであるNUCLEO-F401REを題材にKeil Studio Cloudの使い方を解説します。
開発環境の準備
本記事では、Keil Studio Cloudを使うにあたっての取っ掛かりとして、マイコンボードに搭載されたLEDの点滅と、パソコンと通信してメッセージを表示させるプログラムを題材に解説します。
ハードウェアの準備
まずは、開発環境の準備としてマイコンを入手する必要があります。
本記事では、高価な専用書き込み機が不要で購入してすぐ使うことができ、秋月電子などでの電子部品ショップなどでも購入できる入手性のよいマイコンボードとして、「NUCLEO-F401RE」を例として取り上げます。
1.マイコンボード NUCLEO-F401RE
購入先:RSオンライン、秋月電子、Amazon、など
2.パソコンとの接続ケーブル (USBミニBタイプの汎用ケーブル)
購入先:RSオンライン、秋月電子、Amazon、など
ソフトウェアの準備
NUCLEO-F401REを使用するには、その開発元であるST Microelectronics社のWeb ページから、パソコンと接続するためのドライバーをダウンロードし、インストールする必要があります。
まず、ドライバーをダウンロードするために以下のリンク先に飛びます。
リンク先のページにあるGet Softwareの欄の「Get latest」ボタンをクリックします。
License Agreement(ソフトウェア使用承諾契約)の画面が出ますので内容を確認し、ACCEPTボタンをクリックします。
初めてST Microelectronics社のWebページからソフトウェアをダウンロードする場合は、個人情報を入力する必要があるよ。
入力が終わると登録したメールアドレスにメールが届くので、メール中に記載されたリンクを開いて手続きを完了しよう。
ZIP形式の圧縮ファイルがダウンロードされるので、解凍します。(Windows 10の場合はファイル上で右クリックし、「全て展開」をクリックすると解凍されます。)
解凍先のフォルダを開くと32bit OSと64bit OS用の2つのインストーラーがありますが、普通は64bit OSだと思いますので「dpinst_amd64.exe」をクリックします。
インストーラ―の画面が現れますので、指示にしたがってインストールします。
正常にインストールされたか確認するため、「Windowsキー + Xキー」を押し、デバイスマネージャーをクリックします。
NUCLEO-F401REをUSBケーブルで接続し、デバイスマネージャー上で「ST-Link Debug」が認識されればOKです。
もし認識されない場合は、USBポートを変えたり、ドライバーを再インストールしてみてね!
本記事では、パソコン側でシリアル通信データを表示するために、ターミナル・ソフトを使用します。
ここでは有名なTera Term(テラターム)というソフトをダウンロードし、使用することとします。
Releases · TeraTermProject/osdn-download (github.com)
リンク先のページにある「teratarm-4.106.exe」をダウンロードします。【そのときの最新版(Lastest)でOK】
「日本語」を選択し、インストーラーに指示に従って、インストールを実施します。
Arm純正統合開発環境であるKeil Studio Cloudを使うには以下のWebページを開きます。
Free open source IoT OS and development tools from Arm | Mbed
リンク先のWebページに飛んだら、右上の人型のアイコンにマウスカーソルを合わせます。
「Log in or Sign up」と表示されるのでクリックします。
もし、アカウントを持っていない場合は「Create an account」をクリックします。
画面構成が少し変わります。New to Mbed? Sign upの「Sign up」をクリックします。
個人情報を登録します。登録したメールアドレスへ確認のメールが届くため、リンクをクリックし登録を完了させます。
登録が完了したらトップページに戻り、「Keil Studio Cloud」をクリックします。
ログインすると、開発画面が表示されます。
これで一通り、環境の整備が終了しました。お疲れ様でした。
ST Microelectronics社のArmマイコン(STM32)の学習は以下の書籍でも行うことができるよ!
マイコンボード付きと書籍のみの2種類があるから気を付けてね。
Keil Studio Cloudの使い方
まず、開発環境(Keil Studio Cloud)の画面で、[File] – [New…] – [Mbed Project]をクリックします。
ここでは、Example projectで「mbed2-example-blinky」を選択し、プロジェクトの名前は「LED_TEST」とします。
LED_TESTという名前のプロジェクトが作成されました。「main.cpp」をクリックするとソースコードの見本が表示されます。
プロジェクトを削除したい場合は、画面左下のプロジェクト構成の画面でDeleteキーを押してね。
Example projectで 「mbed2-example-blinky」を選択したので、このソースコードはLEDを点滅させるものとなっています。
しかし、折角ですので以下のものに書き換えてみましょう。
(実は購入状態で点滅プログラムが入っているので、USBを差して電源を供給するとLEDが点滅しているはずです。)
#include "mbed.h"
DigitalOut myled(LED1);
int main() {
while(1) {
myled = !myled;
if (myled) {
printf("LED : ON\r\n");
}
else {
printf("LED : OFF\r\n");
}
wait(3);
}
}
14行目のwait(3)は3秒待つ命令だよ。3を書き換えると、好きな点灯/消灯時間に変更することができるよ!
書き換えが終わったら、Bulid Targetをクリックして「NUCLEO-F401RE」を選択し、Connnected deviceをクリックして対応したデバイスをクリックします。
デバイスを選択し、元の画面に戻すには左上の「Explorer」ボタンをクリックします。
画面左中央の「Run project」ボタンをクリックすると、プログラムがビルドされ、マイコンに書き込まれてプログラムが実行されます。
書き込みが終わると、マイコンボード上の緑色のLED(LD2)が3秒間隔でON/OFFを繰り返します。
次にマイコンからシリアル通信で出力されているメッセージを確認します。
Tera Termを開き、「シリアル」を選択してOKボタンをクリックします。
基板上のLEDとTera Term上のメッセージが同タイミングで表示されていればOKです。
今回は専用のソフト(Tera Term)を入れたけど、シリアル通信の確認だけであれば「Open serial monitor」ボタンを押すことでパソコンに送信したメッセージを見ることができるよ!
まとめ
本記事では、Keil Studio Cloudを用いたマイコンのプログラムの開発過程を簡単な例題を用いて解説しました。
さらに発展的な内容を学習するには、やはり書籍での学習が間違いも少なく、早道です。
今回紹介したST Microelectronics社のArmマイコン(STM32)の学習には、以下のような書籍が参考になります。
また、開発に用いるプログラミング言語はC++となりますが、そちらに自信がない方はC++の書籍も手元においておくと便利かと思います。