この記事について
2019/12/2 に、Spresense開発ボードでJavaをサポートする旨のプレスリリースが行われました。
→ Spresense development board from Sony now also supports Java
ということで、実際に試してみます。
今回は、やってみたら意外と面倒で時間がかかった、開発環境の構築についてをまとめてみます。
Spresense Java 開発環境について
Spresense の Java の開発には、 MicroEJ という組み込み向けのJava開発環境を使用します。
開発環境の構築手順は https://github.com/MicroEJ/Platform-Sony-Spresense に書かれていますので、手順通りに進めます。ただし、この手順が意外と不親切というか絵が全く無く文字だけの説明なので非常にわかりにくいです。
今回は、この開発環境の構築手順を以下にまとめてみます。
前提
MicroEJ での開発は Windows10上でしか動かないようです。
Mac/Linux使いの人は現時点では諦めましょう。
Windows7使いの人はもうサポート切れ間近ですので、これを機にWindows10に移行しましょう。
事前に必要なモジュールをインストールする
gcc-arm-none-eabi v7.3.1 をダウンロードしてインストールします。
→ https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
MicroEJ のファイルをダウンロードしておく
以下ファイルをダウンロードしておきます。
(ファイルのリンク先は 2019/12/12時点の情報です。詳細は https://github.com/MicroEJ/Platform-Sony-Spresense を参照のこと)
- Download MicroEJ architecture 7.11
https://repository.microej.com/architectures/com/microej/architecture/CM4/CM4hardfp_GCC48/flopi4G25/7.11.0/flopi4G25-7.11.0-eval.xpf - Download Pack FS 5.0
https://repository.microej.com/architectures/com/microej/architecture/generic/fs/fs-pack/5.0.0/fs-5.0.0.xpfp - Download Pack UI 12.0
https://repository.microej.com/architectures/com/microej/architecture/CM4/CM4hardfp_GCC48/flopi4G25-ui-pack/12.0.0/flopi4G25UI-12.0.0.xpfp - Download Pack HAL 2.0.1
https://repository.microej.com/architectures/com/microej/architecture/generic/hal/hal-pack/2.0.1/hal-2.0.1.xpfp
Spresense SDKをインストールする
基本的には、Windows10(WSL)でSpresense SDKを使用する のとおりに進めればOKですが、いくつか注意点があります。
- Spresense SDK は最新版(2019/12/12時点でv1.4.2)ではなく、v1.3.1を使う必要があります。そのため、githubからSpresense SDKを取得する際に以下のようにバージョンを指定します。
$ git clone https://github.com/sonydevworld/spresense.git
$ cd spresense/
$ git submodule update --init --recursive
$ git checkout --recurse-submodules v1.3.1
- Spresense SDK 取得後に、MicroEJのファイルも取得します。Spresense SDKを取得したディレクトリにて、以下のとおりMicroEJを取得します。
$ git submodule add https://github.com/MicroEJ/Platform-Sony-Spresense.git MicroEJ
MicroEJの開発ツールを設定する
MicroEJ SDKをインストールする
https://developer.microej.com/packages/SDK/19.05/ から MicroEJ SDKのインストーラーをダウンロードし、インストールします。
SDKを起動する
SDKを起動して、いらない画面を閉じたりしていると、こんな感じの画面になると思います。

Architecture packs をインストールする
メニューから Window → Preference を選択します。
表示されたダイアログ内、MicroEJ → Architectures を選択します。

Import のボタンを押し、表示されるダイアログの Select directory の部分から Browse... ボタンを押します。
事前にダウンロードしておいた flopi4G25-7.11.0-eval.xpf fs-5.0.0.xpfp flopi4G25UI-12.0.0.xpfp hal-2.0.1.xpfp (※記載のファイル名は2019/12/12時点のものです) の各ファイルが保存されているディレクトリを選択します。

ファイルを選択すると、こんな感じでTarget のエリアに表示されます。 ダイアログ下部の I agree ~ のチェックボックにチェックを付けて、Finish ボタンを押します。
ライセンス登録する
UIDを取得する
上記で Architecture packs をインポートできたと思いますが、License の表示がバツ印になっています。

ここで、表示されている ARM Cortex-M4 GCC EVAL を選択すると、画面の Get UID のボタンが enable になりますので、ボタンを押します。

こんな感じでUID が表示されますので、どこかにコピーしておきます。
ライセンスファイルを取得する
ライセンスファイルを取得するために、 http://license.microej.com/ にアクセスします。アカウントを作成してログインします。
ログイン後の画面から Activate License をクリックすると、以下のような表示になります。

P/N の欄には https://developer.microej.com/getting-started-sdk-40.html に記載されているP/Nを入力します。(リンク先の画面を P/N で文字列検索するとそこに書いてあります。)
UID の欄には先程メモしたUIDを入力します。
Activateボタンを押すと、ライセンス情報が記載されたzipファイルがダウンロードできるようになりますので、ダウンロードしておきます。
ライセンスをインポートする
再びSDKに戻ります。
メニューから Window → Preference を選択します。
表示されたダイアログ内、MicroEJ を選択します。
Licensesの部分のAddボタンをクリックし、Select an activation key archiveから先ほどダウンロードしたライセンスファイルのzipファイルを選択し、OKを押すと、ライセンスが有効になります。

これで、めでたく MicroEJ SDK が使えるようになりました。
Spresense開発に必要なファイルをインポートする
メニューの File → Import...を選択します。
表示されたダイアログから、General → Existing Projects into Workspaceを選択して Nextボタンを押します。

ファイル選択のダイアログが表示されますので、下記のように Spresense SDK 配下にある MicroEJディレクトリを選択します。

Projects の欄に3つ表示されますので、すべてインポートします。

インポートされました。

最上位の Sony-Spresense-CM4hardfp_GCC48-configuration を開き、表示される Spresense.platform ファイルをダブルクリックします。

Overviewの画面が表示されますので、Build Platformのリンクをポチッとします。

BUILD SUCCESSFUL と表示されればOKです。
これで、やっっっっっっっっっとSDKの準備が完了です。
次回予告
長くなってしまったので、今回はここで一旦区切ります。
次回は、Spresense SDKの設定をしつつ、実際に Java で Spresense のアプリを作って、コンパイルして、Spresense上 で動作させてみます。