MDBT50Q-RX(nRF52840 SoC)へのFW書き込みとDFUのやり方解説


本記事では開発した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

  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ハブに差し込む(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まで。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください