今回は開発環境をセットアップしていきます。前回説明した通り、SparkFun EdgeボードはまだGUIなIDEが用意されていないので、コマンドラインベースの開発環境を構築する必要があります。
(1) Bash
コマンドラインツール、いわゆるシェルです。MacやLinuxを使ってる開発者にはおなじみのものなので説明の必要はないでしょう。問題はWindowsの場合です。SparkFunのページではGit Bashを使う方法が紹介されていますが地雷臭しかしないので、素直にVirtualBox等の仮想マシンでLinux使う方が良いと思います。
※ VirtualBoxの場合、デフォルトの仮想ハードディスクのサイズは10GBですが、10GBではTensorFlowのビルドをすると足りなくなるので余裕をもったサイズで作成しましょう。あとからパーティションを拡張するのは面倒です。
(2) Make
自動ビルドツールです。MacやLinuxを使ってる開発者にはおなじみのものなので説明の必要はないでしょう。Windowsの場合は仮想マシンでLinuxを使いましょう。SparkFunのページではGit Bash上でGNU MCU Eclipse Windows Build Toolsを使う方法が紹介されていますが、ここではそういうケッタイな方法はとりません。
Ubuntuなら下記のコマンドを実行してください。Makeを含む基本的なビルドツール一式がインストールされます。
sudo apt-get install build-essential
(3) Python3
SparkFun Edgeボードの開発のためのもろもろのスクリプトはPythonで書かれています。
Ubuntuなら下記のコマンドでインストールできます。SparkFunのページではWindowsの場合の注意点が書かれてますが、仮想マシンでLinux使うなら関係ありません。
sudo apt-get install python3
Pythonで暗号化とシリアル通信をおこなうためにPyCryptodomeとPySerialをインストールします。Ubuntuなら下記のコマンドを実行してください。
sudo apt-get install python3-pip sudo pip3 install pycryptodome sudo pip3 install pyserial
(4) GNU Arm Embedded Toolchain
かんじんのCコンパイラです。ARM Cortex-R/Mマイコン用のGCCであるGNU Arm Embedded Toolchain (GNU-RM) を用います。
GNU Arm Embedded Toolchainはここからダウンロードしてインストールできますが、Ubuntuならもっと簡単です。下記のコマンドを実行してください。
sudo apt-get install gcc-arm-none-eabi
(5) Ambiq SDK
Ambiq Apolloマイコン用のSDKです。Ambiq社の下記ページの下のほうの「Apollo3 Blue」の「Software」の「AmbiqSuite SDK Version X.X.X」からzipファイルをダウンロードし、適当なディレクトリに解凍します。ここではホームディレクトリ直下のAmbiqSuiteに解凍したとして話を進めます。
※ 2019/04/07の時点で最新版はAmbiqSuite SDK Version 2.1.0ですが、後述のSparkFun Edge BSPとの整合性がとれないので、「Software - Earlier Releases 」からAmbiqSuite SDK Version 2.0.0をダウンロードして使用します。
SDKの主なフォルダ構成は以下のようになっています。
- boards : 各ボードサポートパッケージ
- CMSIS : ARM Cortexプロセッサ用の標準化されたライブラリ
- mcu/apollo3 : Ambiq Apolloマイコン用のライブラリ
- tools/apollo3_scripts : ビルドとFlash書き込みのためのPythonスクリプト
- utils : ディレイや文字列操作などのユーティリティーライブラリ
諸事情により下記の修正が必要です。
cd ~/AmbiqSuite cp tools/apollo3_scripts/keys_info0.py tools/apollo3_scripts/keys_info.py chmod +x tools/apollo3_scripts/*.py
(6) SparkFun Edge BSP
SparkFun Edgeボード用のBSP(サポートパッケージ)です。下記のGitHubのリポジトリからcloneするなりzipをダウンロードするして、~/AmbiqSuite/boards/ の下に配置します。ここでは~/AmbiqSuite/boards/SparkFun_Edge_BSPに配置したとします。
諸事情により下記の修正が必要です。
cd ~/AmbiqSuite/boards/SparkFun_Edge_BSP chmod +x bsp/tools/*.py
以上で開発環境のセットアップは完了です。次回はサンプルコードのビルドとボードへの書き込みを行います。