2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Java で Spresense の開発をしてみる(1)

Last updated at Posted at 2019-12-12

この記事について

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 を参照のこと)

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を起動して、いらない画面を閉じたりしていると、こんな感じの画面になると思います。
image.png

Architecture packs をインストールする

メニューから WindowPreference を選択します。
表示されたダイアログ内、MicroEJArchitectures を選択します。
image.png
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時点のものです) の各ファイルが保存されているディレクトリを選択します。
image.png

ファイルを選択すると、こんな感じでTarget のエリアに表示されます。 ダイアログ下部の I agree ~ のチェックボックにチェックを付けて、Finish ボタンを押します。

ライセンス登録する

UIDを取得する

上記で Architecture packs をインポートできたと思いますが、License の表示がバツ印になっています。
image.png
ここで、表示されている ARM Cortex-M4 GCC EVAL を選択すると、画面の Get UID のボタンが enable になりますので、ボタンを押します。
image.png
こんな感じでUID が表示されますので、どこかにコピーしておきます。

ライセンスファイルを取得する

ライセンスファイルを取得するために、 http://license.microej.com/ にアクセスします。アカウントを作成してログインします。
ログイン後の画面から Activate License をクリックすると、以下のような表示になります。
image.png
P/N の欄には https://developer.microej.com/getting-started-sdk-40.html に記載されているP/Nを入力します。(リンク先の画面を P/N で文字列検索するとそこに書いてあります。)
UID の欄には先程メモしたUIDを入力します。
Activateボタンを押すと、ライセンス情報が記載されたzipファイルがダウンロードできるようになりますので、ダウンロードしておきます。

ライセンスをインポートする

再びSDKに戻ります。
メニューから WindowPreference を選択します。
表示されたダイアログ内、MicroEJ を選択します。
Licensesの部分のAddボタンをクリックし、Select an activation key archiveから先ほどダウンロードしたライセンスファイルのzipファイルを選択し、OKを押すと、ライセンスが有効になります。
image.png

これで、めでたく MicroEJ SDK が使えるようになりました。

Spresense開発に必要なファイルをインポートする

メニューの FileImport...を選択します。
表示されたダイアログから、GeneralExisting Projects into Workspaceを選択して Nextボタンを押します。
image.png

ファイル選択のダイアログが表示されますので、下記のように Spresense SDK 配下にある MicroEJディレクトリを選択します。
image.png
Projects の欄に3つ表示されますので、すべてインポートします。
image.png
インポートされました。
image.png
最上位の Sony-Spresense-CM4hardfp_GCC48-configuration を開き、表示される Spresense.platform ファイルをダブルクリックします。
image.png

Overviewの画面が表示されますので、Build Platformのリンクをポチッとします。
image.png
BUILD SUCCESSFUL と表示されればOKです。

これで、やっっっっっっっっっとSDKの準備が完了です。

次回予告

長くなってしまったので、今回はここで一旦区切ります。
次回は、Spresense SDKの設定をしつつ、実際に Java で Spresense のアプリを作って、コンパイルして、Spresense上 で動作させてみます。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?