本記事では開発したFWをRaytacのMDBT50Q-RX(USBドングル)に書き込む手順について簡単に解説しております。
前提としてハードウェアの設定を書き込める状態までしていることとなります。(ハードウェアの設定に関しては別記事で後日記載します)
まずは、下記2点のシナリオをベースに解説していきます。
①最初にFWを書き込む状況
②USBまたはOTAでDFUする状況
①最初にFWを書き込む場合
1.Public Keyの生成
セキュリティーの観点からPublic keyの生成(DOS環境必須)が始めとなります。
Public keyの生成Commandは下記の通り。
nrfutil keys generate public_key.pem
nrfutil keys display –key pk –format code public_key.pem –out_file public_key.c
2.Bootloaderの編集(Keil Cを例に)
2-1.Open project
\nRF5_SDK_15.3.0_59ac345\examples\dfu\secure_bootloader\pca10056_ble
2-2.下記赤枠内にPublic Key(Step 1で生成したもの)の貼り付け
2-3.Bootloaderの機能を始めるためのトリガーとなるKeyの設定
2-3-1.ボタンを押すことによりBootloader機能を有効化する(もしこの方法を採用しない場合は、”secure_bootloader” project and modify “sdk_config.h”を入力)
2-3-2.ボタンのPin No.の変更(”sdk_config.h” in “secure_bootloader”)
2-3-3. LED Pin No.の変更(pca10056.h” in “secure_bootloader”)
3. Application 編集
Projectを開け編集
\nRF5_SDK_15.3.0_59ac345\examples\peripheral\usbd_ble_uart\pca10056\s140\arm5_no_packs
4. bootloader_setting.hex fileの生成
nrfutil.exe settings generate –family NRF52840 –application USBD_TO_UART.hex –application-version 3 –bootloader-version 2 –bl-settings-version 1 bootloader_settings.hex
5. Fileの統合
1、Bootloader.hex
2、bootloader_settings.hex
3、s140_nrf52_6.1.1_softdevice.hex
4、USBD_TO_UART.hex
mergehex.exe -m Bootloader.hex bootloader_settings.hex -o Combind0.hex
mergehex.exe -m Combind0.hex s140_nrf52_6.1.1_softdevice.hex -o Combind1.hex
mergehex.exe -m Combind1.hex USBD_TO_UART.hex x -o USBD_TO_UART_BT_SD_APP.hex
6. nRFconnect を使用して統合ファイルをドングル(nRF52840)に書き込む
Programmerを立ち上げる
統合されたhexファイルをロードする。
hexファイルを書き込む
上記工程で書き込み完了です。
次はDFUです。
②-1, OTAによるDFU firmware update
- DFUファイル(.zip)の生成
nrfutil pkg generate –hw-version 52 –sd-req 0xb6 –application-version 0xFF –application USBD_TO_UART.hex –key-file public_key.pem USBD_TO_UART.zip
2.USB ドングルのDFUモードを起動
ドングルのボタンを押しながらPCのUSBハブに差し込む(DFUモードに)
3. Noridc nRF52DK(又はnRF52840 DK、nRF52833 DK, nRF51-DK)をPCに接続し、nRF Connect上のBluetooth Low Energy を実行する
4. DFUを行うデバイスの選択
5. Yesを選択(DFUの初回のみ表示)
6. DFU対象デバイス検索の為、Scan実行
7. Dfu Targを選択
8. Secure DFU optionの選択
9. ファイルの選択→DFU開始→完了
②-2, USBによるDFU
1. DFUファイル(.zip)の生成
nrfutil pkg generate –hw-version 52 –sd-req 0xb6 –application-version 0xFF –application USBD_TO_UART.hex –key-file public_key.pem USBD_TO_UART.zip
2. USB ドングルのDFUモードを起動
ドングルのボタンを押しながらPCのUSBハブに差し込む。PCがnRF52 comportを認識
3. USB DFUの実行
DOS環境下(Windows’ Command Line Interface)にて下記コマンドの実行
nrfutil dfu usb-serial -pkg USBD_TO_UART.zip -p COM69
DFUが即座に開始される(進捗バーが100%で完了)
上記工程で完了です。
御不明な点は問い合わせフォーム、又はRaytacへ直接の相談も可能です。
cs@raytac.comまで。
ピンバック: Tips : MDBT50Q-RX(USB A-type)からMDBT50Q-CX-40(USB C-type)への移管方法 | Bluetooth®モジュール (BT4.2 / 5 / 5.1 / 5.2 / 5.3 / 5.4)