LoginSignup
13
5

More than 3 years have passed since last update.

M5StickV / UnitV 向け .kfpkg の作り方 (Windows)

Last updated at Posted at 2020-06-05

M5StickV や UnitV 向けの配布用パッケージ(.kfpkg)の作り方を説明します。作成したアプリケーションのファームウェアのバージョンを固定できたり、microSD カード不要で動作させることができるようになります。なお、この手順により既存のファームウェアが上書きされてしまうので古いファームウェアが必要な方は実行しないでください。

事前準備

microSD カードを前提としたアプリケーションを作成している場合は micropython のソースコードの /sd/flash にするなど変更してください。また、配布用ディスクイメージは 3MB で固定なのであまり大きなファイルは利用できません。特に、機械学習モデルを利用している場合には、ファイルから読み取るのではなく、内蔵 Flash の特定領域(例えば 0x300000)から読み込むように変更します。

SPIFFS ディスクイメージの作成

それではまず配布したいアプリケーションのディスクイメージを作成していきます。 ここで作成したディスクイメージが /flash 以下に格納されます。

  1. WSL 上に Ubuntu 18.04 LTS をインストールします。Microsoft Storeを利用するのが簡単です。インストールが終わるとユーザー名とパスワードを聞かれるので適宜設定します。
  2. Ubuntu 上で下記を実行します。
$ sudo apt-get update
$ sudo apt install make
$ sudo apt install g++
  1. Windows のデスクトップ上に spiffs というフォルダを作成します。
  2. Ubuntu 上で下記を実行します。
$ cd /mnt/c/Users/(ユーザー名)/Desktop/spiffs
$ sudo git clone https://github.com/sipeed/MaixPy.git
  1. Windows のエクスプローラで spiffs\MaixPy\tools\spiffs に移動し、fs フォルダを作成、その中に boot.py など配布用パッケージに含めたいファイル一式をコピーします。
  2. Windows のエクスプローラで MaixPy\projects\maixpy_m5stickv\builtin_py の中身を上記の fs フォルダに上書きコピーします。
  3. Ubuntu 上で下記を実行します。
$ cd MaixPy/tools/spiffs
$ sudo python3 gen_spiffs_image.py ../../projects/maixpy_m5stickv/config_defaults.mk

成功すると下記のように表示されます。ディスクイメージは 3MB で固定なので、エラーになる場合はファイルを減らしてください。特に、ファイルサイズの大きい .kmodel はディスクイメージに追加するのではなく、.kfpkg 作成時に別途追加するようにします(後述)。

[SUCCESS] image file in fs_image
[USAGE] Please flash fs_image/maixpy_spiffs.img to address 0xD00000 of flash with flash tool kflash_gui

以上で、spiffs\MaixPy\tools\spiffs\fs_imagemaixpy_spiffs.img というファイルができます。

.kfpkg の作成

.kfpkg の作成には、ファームウェア (.bin)、SPIFFSイメージ (.img)、(機械学習モデルがあれば .kmodel) が必要です。

  1. https://docs.m5stack.com/#/en/quick_start/m5stickv/m5stickv_quick_start の click to download firmware をクリックして M5StickV_Firmware_v5.1.2.kfpkg をダウンロード。下のほうにある Kflash_GUI もあわせてダウンロードし展開しておきます。
  2. .kfpkg の拡張子を .gz に変更して展開し、maixpy.bin があることを確認します。
  3. kflash_gui.exe を起動し、Open File をクリックして、maixpy.bin を選択します。
  4. 続いて Add File をクリックし、Open File をクリックして、上記で作成した maixpy_spiffs.img を選択、0x00000 と表示されている部分を 0xD00000 に変更します。
  5. 機械学習モデル(.kmodel) がある場合は、Add File をクリックして、ファイルを追加し、0x300000 に変更します。
  6. Pack to kfpkg をクリックして、 .kfpkg を作成します。

以上です。

元に戻す

https://docs.m5stack.com/#/en/quick_start/m5stickv/m5stickv_quick_start から M5StickV_Firmware_v5.1.2.kfpkg をダウンロードして kflash_gui.exe で書き込めば Quick Start の初期状態になります。

参考リンク

13
5
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
13
5