nRF91シリーズのDFU

こんにちは。加賀デバイスのNordic Teamです。 今回はDFU(Device Firmware Update)について記事を書きたいと思います。 ファームウェアの書き換え方法でDFU、FOTA、OTAなどの言葉が出てきます。英文にすると下記となります。 DFU:Device Firmware update FOTA:Firmware update over the air OTA:Over the airそのため、ファームウェアを書き換える上では、FOTAとOTAは同意義となります。FOTA(OTA)の英文から分かるように無線を使用した書き換えとなりなすが、DFUは無線だけではなく有線を使用した書き換えも含んでおります。 Nordicとしては下記のような様々なDFUの方法を提供しています。 ・UART ・USB ・BLE ・Cellular ・Wi-Fi これらの具体的な使用方法についてはNordicのオンライン学習プラットフォームのDevAcademyで説明していますのでご参照いただければと思います。 DevAcademy:nRF Connect SDK Intermediate/Lesson8 – Bootloaders and DFU/FOTA  Adding Device Firmware Update (DFU/FOTA) Support in nRF Connect SDK(YouTube) 今回の記事はnRF91シリーズを使用したUARTおよびCellular通信を使用したDFUについて説明していきます。 nRF5xシリーズについてはまた別の記事で投稿したいと考えていますのでご期待頂ければと思います。 ◢◤MCUbootを使用したDFU DFUの処理はApplicationプログラムが実行するのではなく、Bootloaderプログラムで実行されます。 Nordicの開発環境であるnRF Connect SDKのBootloaderの構成は2種類から選ぶことが出来ます。 ①Immutable bootloader(first-stage)のみを使用②Immutable bootloader(first-stage)とupgradable bootloader(second-stage)の2つを使用 Immuatble bootloaderは書き換え出来ないBootloaderとなり、upgradable bootloaderは書き換え可能なBootladerとなります。upgradable bootladerの使用についてはNordicのドキュメントに注意事項がありますので使用される前にご確認いただければと思います。   また、bootloaderにはnRF Secure Immutable Bootloader(NSIB)とMCUbootの2種類があります。 NSIBとMCUbootの特徴や使用方法についてはここでは説明しきれないため、詳しくは下記をご参照いただければと思います。  MCUboot…