Optibootのカスタマイズ2

アプリケーションプログラムの自動アップデート機能を実現させるため、ブートローダーにアプリケーション更新機能を追加した。

無線からアプリケーションプログラムをダウンロードし、一旦、外部のSRAMに保存する。
次に、ブートローダーに追加したプログラムで、SRAMからマイコンのFLASHメモリに書き込んだ後、WDTリセットをかける仕様。
当然、プログラムサイズは512byteには収まらず、ブートローダーのサイズは1024byteとなった。

プログラムを自動アップデートさせると、想定した通りにアップデートが進まなかった。
原因は、通信が正しく出来ない。(通信途中で通信エラーが頻発している)
仕方が無いので、プログラムのダウンロードを4Kbyteごとに行い、CRC32でチェックしながら分割ダウンロードをさせる事で、やっと想定した通りに自動アップデートさせる事が出来た。