顯示具有 OTA 標籤的文章。 顯示所有文章
顯示具有 OTA 標籤的文章。 顯示所有文章

2025年6月22日 星期日

Nordic nRF52840 SoC方案 USB dongle - MDBT50Q-CX-40 已擴展在 Zephyr RTOS即時作業系統的開發配件支援

Zephyr RTOS開發配件是建立在 Linux 系統上的嵌入式設備的開源即時作業系統,已成為領先的物聯網生態系統,並被開發人員廣泛採用,使開發人員能夠更輕鬆地順利整合專案。


Nordic Semiconductor作為 Zephyr 嵌入式設備的開源即時作業系統的主要貢獻者(從低功耗藍牙控制器和 USB 協定層,到測試工具、DFU(裝置韌體升級) 框架等),也持續積極地將 Zephyr 開發配件資源整合到 nRFConnect SDK韌體開發包。


Raytac Corporation (勁達國際電子股份有限公司) 是一家整合Nordic晶片解決方案進行多協議相容的無線模組開發以及綜合解決方案供應商。目前已經正式拓展了 USB-C 接收器 – 
MDBT50Q-CX-40 在 Zephyr RTOS 即時作業系統的支援。

Zephyr連結: MDBT50Q-CX-40 Dongle — Zephyr Project Documentation




請注意:

1. 目前 Nordic 發布的 nRFConnect SDK 開發軟體可能不會與 Zephyr 即時作業系統的開發配件同步升級;建議獲取最新的 nRFConnect SDK 版本以獲得完整的 Zephyr 支援包。

2. 如果您對 Zephyr 如何幫助開發人員更輕鬆地設計專案以及 Nordic nRFConnect SDK 開發軟體如何讓您輕鬆進入 Zephyr RTOS 韌體開發的世界有興趣,歡迎報名Nordic即將在 2025 年 7 月 2 日舉行的網路研討會。
報名連結:How Zephyr became the leading open-source RTOS for IoT

資料來源:
Nordic nRFConnect SDK開發軟體教學 – 請點我
MDBT50Q-CX-40 產品開發參考說明書 – 請點我



Edited by Business Development Manager: Ms. Jocelyn Tsai


Raytac Corporation 勁達國際電子股份有限公司 / Raytac Corporation (USA)
A Bluetooth, Wi-Fi, and LoRa Module Maker/ODM & OEM Manufacturer based on
Nordic nRF54; nRF53: nRF52; nRF51; nRF7002
Semtech Specification: SX1262


Bluetooth Specification: BT6 ; BT5.4 ; BT5.3 ; BT5.2.
Wi-Fi Specification: Wi-Fi 6
LoRa Specification: LoRaWAN


All products are FCC/IC/CE/Telec/KC/RCM/SRRC/NCC/WPC Pre-Certified.
http://www.raytac.com
https://www.raytac.com/contact/
email: sales@raytac.com
Tel: +886-2-3234-0208(TW)/+1-626-217-3139(USA)

2024年9月6日 星期五

如何產生執行DFU(OTA)所需的 hex/zip 檔 – 步驟說明#2 - 合併檔案並執行DFU OTA

 IC: nRF52832

DK: PCA10040(對應到nRF52832)
SDK: 16.0.0
SD: s132_nrf52_7.0.1_softdevice.hex
IDE: Keil C
PC: Win 10

接續上一篇 - Part 1: Bootloader和Application(文章連結請按此), 本篇會針對

Part 2: 合併檔案並執行DFU OTA

的主題做介紹。


Part 2: 合併檔案並執行DFU OTA


步驟1:執行bootloader的combin批次檔
nrf52832_bootloader_setting_merge.bat批次檔如下,

執行後會得到nrf52832_bootloader_secure_combin_settings.hex檔案。


@echo off
title = [ J-Link Tool ] %CD%
set nrfDir=C:Program Files (x86)Nordic Semiconductornrf5xbin
set BS= nrf52832_bootloader_secure_settings.hex
set BL= nrf52832_xxaa_s132.hex
set BSBLCombind=nrf52832_bootloader_secure_combin_settings.hex
set path=%nrfDir%;%path%
pause
echo -----------merge image file-------------------
mergehex.exe -m %BS% %BL% -o %BSBLCombind%
pause



