天天看点

nRF51822 空中升級 .zip壓縮/製作

nRF51822 支援固件空中升級(下稱OTA)服務,本篇說明如何製作升級用 .zip 檔案

(關於什麼是DFU服務、如何添加,請參考以下)

第一次實作,請按照step慢慢做完

加速方法,請直接跳到 Step 5

環境:

  • 蕊片:nRF51822EK
  • bootloader: dual bank s110 bootloader
  • softdevice: s110
  • windows 7
  • IDE: Keil version 5
  • Master control panel (for PC) 3.10.0.14
  • nRF Tools 7.5.2

Step 0.

被升級的裝置,必須燒寫與softdevice相同版本的 bootloader

如本次我使用的是 S110 

Step 1.

在IDE裡面 build application,之後  \_build 會產生 .axf檔案

默認名稱: nrf51422_xxac_s110.axf 

(此名稱可在 project>options 裡面修改)

Step 2.

將此 .axf檔案複製到 Keil_v5\ARM\ARMCC\bin資料夾

確認這個資料夾裡面有一個fromelf.exe

(如果是使用 Keil_v4 相同的執行檔是 hex2bin.exe)

Step 3. 

打開Command line,輸入:

cd C:\Keil_v5\ARM\ARMCC\bin\      ::進入資料夾
fromelf.exe nRF51422_xxac_s110.axf --output nRF51422_xxac_s110.bin --bin --output nRF51422_xxac_s110.bin --bin
           

nRF51422_xxac_s110.axf 即 .axf 檔的名稱

nRF51422_xxac_s110.bin 可替換成其他自訂名稱

隨後資料夾內會產生 nRF51422_xxac_s110.bin檔案

複製此檔案到

C:\Program Files (x86)\Nordic Semiconductor\Master Control Panel\3.10.0.14\nrf\

step 4.

此資料夾內有 nrfutil.exe,如果沒有,請重新安裝Master Control Panel 最新版本 

打開Command line, 輸入:

cd C:\Program Files (x86)\Nordic Semiconductor\Master Control Panel\3.10.0.14\nrf\

nrfutil.exe dfu genpkg --nRF51422_xxac_s110.bin --application-version 0xFFFFFFFF --dev-revision 0xFFFF --dev-type 0xFFFF --sd-req 0x4f,0x5a,0x64 nRF51422_xxac_s110.zip
           

(命令行中的參數,與 .zip內的 INIT file有關,可參閱)

Step 5.製作批次檔加速此流程

請先找到

  • nrf51422_xxac_s110.axf
  • fromelf.exe
  • nrfutil.exe

的相對位置

Step 6.建立空白txt檔案

輸入:

::分別可改為自定的檔案名稱
:: " "內輸入相對位置
SET zipName=nrf51422_xxac_s110
SET binName=nrf51422_xxac_s110

"C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe" ..\pca10028\s110\arm5\_build\nrf51422_xxac_s110.axf  --output %binName%.bin --bin --output %binName%.bin --bin
"C:\Program Files (x86)\Nordic Semiconductor\Master Control Panel\3.10.0.14\nrf\nrfutil.exe" dfu genpkg --application %binName%.bin --application-version 0xFFFFFFFF --dev-revision 0xFFFF --dev-type 0xFFFF --sd-req 0x4f,0x5a,0x64 %zipName%.zip

SET zipName=
SET binName=
::歸零
           

Step 7.將txt的副檔名 改為.bat

Step 8. 將.zip 檔案放入DFU主機

(這邊介紹的是用Android市場  nrf Connect 應用程式升級,

另外MacBook 有支援用 Master Control Panel (for Mac) 進行空中升級,此不作討論)

點選 DFU 選項

Select File > .zip file> 選擇檔案

继续阅读