顯示具有 開發板 標籤的文章。 顯示所有文章
顯示具有 開發板 標籤的文章。 顯示所有文章

2025年5月29日 星期四

使用勁達模MDBT50Q-DB-40 藍芽低功耗模組模塊開發板,結合Nordic NCS SDK V2.9.1開發環境進行MCUboot DFU(裝置韌體更新) – 使用說明

本文章將會教您如何使用勁達Raytac的MDBT50Q模組,結合 nRF Connect SDK (NCS) V2.9.1的開發環境,進行 DFU(裝置韌體更新)。


大綱

1. 硬體架設
2. 軟體資源下載&載入
3. 編譯&燒錄程序
3a. 開啟 VS Code (Visual Studio Code)
3b. DFU 環境建立: DFU over UART(經由UART進行DFU) / DFU over USB(經由USB進行DFU)
3c. 開始編譯您的專案內容
3d. 將專案燒錄進MDBT50Q-DB-40開發板內
4. 用MDBT50Q開發板完成DFU over UART(經由UART進行DFU) / DFU over USB(經由USB進行DFU)
5. 透過 AuTerm (軟體) 進行DFU over USB
6. 在執行DFU時帶入自訂義金鑰(Custom Key)



1. 硬體架設
- 準備一片勁達Raytac 的 MDBT50Q-DB-40開發板(產品連結)
- 確定板端有透過USB跟與電腦連結(如下圖)



2. 軟體資源下載&載入
請下載以下軟體並載入
- nRF Connect for Desktop下載(請點我)
- nRF Command Line Tools下載(請點我)
- Visual Studio Code下載(請點我)

下載 nRF Connect for Desktop ➔ 下載Programmer 和 Toolchain Manager。




開啟 Open Toolchain Manager 並下載 SDK V2.9.1。


下載 Visual Studio Code。



3. 編譯&燒錄程序

3a. 開啟 VS Code (Visual Studio Code) [如下圖]


備註:
如果您第一次使用VS Code,當載入全部軟體之後,你會看到下圖。
點擊 Open VS Code 即可。


建立新專案
我們將建立一個新專案 - peripheral_uart,請根據以下步驟。

Create a new application ➔ Copy a sample ➔ NCS V2.9.1


將專案命名為 peripheral_uart
鍵入 peripheral_uart ,相應的範例程式會出現在下面的選擇項目中。


備註:我們將專案取名是為了方便辨別我們為此設立的專案,之後該專案將在您指定的目錄中建立名為peripheral_uart_mcuboot的子目錄。

3b. DFU 環境建立: DFU over UART(經由UART進行DFU) / DFU over USB(經由USB進行DFU)
請跟循下列步驟建立


在剛剛創立的專案名稱上 (peripheral_uart_mcuboot)點擊滑鼠右鍵,會跳出一個可供選擇的目錄;
選擇顯示全部 "Show in Explorer"。


如下圖,選擇 New File 並創立 sysbuild.conf 檔案。


創立sysbuild.conf 後,點擊滑鼠左鍵,會出現一個空格可填入內容。
請鍵入檔案名稱及寫入參數,如下:
SB_CONFIG_BOOTLOADER_MCUBOOT=y



設定參數及說明
sysbuild.conf 底下建立一個新的mcuboot.conf 檔案。
要定義的參數取決於要使用DFU over UART(經由UART進行DFU)還是DFU over USB(經由USB進行DFU)

備註:
如確定使用DFU over UART,此後的參數及環境設定都須使用 UART 相關的參數及設定;
如確定使用DFU over USB,此後的參數及環境設定都須使用 USB 相關的參數及設定。

使用DFU over UART的參數設定
# Enable logging for MCUboot
CONFIG_LOG=y
CONFIG_MCUBOOT_LOG_LEVEL_WRN=y
# Enable Serial Recovery over UART
CONFIG_MCUBOOT_SERIAL=y
# Disable UART, since Serial Recovery uses it
CONFIG_UART_CONSOLE=n
# Configure the bootloader to use two slots
CONFIG_SINGLE_APPLICATION_SLOT=n
# Turn on a LED so we can see when Serial Recovery mode is active
CONFIG_MCUBOOT_INDICATION_LED=y


使用DFU over USB的參數設定
# Enable logging for MCUboot
CONFIG_LOG=y
CONFIG_MCUBOOT_LOG_LEVEL_WRN=y
# Enable Serial Recovery over UART
CONFIG_MCUBOOT_SERIAL=y
# Disable UART, since Serial Recovery uses it
CONFIG_UART_CONSOLE=n
# Configure bootloader to use two slots
CONFIG_SINGLE_APPLICATION_SLOT=n
# Turn on a LED so we can see when Serial Recovery mode is active
CONFIG_MCUBOOT_INDICATION_LED=y
# Configure serial recovery to use CDC_ACM, which by default uses the USB
CONFIG_BOOT_SERIAL_CDC_ACM=y
# Increase flash space for the MCUboot image to fit USB drivers
CONFIG_PM_PARTITION_SIZE_MCUBOOT=0x10000



