【早わかり】Arm開発環境「Keil Studio Cloud」でマイコンを動かしてみよう!

最近注目されている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、など

ソフトウェアの準備

ST-Link 009のインストール

NUCLEO-F401REを使用するには、その開発元であるST Microelectronics社のWeb ページから、パソコンと接続するためのドライバーをダウンロードし、インストールする必要があります。

まず、ドライバーをダウンロードするために以下のリンク先に飛びます。

STSW-LINK009 – ST-LINK, ST-LINK/V2, ST-LINK/V2-1, STLINK-V3 USB driver signed for Windows7, Windows8, Windows10 – STMicroelectronics

リンク先のページにあるGet Softwareの欄の「Get latest」ボタンをクリックします。

Fig. 1 ST-Link009のダウンロード

License Agreement(ソフトウェア使用承諾契約)の画面が出ますので内容を確認し、ACCEPTボタンをクリックします。

カヲル
カヲル

初めてST Microelectronics社のWebページからソフトウェアをダウンロードする場合は、個人情報を入力する必要があるよ。

入力が終わると登録したメールアドレスにメールが届くので、メール中に記載されたリンクを開いて手続きを完了しよう。

ZIP形式の圧縮ファイルがダウンロードされるので、解凍します。(Windows 10の場合はファイル上で右クリックし、「全て展開」をクリックすると解凍されます。)

解凍先のフォルダを開くと32bit OSと64bit OS用の2つのインストーラーがありますが、普通は64bit OSだと思いますので「dpinst_amd64.exe」をクリックします。

Fig. 2 ST-Link009のインストール

インストーラ―の画面が現れますので、指示にしたがってインストールします。

正常にインストールされたか確認するため、「Windowsキー + Xキー」を押し、デバイスマネージャーをクリックします。

Fi. 3 デバイスマネージャーでの確認

NUCLEO-F401REをUSBケーブルで接続し、デバイスマネージャー上で「ST-Link Debug」が認識されればOKです。

カヲル
カヲル

もし認識されない場合は、USBポートを変えたり、ドライバーを再インストールしてみてね!

Tera Termのインストール

本記事では、パソコン側でシリアル通信データを表示するために、ターミナル・ソフトを使用します。

ここでは有名なTera Term(テラターム)というソフトをダウンロードし、使用することとします。

Releases · TeraTermProject/osdn-download (github.com)

リンク先のページにある「teratarm-4.106.exe」をダウンロードします。【そのときの最新版(Lastest)でOK】

Fig. 4 Tera Termのダウンロード

「日本語」を選択し、インストーラーに指示に従って、インストールを実施します。

Fig. 5 Tera Termのインストール

Keil Studio Cloudの準備

Arm純正統合開発環境であるKeil Studio Cloudを使うには以下のWebページを開きます。

Free open source IoT OS and development tools from Arm | Mbed

リンク先のWebページに飛んだら、右上の人型のアイコンにマウスカーソルを合わせます。

「Log in or Sign up」と表示されるのでクリックします。

Fig. 6 Arm Mbed トップページ

もし、アカウントを持っていない場合は「Create an account」をクリックします。

Fig. 7 ログイン画面

画面構成が少し変わります。New to Mbed? Sign upの「Sign up」をクリックします。

Fig. 8 ログイン画面

個人情報を登録します。登録したメールアドレスへ確認のメールが届くため、リンクをクリックし登録を完了させます。

Fig. 9 登録画面

登録が完了したらトップページに戻り、「Keil Studio Cloud」をクリックします。

Fig. 10 トップページ

ログインすると、開発画面が表示されます。

Fig. 11 開発画面

これで一通り、環境の整備が終了しました。お疲れ様でした。

カヲル
カヲル

ST Microelectronics社のArmマイコン(STM32)の学習は以下の書籍でも行うことができるよ!

マイコンボード付きと書籍のみの2種類があるから気を付けてね。

Keil Studio Cloudの使い方

プロジェクトの作成

まず、開発環境(Keil Studio Cloud)の画面で、[File] – [New…] – [Mbed Project]をクリックします。

Fig. 12 プロジェクトの作成

ここでは、Example projectで「mbed2-example-blinky」を選択し、プロジェクトの名前は「LED_TEST」とします。

Fig. 13 プロジェクトの追加

LED_TESTという名前のプロジェクトが作成されました。「main.cpp」をクリックするとソースコードの見本が表示されます。

Fig. 14 作成したプロジェクトの確認
カヲル
カヲル

プロジェクトを削除したい場合は、画面左下のプロジェクト構成の画面で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をクリックして対応したデバイスをクリックします。

Fig. 15 デバイスの設定

デバイスを選択し、元の画面に戻すには左上の「Explorer」ボタンをクリックします。

Fig. 16 Explorer(元の画面)に戻す

画面左中央の「Run project」ボタンをクリックすると、プログラムがビルドされ、マイコンに書き込まれてプログラムが実行されます。

Fig. 17 プロジェクトの実行

実行結果の確認

書き込みが終わると、マイコンボード上の緑色のLED(LD2)が3秒間隔でON/OFFを繰り返します。

Fig. 18 LEDの点滅

次にマイコンからシリアル通信で出力されているメッセージを確認します。

Tera Termを開き、「シリアル」を選択してOKボタンをクリックします。

Fig. 19 Tera Termでの接続設定

基板上のLEDとTera Term上のメッセージが同タイミングで表示されていればOKです。

Fig. 20 Tera Termでの確認
カヲル
カヲル

今回は専用のソフト(Tera Term)を入れたけど、シリアル通信の確認だけであれば「Open serial monitor」ボタンを押すことでパソコンに送信したメッセージを見ることができるよ!

まとめ

本記事では、Keil Studio Cloudを用いたマイコンのプログラムの開発過程を簡単な例題を用いて解説しました。

さらに発展的な内容を学習するには、やはり書籍での学習が間違いも少なく、早道です。

今回紹介したST Microelectronics社のArmマイコン(STM32)の学習には、以下のような書籍が参考になります。

また、開発に用いるプログラミング言語はC++となりますが、そちらに自信がない方はC++の書籍も手元においておくと便利かと思います。

関連記事

プログラミングの独学は無理ではない。3か月で習得し実務経験を積もう! 基礎から学ぶDCモータの1Dモデル化① ~MATLAB/Simulink~