OTAアップデートの前提条件
ガジェットでOTAアップデートを受信するには、このトピックの要件が満たされていること確認してください。次に、ガジェットがEchoデバイスに接続するために使用する通信規格に応じて、OTAアップデートプロセス(Classic Bluetooth)またはOTAアップデートプロセス(Bluetooth Low Energy)を参照してください。
イメージのアップロード
Echoデバイスがガジェットにイメージをダウンロードする前に、新しいファームウェアイメージをAlexaクラウドにアップロードする必要があります。ファームウェアイメージをAlexaクラウドにアップロードするには、Alexa Gadgetsチームのパートナーと協力するか、alexa-gadgets-toolkit-beta@amazon.comにEメールを送ります。同じガジェットタイプのファームウェアイメージをアップロードするたびに、AlexaクラウドはアップロードされたイメージのOTAバージョン番号を上げます。OTAイメージの最大サイズは7MBです。
OTAバージョン
OTAアップデートは、アップデートのOTAバージョン番号が、Discover.Response
イベントの firmwareVersion
フィールドでガジェットから報告されるOTAバージョン番号より大きい場合にのみ発生します。OTAバージョンの要件は以下のとおりです。
- ガジェットは、自身のOTAバージョンを不揮発性メモリに格納しなければなりません。ガジェットは、最初はデフォルト値を格納します。ガジェットはOTAアップデートを受け取り始めた後、アップデートプロセス中にOTAバージョンを取得します。
- ガジェットのOTAバージョンの初期値は、ゼロでなければなりません。
- Bluetooth接続または再接続中にEchoデバイスからガジェットに
Discover
ディレクティブが送信された場合、ガジェットはfirmwareVersion
フィールドにOTAバージョンを含むDiscover.Response
イベントで応答しなければなりません。
フラッシュ容量
既存のイメージへの上書きを避けるために、ガジェットには「アクティブ」なイメージ(現在実行中のイメージ)とOTAイメージの2つのイメージを格納できる十分なフラッシュが必要です。これらのイメージは、別々のパーティションに格納することができます。たとえば、ガジェットのメモリを次のように3つのセクションに分けることができます。
| 0x0000 – 0x1FFF |(OTAによって変わらない不揮発性データ)
| 0x2000 – 0x5999 |(イメージセクション1)
| 0x6000 – 0x9FFF |(イメージセクション2)
イメージセクション1と2は、アクティブセクションとOTAセクションを交互に切り替わることができます。アクティブセクションは、ガジェットが起動するときにRAMにロードするセクションです。OTAセクションは、ダウンロードされたOTAイメージを格納するためにのみ使用されます。ダウンロード後にOTAセクション内のOTAイメージを確認したら、ガジェットはブートアドレスをOTAイメージが含まれているセクションのアドレスに変更します。したがって、ガジェットはリセットされると、古いイメージではなく新しいイメージをロードします。