接著建立一個新的檔案,取名為 mcuboot.overlay
依據DFU over UART / DFU over USB 選擇不同的參數。


使用DFU over UART的overlay檔設定
/* Configure button and LED for Serial Recovery */
/ {
    aliases {
          mcuboot-button0 = &button0;
          mcuboot-led0 = &led0;
    };
  };


使用DFU over USB的overlay檔設定
/* Configure button and LED for Serial Recovery */
/ {
    aliases {
          mcuboot-button0 = &button0;
          mcuboot-led0 = &led0;
    };
  };
/* Configure CDC ACM */
&zephyr_udc0 {
            cdc_acm_uart0: cdc_acm_uart0 {
                        compatible = "zephyr,cdc-acm-uart";
            };
};


備註:若您使用DFU over USB,請依下圖增加以下指令。


完成上列的全部步驟之後,就可以開始編譯您的專案內容了。


3c. 開始編譯您的專案內容
點選下圖左側的新增建置設定 ➔ 選擇 Board ➔ 選擇raytac_mdbt50q_db_40/nrf52840。

點擊右側螢幕下方的 Generate and Build 即可開始編譯。


編譯完成並且沒有顯示錯誤,如下圖。


3d. 將專案燒錄進MDBT50Q-DB-40開發板內。


如成功燒錄,則會如下圖顯示:...flashed successfully。



4. 用MDBT50Q開發板完成DFU over UART(經由UART進行DFU) / DFU over USB(經由USB進行DFU)

請注意:
若選擇使用 UART 建立環境及鍵入參數,請使用 UART 進行硬體更新。
同樣,若選擇USB,請使用 USB 進行硬體更新。


DFU over UART 的硬體更新方式
按住 SW2 按鈕,並將電源插入 USB 連接器。系統將進入bootloader模式。
您可以進行DFU over UART


DFU over USB
的硬體更新方式

您仍然需要按住 SW2 按鈕並連接USB上電。


5. 透過 AuTerm (軟體) 進行DFU over USB
AuTerm 是在 Windows 系統上運行的 PC 軟體(免費下載)。
它允許您在 MDBT50Q-DB-40 進行DFU over USB
下載網址:
https://github.com/thedjnK/AuTerm/releases/download/v0.35a-pre/AuTerm_test_Win_x64_v0.35a.7z

選擇“配置”標籤來設定正確的 COM 連接埠。(請跟隨下列步驟來執行)


切換到該標籤並執行下圖步驟1~6。


您可以使用檔案:peripheral_uart_mcuboot.signed.bin 進行測試。
該檔案位於 peripheral_uart_mcuboot/build,請跟隨下列步驟來執行。
當進度條達到100%,代表韌體更新已經完成。



6. 在執行DFU時帶入自訂義私人金鑰(Private Key)
開發韌體時,您必須擁有自訂義的私人金鑰 (Private Key) 來保證韌體安全。
若沒有私人金鑰,您會看到如下圖的警告。


步驟一:使用 pip 安裝 imgtool 程式


步驟二:安裝完成後,輸入下圖片命令以在您的專案資料夾中產生私人金鑰。


步驟三:sysbuild.conf 中設定如以下,以使用私人金鑰
# Add MCUboot
SB_CONFIG_BOOTLOADER_MCUBOOT=y
#Add private key for MCUboot
SB_CONFIG_BOOT_SIGNATURE_KEY_FILE="\${APP_DIR}/private_key.pem"
# Configure key type
SB_CONFIG_BOOT_SIGNATURE_TYPE_ECDSA_P256=y


步驟四:重新燒錄專案後,您的韌體將受到安全保護。


Edited by Account Manager: Mr. Welson Kuo

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.1 ; 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)

2023年3月12日 星期日

如何將已編譯的程式碼透過Nordic Connect SDK (NCS) 燒錄至Raytac nRF5340模組開發板(MDBT53-DB-40 /MDBT53V-DB-40)

 前言: 在取得NET CoreApplication Corezephyr.hex檔後,就可以將程式燒錄到Raytac nRF5340開發板(MDBT53-DB-40 /MDBT53V-DB-40)

執行燒錄程式

Step1. 

 開啟nRF Connect 選擇”Programmer”的”Open”


Step2.

點選 “SELECT DEVICE” 要能夠看到 nRF53 DK顯示出來如下:


Step3.

選擇 “nRF5340 DK” 按下“Erase All” 將Raytac nRF5340開發板flash清空,清除寫入保護

Step4.

點選 “Add File” 先加入NET Core的zephyr.hex檔後再加入Application Core的zephyr.hex檔



Step5.

選擇 “Erase & Write ” 將NET Core和Application Core的zephyr.hex檔燒錄至Raytac nRF5340開發板的flash


 

