發表文章

目前顯示的是 7月, 2020的文章

Nordic nRF52 OTA (BLE DFU) part II

圖片
前文 提到nRF52實作OTA的方法,但只談了前半部,因為後半部較簡單,本來不想寫了! 只寫一半不太完整,以下簡單記錄後半部如何做。 前文提到以下: 1 做private key, public key 2 利用public key, 做出secure bootloader 接下來把secure bootloader燒錄到nRF52晶片去,可以用nRF Connect, 或IDE (例如SES)來做。 然後查看手機或電腦的nRF Connect App來查看裝置,應該可以看到DfuTarg這個名字的裝置,這就是在運作中的Secure bootloader了。 接下來要製作要更新的firmware包裝檔: 1 在IDE裡建置專案(例如,SES裡Build, F7),然後找到建置出來的.hex檔,複製到你要的目錄去,這個目錄裡放置你之前建立的private key檔案。 2 在這個目錄下指令: nrfutil pkg generate --hw-version 52 --application-version 1 --application ble_app_xxx_pca10040_s132.hex --sd-req 0xcb --key-file private.key hid_dfu_package.zip 注意:   --application-version 用來註記程式版本,要等於或大於之前的   --application 用來指定建置出來的.hex檔   --sd-req 用來指定使用的soft device, 可以使用以下指令查詢: % nrfutil pkg generate --help  ... --sd-req TEXT                   The SoftDevice requirements. A comma-                                   separated list of SoftDevice firmware IDs (1                                   or more) of which one must be present on the