#このページについて
Windows10上で Spresense SDK を使用した開発を行うための環境を構築する手順です。
#Spresense SDKについて
ソニーが提供しているチュートリアルのページ にかかれている通り、Spresense SDK は 64bit Linux Ubuntu でしか動作しません。
しかし、Windows10 には Windows Subsystem for Linux (通称WSL) が使用でき、Windows10上でUbuntuを動作させることが可能です。
今回は、このWSL上でSpresense SDKを動かします。
と、えらそうに書いていますが...
これ以降に書くことは、ソニーが提供しているヘルプページを参考にしつつ、先人たちの知恵を最新化しただけです。先人の方々には感謝いたします。
なお、以下の先人たちの知恵を 丸パクリ 参考にいたしました。
Windows 10 on Spresense SDK の環境構築手順
WSLをインストールする
WSLがインストールされていない方は、以下ページを参考にWSLをインストールしてください。
WSL(Windows Subsystem for Linux)を使ってみた
WSLが使えるようになると、Windowsメニューに Ubuntu が追加されます。
念の為アップデート
Ubuntuを起動して、コンソールから以下を入力し、OSを最新化しておきましょう。
$ sudo apt-get update
$ sudo apt-get upgrade
Spresense メインボードをPCに接続する
Spresense メインボードをUSBケーブルでPCに接続します。
おそらくドライバは自動的にインストールされると思います。
接続後、デバイスマネージャーを開いて、シリアルポートの番号をメモっておきます。
Spresense SDKの開発環境のインストール
あとは、Spresense SDKのチュートリアル のページに書かれている通りの手順で進められます。
WSLで動かすための注意点としては、
- Spresenseのシリアルポートが
COM55
として認識されている場合は、Ubuntu上では/dev/ttyS55
として使用できます。 - コマンドから
ttySXX
を使う場合は、頭にsudo
をつけてコマンドを実行してください。WSLでは root でないとシリアルポートが使えないようです。(※私の環境だけかも???)
##手順
以下、ほぼ Spresense SDKのチュートリアル のコピペですが、以下の手順で進められると思います。
必要なパッケージのインストール
$ sudo apt-get install git gperf libncurses5-dev flex bison gcc-arm-none-eabi genromfs pkg-config autoconf automake cmake --install-recommends
kconfig-frontends を取得し、インストール
$ git clone https://bitbucket.org/nuttx/tools.git
$ cd tools/kconfig-frontends/
$ ./configure --disable-shared
$ make
$ sudo make install
Spresense SDK リポジトリからソースコードをダウンロード
$ git clone --recursive https://github.com/sonydevworld/spresense.git
サンプルアプリケーション "Hello, World!" のビルド
$ cd spresense/sdk
$ tools/config.py --kernel release
$ tools/config.py examples/hello
ここまで実行すると、以下のような表示がされると思います。
WARNING: New loader v1.X.X is required, please download and install.
Download URL : https://developer.sony.com/file/download/download-spresense-firmware-v1-X-XXX
Install command:
1. Extract loader archive into host PC.
./tools/flash.sh -e <download zip file>
2. Flash loader into Board.
./tools/flash.sh -l /home/hoge/spresense/firmware/spresense -c <port>
一旦 この表示をメモしておきつつ (ここ重要) 、ビルドを続けます。
$ make buildkernel
$ make
ブートローダーのインストール
先程メモした表示のとおりの手順を実行します。
- ダウンロードURLからファームウェアファイルをダウンロードします。
なお github からダウンロードした SDKのバージョンと、必要なファームウェアのバージョンはリンクしていますので、必ず表示されたURLのファイルをダウンロードします。 - 以下の通りコマンドを実行します
$ ./tools/flash.sh -e /home/hoge/spresense-binaries-vX.X.X.zip (←ダウンロードしたファームウェアファイルのフルパス)
$ sudo ./tools/flash.sh -l /home/hoge/spresense/firmware/spresense -c /dev/ttySXX (←パス・シリアルポートの番号を自分の環境に合わせる)
なお、先人の知恵 では、ここで flash_writer.exe
を使用したWindows独自のゴニョゴニョな方法を行っていますが、現(令和元年5月)時点ではそのようなゴニョゴニョの方法は必要なく、ソニーのチュートリアル通りの方法で進められます。
Spresense メインボードにサンプルをインストール
$ sudo tools/flash.sh -c /dev/ttySXX nuttx.spk (←シリアルポートの番号を自分の環境に合わせる)
正しくインストール出来た場合、Spresenseメインボードが自動的に再起動します。
動作確認
minicomをインストール
minicom
をインストールしていない場合は、パッケージを追加します。
$ sudo apt-get install minicom
Spresense メインボードのコンソールに接続する
$ sudo minicom -D /dev/ttySXX -b 115200 -s (←シリアルポートの番号を自分の環境に合わせる)
configuration
のメニューが表示されますので、Serial port setup
を選択し、Hardware Flow Control
を No
にします。
続いて、 Enter Esc キーの順に入力し次のように表示されれば正常に起動されています。
nsh>
サンプルを実行してみます。
nsh> hello
Hello, World!
#まとめ
ということで、Windows 環境でも Spresense SDK が簡単に利用できます。
とっても便利。
#最後に
あらためて、先人の知恵達に感謝いたします。
##参考にしたページ