在手機上下載Nordic 的nRF Connect APP, 點選此APP後做Scan device後會看到Raytac nRF5340開發板以”Nordic_UART_Service’ 名稱做藍牙廣播

參考資料:

Raytac Corporation 勁達國際電子有限公司
A BT5.2 & BT5.1 & BT5 module maker based on Nordic nRF53 & nRF52 solution 
(nRF5340 & nRF52840 & nRF52833 & nRF52832 & nRF52820 & nRF52811 & nRF52810 & nRF52805)
www.raytac.com email: service@raytac.com Tel: +886.2.3234.0208

2021年5月30日 星期日

勁達Nordic模組DK開發板環境架設

 開發板一直是進入物聯網最佳的工具, 因此當每一個方案新推出之際, 重中之重就是要有開發板伴隨推出以方便開發者體驗與研發.

開發板又分兩種, 一種是IC方案商提供的開發板, 例如Nordic 的 nRF52840DK; 另一種是模組開發商所推出的模組開發板, 例如 勁達的MDBT50Q-DB. 兩者雖大同小異, 但由於模組是以IC為基本的延伸再加上的必要的電路設計優化與GPIO腳位的硬體排列, 所以有相當程度的差異.

因此, 我們建議使用Nordic 的開發板做先期韌體或硬體的開發者, 在試產階段前, 務必將韌體導入到模組開發板上再做一次的硬體與韌體的驗證與除錯, 以避免這些細微的差異造成產品功能性上的嚴重影響. 當然, 若是一開始即以模組開發板導入設計的專案, 就不需要再花一次工把硬韌體搬到模組開發板上做驗證了!

勁達國際電子Raytac Corporation現已是Nordic 方案中最重要的第三方模組供應商, 所製造的藍牙模組具有穩定的品質與優化的RF無線效能, 所有模組模塊全系列更已通過BT5.X的藍牙認證外,也全部通過美國FCC、加拿大IC、歐盟CE、日本MIC/Telec、韓國KC、中國SRRC、台灣NCC、紐澳RCM等的法規安規認證 , 因此, 現已是全球公認最有品質與信譽的Nordic藍牙模組供應商!

為了方便大家容易上手勁達的藍牙模組, 今天利用這一篇文章來介紹如何完成勁達的Nordic 模組模塊開發版DK的環境架設, 希望藉此可以幫助到更多的開發者縮短專案開發的時間與資源.

首先, 介紹勁達的模組現有的開發板系列

nRF52840 模組開發板:MDBT50Q-DB-40

nRF52833 模組開發板 : MDBT50Q-DB-33 (42GPIO) / MDBT50-DB-33 (18 GPIO)

nRF52832 模組開發板:MDBT42Q-DB-32

nRF52820 模組開發板:MDBT50-DB-20

nRF52805 模組開發板:MDBT42T-DB-05 / MDBT42TV-DB-05

台灣開發者, Raytac的Nordic 模組開發板可以在 PCHome 24hr露天購買

國外開發者, Raytac的Nordic 模組開發板可以在 DigiKey, eBay 或 Amazon購買

硬體環境架設

勁達的模組開發板包裝含以下

  1. 開發板本體 x 1
  2. IDC cable x 1
  3. USB-Mini USB 連接線

IDC cable 主要是用來連接 J-Link (或Nordic DK)所使用, 其功能主要是將程式燒錄傳輸到開發板上.

Mini USB 線主要是用來供電 ( nR52840 / nRF52833 / nRF52820 等有USB介面的的方案也傳輸Data)


為了接續接下來的開發工作, 請到勁達官網下載對應的開發板DK的線路圖

(以下使用nRF52840方案 MDBT50Q-DB-40為例供參考)


韌體環境架設

  1. 下載nRF Connect for Desktop
  2. 下載nRF Command Line Tool
  3. 下載nRF5 SDK

韌體燒錄步驟

1.在nRF Connect 選擇功能



2. 選擇燒錄器 (這裡以Nordic DK為例)


3. 加入 hex file


4. 清除並重寫複製


註: 針對nRF52840 / nRF52833 / nRF52820 等有USB介面的開發板, 在第四步驟後會出現以下畫面, 請點選 ”No"



以上為簡單的介紹有關勁達的Nordic 模組模塊開發板的初期環境架設教學, 開發者若在使用上還有不清楚的地方, 或韌體及硬體開發有任何需要支援的地方, 歡迎隨時與我們或代理商聯絡.

Raytac Corporation 勁達國際電子股份有限公司

A Bluetooth & WiFi module maker based on Nordic nRF53 & nRF52 & nRF7002 solution 

(nRF5340 & nRF52840 & nRF52833 & nRF52832 & nRF52820 & nRF52811 & nRF52810 & nRF52805 &nRF7002)

www.raytac.com          email: service@raytac.com         Tel: +886.2.3234.0208