步驟2:從三併一批次檔(nrf52832_3in1_merge.bat批次檔)產生Final.hex
※註:Final.hex檔的主要用途為:客製化燒錄 使用。


nrf52832_3in1_merge.bat批次檔如下,執行後會得到Final.hex檔案。


@echo off
title = [ J-Link Tool ] %CD%
set nrfDir=C:UsersuserDesktopNordic BLEnRF5_merge toolsnRF52 bin
set SD= s140_nrf52_7.2.0_softdevice.hex
set BLT=nrf52832_bootloader_secure_combin_settings.hex
set APP=nrf52832_xxaa.hex
set SD_BLT=SD_BLT.hex
set Finalfile=Final.hex
set path=%nrfDir%;%path%
pause
echo -----------merge image file-------------------
mergehex.exe -m %SD% %BLT% -o %SD_BLT%
pause
mergehex.exe -m %SD_BLT% %APP% -o %Finalfile%
pause


步驟3:產生DFU(OTA) .zip的壓縮檔:nrf52832_xxaa.zip,供終端設備跑DFU(OTA)。
A. 到DOS的下列路徑:..Python27Scripts
B. 執行以下指令:

nrfutil pkg generate --hw-version 52 --sd-req 0xCB --application-version 0xFF --application nrf52832_xxaa.hex --key-file private.pem nrf52832_xxaa.zip

產生的 nrf52832_xxaa.zip就是用於DFU OTA 的壓縮檔。


註: FWID 0xCB for s132_nrf52_7.0.1_softdevice.hex 使用;可以從Nordic網站上的SoftDevice文件中得到。


步驟4:透過nRF Connect手機APP執行 DFU(OTA)

4-1 先在手機上安裝 nRF Connect for mobile APP (下載連結請按此)


4-2 DFU(OTA) .zip 檔案名稱為:nrf52832_xxaa.zip;
      可以先從電腦上透過電子郵件傳送nrf52832_xxaa.zip的zip檔,再使用手機收信並下載。


4-3 開啟 nRF Connect for mobile APP並連接裝置 (connect device)。


4-4 點擊 ”DFU” 並選擇剛剛下載的nrf52832_xxaa.zip壓縮檔。


4-5 開始跑DFU(OTA) → 等待DFU(OTA) 更新完成 → 關閉應用程式 → 重啟裝置 → 完成DFU(OTA)。


本系列: 如何產生執行DFU(OTA)所需的 hex/zip 檔 – 步驟說明#2 - 合併檔案並執行DFU OTA

Part 1: Bootloader和Application (文章連結)

Part 2: 合併檔案並執行DFU OTA


Technical guidelines provided by R&D Manager: Mr. MW Lee
Edited by Sales Manager: Ms. Mandy Chao


Raytac Corporation 勁達國際電子股份有限公司
Raytac Corporation: A Bluetooth, Wi-Fi, and LoRa Module Maker based on
Nordic nRF54; nRF53: nRF52; nRF51; nRF7002
Semtech Specification: SX1262

Bluetooth Specification: BT5.4 ; BT5.3 ; BT5.2.
Wi-Fi Specification: Wi-Fi 6
LoRa Specification: LoRaWAN

All products are FCC/IC/CE/Telec/KC/RCM/SRRC/NCC Pre-Certified.
http://www.raytac.com
email: service@raytac.com
Tel: +886-2-3234-0208

2024年8月28日 星期三

如何產生執行nRF52832 DFU(OTA)所需的 hex/zip 檔 – 步驟說明#1 – Bootloader和Application

本系列的文章將會引導使用者如何在使用勁達的nRF52832系列模組編寫程式時,設置並啟用 Secure DFU OTA(空中升級) 的功能。

主題:使用nRF52832架設DFU OTA功能 (以SDK版本16.0.0為例)
DFU:Device Firmware Update;裝置韌體升級
OTA:Over the air;空中升級

