mbedプロジェクトの環境構築(mbed-cli, SW4STM32対応)

( English version is here. )

任意のバージョンのmbed-osライブラリを持つmbedプロジェクトの環境構築方法( mbed-cliSW4STM32 の両方で開発可能)についてまとめる。

以下は、macOSでの設定について述べるが、Windowsでも同様の方法により構築可能。

1. mbed-cliの環境構築

適当な作業ディレクトリを作成し、そのディレクトで作業を行う。

mkdir sample
cd sample

git init によりgitを開始し、作業ディレクトリ内に main.cpp のサンプルプログラムを作成する。

git init

mbedプロジェクトの設定

mbed new により .mbed ファイルを作成する。--create-only を指定することで .mbed ファイルの作成のみを行うことができる。

mbed new . --create-only

targettoolchainを指定する。ここでは、NUCLEO_L476RG, GCC_ARMを指定する。

mbed target NUCLEO_L476RG
mbed toolchain GCC_ARM

mbed add により適当なバージョンのmbed-osをimportする。ここでは例としてmbed-osの5.13.1をimportする。

mbed add https://github.com/ARMmbed/mbed-os#mbed-os-5.13.1     

必要に応じて mbed_app.jsonprofile.json を作成する。ただし、profile.json を作成する場合は、.mbed ファイルにPROFILE=profile.json という行を追加する。

このとき、 .mbed ファイルは以下のようになる。

ROOT=.
TARGET=NUCLEO_L476RG
TOOLCHAIN=GCC_ARM
PROFILE=profile.json

コンパイル

mbed compileを行い、ビルドが通ることを確認する。

mbed compile

2. SW4STM32の環境構築

上記で、mbed compile を行う直前まで設定を行う。

mbed export -i sw4stm32 によりSW4STM32で開発できるプロジェクトにする。

mbed export -i sw4stm32

SW4STM32での設定

SW4STM32を開き、上記で作成したSW4STM32用のプロジェクトをimportする。(上記の例では、import先としてsampleディレクトリを指定する)

sampleディレクトリがWorkspace以外の場所にある場合は、File -> Import -> General -> Existing Projects into Workspace を選択して読み込む。(option欄の"Copy projects into workspace" にチェックを入れる)

importしたプロジェクトをビルドし、ビルドが通ることを確認する。

ただし、下記のようなエラーが確認される場合には、 mbed-os/platform/mbed_toolchain.h の190行目の asm volatile__asm volatile に修正する。

~/SW4workspace/sample/mbed-os/platform/mbed_toolchain.h:190:37: error: expected ';' before 'volatile'
 #define MBED_COMPILER_BARRIER() asm volatile("" : : : "memory")

Teamの設定

importしたプロジェクトを右クリックし、Team を選択した時に Commit や Push to Upstream などが表示されない場合は次を行う。

importしたプロジェクトを右クリックし、Team -> Share project を選択する。Gitを選択してNextをクリックし、Finishをクリックする。