OTAアップデートの前提条件



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イメージが含まれているセクションのアドレスに変更します。したがって、ガジェットはリセットされると、古いイメージではなく新しいイメージをロードします。