IC: nRF52832
DK: PCA10040(對應到nRF52832)
SDK: 16.0.0
SD: s132_nrf52_7.0.1_softdevice.hex
IDE: Keil C
PC: Win 10


Secure DFU OTA 的系列文章會有兩篇,分別涉及:

Part 1: Bootloader和Application

Part 2: 合併檔案並執行DFU OTA (文章連結)

本篇文章主題為 Part 1: Bootloader和Application。


nRF52832用SDK16.0.0做Secure DFU(OTA)的方法如下:

Bootloader


路徑: ..\nRF5_SDK_16.0.0_98a08e2\examples\dfu\secure_bootloader\pca10040_s132_ble\arm5_no_packs

在nRF52832,開發者需先崁入ECC(Elliptic Curve Cryptography)至bootloader。

步驟1:Bootloader的’micro_ecc_lib_nrf52.lib’檔案,能在以下路徑找到:


步驟2. 解壓’micro-ecc-master.zip’到下列(建議新增一個micro-ecc資料夾)路徑。


步驟3. 執行’ gcc-arm-none-eabi-7-2018-q2-update-win32.exe’。


步驟4. Win10設環境變數依序設置如下圖:


步驟5. 開啟DOS,在下列armgcc路徑執行”make” 指令,就會產生’micro_ecc_lib_nrf52.lib’。


步驟6. 在資料夾: nRF_micro-ecc ,加入產生的’micro_ecc_lib_nrf52.lib’檔案。


步驟7. 在建構bootloader時, 會因缺少public key產生錯誤。


步驟8:在Bootloader裡面產生public key檔案的做法
A. 到DOS的下列路徑:..Python27 Scripts
B. 執行以下指令:

nrfutil keys generate private.pem
nrfutil keys display --key pk --format code private.pem --out_file public_key.c


步驟9:將public_key.c的pk[64]內容(下圖上半部分紅框)覆蓋到dfu_public_key.c(下圖下半部分)內

※註:記得存取以下3個自動產生的檔案:
private.pem
public_key.c
dfu_public_key.c


步驟10:重新構建Bootloader的程式碼,並得到 nrf52832_xxaa_s132.hex 檔案。


Application


在構建Application前, 在Application內與DFU相關的程式碼 & 設定皆需增加或修改:

步驟1:打開C/C++並加入3個定義,分別為:
BL_SETTINGS_ACCESS_ONLY
NRF_DFU_SVCI_ENABLED
NRF_DFU_TRANSPORT_BLE=1;


步驟2. 在C/C++欄位內加入Include path(如紅框內所示)


步驟3. 在Project內增加檔案(請參考下方圖1 & 圖2)
            並新增2個Group(nRF_DFU與nRF_SVC,請參照下方圖3 & 圖4,按右鍵add group)。


步驟4. Application的main.c檔(..\examples\ble_peripheral\ble_app_uart\main.c)內
須增加下列幾張圖內的程式碼。

(程式碼請參考..\examples\ble_peripheral\ ble_app_buttonless_dfu內的main.c)


步驟5. Application的sdk_config.h檔
(路徑:..\examples\ble_peripheral\ble_app_uart\pca10056\s140\config\ sdk_config.h)內容需修改。


步驟6. 為能順利執行後續的DFU功能,Target內的IRAM1值要做修正:

如上圖,在檢查*p_app_ram_start值後,
需在Target欄位內將IRAM1原始值 0x20002AD8 0xD528 修改成正確值 0x20002AE8 0xD508,後續程式才能正確執行。(如下圖)


步驟7. 重新構建Application的程式碼,並得到 nrf52832_xxaa.hex檔案。


步驟8. 產生bootloader的setting檔案的做法, 得到nrf52832_bootloader_secure_settings.hex檔案。
nrfutil settings generate --family NRF52 --application nrf52832_xxaa.hex--application-version 3 --bootloader-version 2 --bl-settings-version 1 nrf52832_bootloader_secure_settings.hex --no-backup


