Closed makmorit closed 1 year ago
本件ファームウェア更新機能のベースとなったZephyrサンプルについて、バージョン更改(v1.9.1-->v2.2.0)による更新内容を調査しました。
ファイルパス | 差分有無 | 差分反映要否 |
---|---|---|
zephyr/samples/subsys/mgmt/mcumgr/smp_svr/src/bluetooth.c | 有り | 反映不要 |
zephyr/samples/subsys/mgmt/mcumgr/smp_svr/src/main.c | 有り | 反映不要 |
zephyr/samples/subsys/mgmt/mcumgr/smp_svr/src/common.h | 無し | - |
zephyr/samples/subsys/mgmt/mcumgr/smp_svr/overlay-bt.conf | 有り | 反映が必要 |
zephyr/samples/subsys/mgmt/mcumgr/smp_svr/prj.conf | 有り | 反映不要 |
zephyr/samples/subsys/mgmt/mcumgr/smp_svr/CMakeLists.txt | 無し | - |
18bff4fまでの対応により、バージョン更改内容を反映したファームウェアの書き込みを実行しました。 ファームウェア更新自体は正常に行われるようですが、気になった点は以下になります。
<err> bt_conn: ACL len mismatch (270 > 255)
のエラーが発生する
Zephyrプラットフォーム側のエラーのようです。
ただし、リトライすれば正常にファームウェアは反映されるので、今回は問題無しと判断します。[error] BLE connection has terminated unexpectedly.
というエラーメッセージはログ出力されますが、その後すぐに制御が戻らず、ファームウェア更新処理全体のタイムアウト(150秒)まで待たされてしまいます。
むしろこちらの方が問題と考えますので、調査+修正を行いたいと思います。
概要
nRF5340アプリケーションに実装したBLE経由のファームウェア更新機能(BLE DFU)について、nRF Connect SDKのバージョン更改による更新内容を反映させるようにします。 合わせて、管理ツール側のファームウェア更新機能に修正が必要であれば対応します。