概要
Zephyr/MCUBootのBLE FOTAのビルド方法の調査メモ
ホストPCはUbuntu24.04
前提
- SEGGER J-LINKのインストールができていること
- Zephyrのビルド環境ができていること
- nrfutilが使えること
手順
nrfutilでdeviceコマンドをインストールする
$ nrfutil install device
zephyrでMCUbootこみのsmp_srvをビルドする
$ west build -p always -b nrf52840dk/nrf52840 --sysbuild samples/subsys/mgmt/mcumgr/smp_svr -- -DOVERLAY_CONFIG=bt.conf
これで、こんな感じでmcuboot入のzephyr.elfが作れたらOK
*****************************
* Running CMake for mcuboot *
*****************************
*****************************
* Running CMake for smp_svr *
*****************************
[274/274] Linking C executable zephyr/zephyr.elf
Memory region Used Size Region Size %age Used
FLASH: 33460 B 48 KB 68.07%
RAM: 22464 B 256 KB 8.57%
IDT_LIST: 0 GB 32 KB 0.00%
Generating files from /media/data/work/zephyr_work/zephyrproject/zephyr/build/mcuboot/zephyr/zephyr.elf for board: nrf52840dk
これをボードに書き込めば、SMPをAdvitisingするようになる。
nRF Connect Device Managerを使えば、そのSMPをCONNECTEDできる。
ただし、ボードは技適が通っているものを使うこと。
dkボードは残念ながら技適取っていないので、今回はビルド確認までとする。