※本系列第二篇 - Part 2: 合併建構完成的檔案 的說明文章預計於下周(2024年9月4日)刊登,敬請期待。



Technical guidelines provided by R&D Manager: Mr. MW Lee
Edited by Sales Manager: Ms. Mandy Chao


2024年7月10日 星期三

勁達國際電子發表新品: nRF52840/nRF52833 Type-C Dongle 接收器 MDBT50Q-CX的使用說明書

勁達國際電子在2024年8月即將推出的新品: MDBT50Q-CX ,

提供客戶除了 MDBT50Q-RX(USB-A 接收器) 的選擇。

MDBT50Q-CX 除了擁有更小的尺寸、備有Type-C接頭外,更內建了open bootloader,讓開發者能夠透過簡單的DFU 程序,完成韌體的升級。

如果您有使用MDBT50Q-RX進行開發的經驗,這篇使用說明將讓您了解: 新一代的MDBT50Q-CX為您大幅簡化了韌體開發&燒錄的程序,給您全新且更有效率的體驗!

當您使用MDBT50Q-CX進行燒錄時,您不需要事先在裸板上接線;(MDBT50Q-RX需要手動接線)

把USB插進您的裝置(電腦), 就可以啟動 USB DFU。

MDBT50Q-CX (USB-C 接收器, 使用 Nordic nRF52840): 產品連結

image

尺寸: 15.10 x32.85mm (0.59x1.29inches)


說明書目錄

A. 硬體介紹

B. 軟體開發環境架設

C. 將軟體燒錄至MDBT50Q-CX - 以NCS (nRF Connect SDK) 和 NRF5 SDK為例

D. 用MDBT50Q-CX執行 DFU (Device Firmware Update)


A. 硬體介紹

 <PIN腳分布>

2

<線路圖> (請點擊圖片 - 產品頁面含高畫質線路圖)




B. 軟體開發環境架設

您可以選擇使用: NCS(nRF Connect)或nRF5 SDK進行開發。

選項1. NCS (nRF Connect for Desktop)

(1) 下載並安裝 nRF Connect for Desktop:

B1

(2) 安裝 Toolchain Manager 和 Programmer

B2

(3) 安裝 nRF Connect SDK (NCS) → 建議使用2.6.0版

B3

選項2. nRF5 SDK

(1) 下載並安裝 nRF5 SDK → 建議安裝最新的 17.1.0版

B4

(2) 安裝 Segger Embedded Studio v5.42a (建議)

https://www.segger.com/downloads/embedded-studio/

B5

※若需要 v5.42a 程式,請洽勁達團隊: service@raytac.com


C. 將軟體燒錄至MDBT50Q-CX - 以NCS (nRF Connect SDK) 和 NRF5 SDK為例

此部分的demo會使用以下兩組範例 code:

C1. NCS (nRF Connect SDK):

範例 code 位址: \v2.6.0\nrf\samples\bluetooth\peripheral_uart

C2. nRF5 SDK:

範例 code 位址: \nRF5_SDK_17.1.0_ddde560\examples\peripheral\usbd_ble_uart


C1. NCS (nRF Connect SDK): (版本: V2.6.0)

步驟 C1-1. 點擊"+Add build configuration" → 板子(Board)名稱使用:nrf52840dongle_nrf52840

C1

步驟 C1-2. 在prj.conf 檔內加上以下指令以解除 DCDC & DCDCHV

CONFIG_BOARD_ENABLE_DCDC=n

CONFIG_BOARD_ENABLE_DCDC_HV=n

C2

步驟 C1-3. 在 board.c 檔內把VDD power supply(工作電壓)調至3.0 或 3.3伏特

如果板子名稱是: nrf52840dongle_nrf52840,預設的VDD會為3.0V。

您就不需要再修改VDD。

C3

步驟 C1-4. 點擊rebuild鍵以重新編譯program

C4

步驟 C1-5. 您的program將會被自動儲存至以下位址:

C:\ncs\v2.6.0\nrf\samples\bluetooth\peripheral_uart\build\zephyr\zephyr.hex