在上一篇文章中,我們已成功完成 hello 範例的 GCC 編譯。本篇將透過 Nuvoton 官方工具 NuWriter 將程式下載至開發板,並透過 UART 確認程式是否正常執行。
NuWriter
準備下載檔案
NuWriter 燒錄步驟
NUC970_NuWriter-master\NuWriter\NuWriter\Release\NuWriter.exe
為什麼使用 DDR/SPRAM 模式?
在上一篇文章中,我們已成功完成 hello 範例的 GCC 編譯。本篇將透過 Nuvoton 官方工具 NuWriter 將程式下載至開發板,並透過 UART 確認程式是否正常執行。
NuWriter
準備下載檔案
NuWriter 燒錄步驟
為什麼使用 DDR/SPRAM 模式?
完成編譯環境設定後,接下來實際導入 Nuvoton 提供的範例專案進行建置測試。本次以 hello 範例為例,驗證 ARM GNU Toolchain 與 xPack Build Tools 是否能正常運作。
下載範例專案
到官方提供的連結下載範例專案 (此為 Nuvoton 官方 Non-OS 範例專案庫)
下載到 C 槽並解壓縮,本次以 hello 範例專案作為編譯示範,如下圖。
| 圖片說明:解壓縮之後 |
| 圖片說明:範例專案 |
在上一篇文章中,我們完成了 Eclipse IDE 的安裝與 Workspace 初始化。本篇將設定 Arm GNU Toolchain(arm-none-eabi)與 xPack Windows Build Tools 的路徑,使 Eclipse 能正確呼叫編譯器與 make 工具,完成 N9H31(ARM926EJ-S)專案的建置流程。
資料夾建立
ARM GNU Toolchain 安裝與配置
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
因使用 Windows 10 環境,所以選擇 Windows (mingw-w64-i686) zip 版本,如下圖。
下載完成後,將壓縮檔解壓縮至 C:\n9h_tools\gcc-arm 資料夾。
| 圖片來源:Arm Developer 官方下載頁面 |
開啟 Window → Preferences
找到 MCU 的項目,選擇 Global Arm Toolchains Paths 將 Toolchain folder 指向解壓縮後的 Arm GNU Toolchain bin 目錄(該目錄內應包含 arm-none-eabi-gcc.exe)。
詳細路徑 C:\n9h_tools\gcc-arm\arm-gnu-toolchain-15.2.rel1-mingw-w64-i686-arm-none-eabi\bin(這部分可以依照個人習慣進行替換)設定完成後,點選 Apply and Close 套用設定。
xPack Windows Build Tools 安裝與配置
xPack Windows Build Tools 主要提供 make、sh 等 GNU 建置工具,使 Windows 環境能正常執行 Makefile 編譯流程。
找到 MCU 的項目,選擇 Global Build Tools Path 將 Build tools folder 指向 xPack 的 bin 目錄,Build tools folder 請指定到 xPack 的 bin 目錄(該目錄內應包含 make.exe)。詳細路徑 C:\n9h_tools\build-tools\xpack-windows-build-tools-4.4.1-3\bin
修改完之後記得按下 Apply and Close
有硬體之後就是要準備開發軟體環境,但在正式開始開發前需要先將需要的軟體驅動安裝完備,這篇會說明必要驅動安裝,由於都是一路點擊下一步,這裡提供驅動的網址,就不逐步說明。
開發環境
本文使用系統為 windows 11,不同作業系統可能略有差異
驅動程式
下面三個為主要安裝的驅動連結
Nuvoton CDC Driver
https://www.nuvoton.com/resource-download.jsp?tp_GUID=SW1020160914071736
Nuvoton Virtual COM Driver
https://github.com/OpenNuvoton/NUC970_NuWriter/tree/master/Driver
Nu-Link driver
https://www.nuvoton.com/tool-and-software/ide-and-compiler/
功能說明
CDC driver 功用
Communications Device Class 是 USB 協會制定的一種跨裝置類別,定義 USB 裝置如何模擬成傳統的通訊裝置,有以下三個主要特色。
Virtual COM driver 功用
主要功能就是在電腦作業系統中,模擬出一個傳統的序列埠,有些晶片商,在自己的燒錄器上也會有這功能,像是你插上去之後就會有兩個裝置出現,但這功能的好處有以下兩點
Nu-Link driver 功用
讓電腦可以支援 keil MDK 或是 IAR 的開發軟體,包含 NuMicro 系列的晶片
安裝完成結果
在電腦裝置管理員中可以看到 NuVCOMDeviceClass 及 COM5(這個可能每個人的不一樣)
Note: 若沒有看到 NuVCOMDeviceClass 檢查板子上的 SW1 開關 PA0 PA1 有沒有調整到 ON
參考資料
https://www.nuvoton.com.cn/export/resource-files/en-us--UM_NuMaker_HMI_N9H31_A1_A2_EN_Rev1.00.pdf
https://www.nuvoton.com/export/resource-files/en-us--RH_Nu-Link_Driver_for_Keil_MDK_EN_V3.21.pdf
https://www.nuvoton.com/tool-and-software/ide-and-compiler/
在 AI 不斷進化的這幾年,為了因應 Edge AI(終端 AI)的應用需求,可以預期終端裝置所使用的晶片效能將會越來越高, 從各大 MCU 晶片廠相繼推出高階 MCU 的趨勢中,其實也可以略知一二。
這一類晶片的定位,通常介於一般 MCU 與需要跑 Linux 的 CPU 之間,不論是在處理頻率或內部記憶體容量上,都比傳統 MCU 強上不少,但又不至於承擔完整作業系統的負擔, 因此在應用層面,開始具備影像加速處理,甚至執行簡易機器學習的能力。
在這樣的背景下,我開始尋找一個適合作為終端應用實驗的平台,也因此注意到了 Nuvoton 的這塊開發板, 它在周邊介面上,已經預先整合了工業常用的 RS232、RS485、CAN,並同時支援語音與網路相關功能,整體設計方向相當符合未來工廠端設備的使用情境。
開發板硬體規格
下面整理 NK-N9H31A2 開發板的主要硬體規格,內容以官方資料為主。核心處理器與 SoC
顯示與圖形處理能力
記憶體與儲存介面
通訊與工業介面
電源配置