ファクトリーイメージの利用

Deguファームウェアの書き込みはdfu-utilで行うことができますが、実際のDeguのFlash上にはDeguファームウェアだけではなく、MCUboot(ブートローダー)や、MicroPythonコードを格納するファイルシステム等が書き込まれています。

これら全てを1つにまとめたイメージファイルを、ファクトリーイメージと呼んでいます。ファクトリーイメージは、デバッガを使ってFlashの先頭から書き込むことができるため、工場出荷に利用することができます。

準備

以下のものを用意してください。

  • PC
  • Degu
  • SEGGER J-Link等、nRF52840に対応するデバッガ
  • MCUbootバイナリ
    • ここでは、mcuboot.binとします。こちらから最新の標準イメージをダウンロードできます。
  • Deguファームウェア
    • ここでは、degu.binとします。 こちらから最新の標準イメージをダウンロードできます。

ここでは、SEGGER J-Linkを使って説明します。

ファクトリーイメージの作成

  1. deguレポジトリをダウンロードする

     $ git clone https://github.com/open-degu/degu.git
     $ cd degu
    
  2. ファクトリーイメージを作成する

    make-factory-image.shスクリプトを使って、ファクトリーイメージを作成することができます。ここでは、作成するファクトリーイメージ名をmy-degu-facotry-image.binとします。

     $ ./make-factory-image.sh mcuboot.bin degu.bin my-degu-facotry-image.bin
    

    これで、ファクトリーイメージの作成が完了しました。

ファクトリーイメージの書き込み

J-Linkを使って、ファクトリーイメージを書き込む手順を紹介します。

  1. J-Link Software and Documentation Packをインストールする

    各PCのOSに対応したJ-Link Software and Documentation Packをダウンロードし、インストールしてください。

  2. J-LinkとMicroUSBケーブルを接続する

    PCにJ-LinkとMicroUSBケーブルを接続してください。

  3. SWDコネクタにJ-Linkを接続する

    次の図のように、DeguのSWDコネクタにJ-LinkのSWDケーブルを接続してください。

    connect-swd

  4. Deguの電源を入れる

    PCに接続したMicroUSBケーブルをDeguに接続し、電源を入れてください。

  5. J-Flash Liteを起動する

    PCでJ-Flash Liteを起動してください。起動すると、ターゲットデバイスの種類とインターフェースを選択できるので、次のように設定し、OKをクリックしてください。

    • Device
      • NRF52840_XXAAを選択
    • Interface
      • SWD, 4000kHzを選択

    jflash-select

  6. ファクトリーイメージを書き込む

    Data File に、作成したファクトリーイメージ(ここではmy-degu-facotry-image.bin)を指定してください。Prog.addr.は、0x00000000のまま変更しないでください。

    jflash-ui

    Program Deviceをクリックすると、書き込みが開始します。書き込みが完了すると、LogDoneと表示されます。

    jflash-write

    これで、ファクトリーイメージの書き込みが完了しました。Deguは自動的にリセットし、書き込んだファームウェアが起動します。