顯示包含「ARM926EJ-S」標籤的文章。顯示所有文章
顯示包含「ARM926EJ-S」標籤的文章。顯示所有文章

2026年2月27日星期五

NK-N9H31A2 開發板:開發環境建置 (四) NuWriter 下載與 UART 執行驗證

 在上一篇文章中,我們已成功完成 hello 範例的 GCC 編譯。本篇將透過 Nuvoton 官方工具 NuWriter 將程式下載至開發板,並透過 UART 確認程式是否正常執行。

NuWriter

NuWriter 是 Nuvoton 提供的下載工具,支援 DDR、SPI、NAND、eMMC 等模式,可用於將映像檔暫時下載至 DDR 執行,或寫入各類儲存裝置,NuWriter 專案中包含 Driver、Firmware 及 PC Tool 原始碼,本篇僅使用已編譯完成之 PC Tool(Release 版本)。本篇僅使用 DDR/SPRAM 模式進行開發階段的功能驗證。
NuWriter 為 Nuvoton ARM9 MPU 系列(包含 NUC970 / N9H30 / N9H31)共用下載工具,可於官方 GitHub 專案取得:https://github.com/OpenNuvoton/NUC970_NuWriter/tree/master

準備下載檔案

本次使用 hello.bin 進行下載測試。

NuWriter 燒錄步驟

1. 啟動軟體
    下載並解壓縮 NuWriter 原始碼後,在以下路徑找到執行檔
     NUC970_NuWriter-master\NuWriter\NuWriter\Release\NuWriter.exe 

    選擇 N9H31 series 及 N9H31K51FC.ini
2. 設定參數及下載
    選擇DDR/SRAM, address 要設定 0x0,Execute address 使用範例專案預設值(0x0),若使用其他專案請依 linker script 設定為準。
    點擊 Re-Connect, 確認有顯示 Device Connected
    Download and run 點擊 Download

3. 燒錄完成畫面

4. 確認功能 
    這裡使用 Arduino 軟體的 comport 進行確認,可以看到有顯示程式碼的資訊
    UART 設定為 115200, 8N1。

    提醒: 當發生 Disconnect 時,記得重新按一下板子上的重置按鈕或重新上電

為什麼使用 DDR/SPRAM 模式?

DDR/SPRAM 模式會將程式暫時下載至 DDR 記憶體執行,不會寫入 SPI Flash,適合開發階段驗證使用,斷電後程式不會保留。

2026年2月22日星期日

NK-N9H31A2 開發板:開發環境建置 (二) ARM GNU Toolchain 與 xPack 設定

上一篇文章中,我們完成了 Eclipse IDE 的安裝與 Workspace 初始化。本篇將設定 Arm GNU Toolchain(arm-none-eabi)與 xPack Windows Build Tools 的路徑,使 Eclipse 能正確呼叫編譯器與 make 工具,完成 N9H31(ARM926EJ-S)專案的建置流程。

資料夾建立

在正式進入設定前,先於 C 槽建立 n9h_tools 資料夾,並在其中建立 gcc-arm 與 build-tools 兩個子資料夾,分別用來存放 Arm GNU Toolchain 與 xPack Windows Build Tools。


ARM GNU Toolchain 安裝與配置

1.下載 Arm GNU Toolchain(arm-none-eabi)
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
因使用 Windows 10 環境,所以選擇 Windows (mingw-w64-i686) zip 版本,如下圖。
下載完成後,將壓縮檔解壓縮至 C:\n9h_tools\gcc-arm 資料夾。

圖片來源:Arm Developer 官方下載頁面

2. 設定 Arm Toolchain 路徑
開啟 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 安裝與配置

1.下載 xPack
xPack Windows Build Tools 主要提供 make、sh 等 GNU 建置工具,使 Windows 環境能正常執行 Makefile 編譯流程。
找到下圖並選擇 zip ,下載完成後,將壓縮檔解壓縮至 C:\n9h_tools\build-tools 資料夾。

圖片來源:xPack GitHub Releases 頁面
 

2. 設定 xPack Build Tools 路徑
找到 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


完成以上兩項設定後,Eclipse 即可正確呼叫 ARM 編譯器與 make 工具,下一篇將示範如何導入範例專案並實際進行編譯測試。

2026年2月20日星期五

NK-N9H31A2 開發板:開發環境建置 (一) Eclipse 安裝

完成驅動程式安裝後,接下來正式進入開發環境建置階段,本篇使用作業系統為 Windows 10。
本系列將說明如何建立適用於 N9H31 (ARM926EJ-S 架構) 的開發環境,包含:
  1. Eclipse IDE 安裝(本篇)
  2. ARM GNU Toolchain 安裝與配置(下一篇)
  3. xPack Windows Build Tools 設定(下一篇)
  4. 範例專案導入與編譯測試(下下一篇)
為什麼選擇 Eclipse?
在 ARM9 架構下,其實工具選擇不像 Cortex-M 那麼多,這次選擇 Eclipse,原因如下:
1. 開源工具鏈完整
Eclipse 為開源 IDE,可搭配 GNU Toolchain,對於裸機或嵌入式 Linux 開發都適用。 

2. Keil MDK 對 ARM9 並非主流支援架構
N9H31 採用 ARM926EJ-S(ARM9 / ARMv5TE)核心。雖然 Nuvoton 提供 Keil 範例專案,但該專案使用的是早期 ARM-ADS 工具鏈(屬於舊版 ARM9 開發環境)。目前 Keil MDK 官方產品定位主要聚焦於 Cortex-M / Cortex-R 架構,並以 Arm Compiler 6 為主流編譯器。ARM9 屬於較舊架構,需搭配舊版工具鏈使用,因此本次環境建置改採 GNU Toolchain + Eclipse。

3. 官方已提供 Eclipse 專案範例
Nuvoton Technology Corporation 官方已提供 Eclipse 範例專案,可直接導入。減少手動建立 linker script、已配置好 startup code、Makefile / build 設定完整,可直接編譯測試。ARM9 與 Cortex-M 不同,需要自行處理 DDR 初始化、MMU 設定、Cache 控制、向量表重定位,若從零開始配置會耗費大量時間。

下載連結
先把所有會用到的連結放在這裡

Eclipse 安裝說明

接下來會逐步引導安裝過程

1.點擊 Eclipse 連結後,進入官方頁面,我們要找到下圖,這裡要強調是 Embedded C/C++ ,並選擇x86

2. 下載之後建議直接在 C 槽解壓縮,避免發生解壓縮失敗

解壓縮之後的樣子,為了讓路徑更單純,將資料夾整包提取直接放到 C 槽路徑底下,如下圖

3. 第一次開啟的樣子
要點這個圖示進行開啟
在這裡我們在 C 槽建立一個給 N9H31 專用的 workspace
過程中如果遇到下圖,點擊允許,主要避免 windows 一直掃描,降低編譯時間

開啟之後的樣子






打賞按讚