

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Nuvoton NuMaker-IoT-M487 入門
<a name="getting-started-nuvoton-m487"></a>

**重要**  <a name="deprecation-message"></a>
此參考整合託管在已棄用的 Amazon-FreeRTOS 儲存庫上。我們建議您在建立新專案時從[這裡開始](freertos-getting-started-modular.md)。如果您已經有以現在已棄用的 Amazon-FreeRTOS 儲存庫為基礎的現有 FreeRTOS 專案，請參閱 [Amazon-FreeRTOS Github 儲存庫遷移指南](github-repo-migration.md)。 FreeRTOS 

本教學課程提供 Nuvoton NuMaker-IoT-M487 開發面板入門的指示。系列微型控制器， 和 包含內建的 RJ45 乙太網路和 Wi-Fi 模組。如果您沒有 Nuvoton NuMaker-IoT-M487，請造訪 [AWS Partner Device Catalog](https://devices.amazonaws.com/detail/a3G0h000000Tg9cEAC/NuMaker-IoT-M487) 向我們的合作夥伴購買。

開始之前，您必須設定 AWS IoT 和 FreeRTOS 軟體，將開發板連接到 AWS 雲端。如需說明，請參閱[首要步驟](freertos-prereqs.md)。在本教學課程中，FreeRTOS 下載目錄的路徑稱為 `freertos`。

## 概觀
<a name="getting-started-nuvoton-m487-overview"></a>

本教學課程將指引您完成下列步驟：

1. 在您的主機機器上安裝軟體以對微控制器主機板的內嵌應用程式進行開發和除錯。

1. 將 FreeRTOS 示範應用程式交叉編譯至二進位映像。

1. 將應用程式二進位映像載入主機板，然後執行應用程式。

## 設定開發環境
<a name="gsg-nuvoton-m487-setup-env"></a>

Keil MDK Nuvoton 版本是適用於 Nuvoton M487 專為開發和偵錯的應用程式。Keil MDK v5 Essential、Plus 或 Pro 版本也應該適用於 Nuvoton M487 (Cortex-M4 核心) MCU。您可以下載 Keil MDK Nuvoton 版本，並獲得 Nuvoton Cortex-M4 系列 MCU 的價格折扣。Keil MDK 僅支援 Windows。

**安裝 NuMaker-IoT-M487 的開發工具**

1. 從 Keil MDK 網站下載 [Keil MDK Nuvoton 版本](https://store.developer.arm.com/store/embedded-iot-software-tools/keil-mdk-nuvoton-edition?edition=1164)。

1. 在您的主機上使用授權安裝 Keil MDK。Keil MDK 包含 Keil µVision IDE、C/C\$1\$1 編譯工具鏈以及 µVision 除錯器。

   如果您在安裝期間遇到問題，請聯絡 [Nuvoton](https://www.nuvoton.com/contact-us) 尋求協助。

1. 安裝 **Nu-Link\$1Keil\$1Driver\$1V3.06.7215r** （或最新版本），其位於 [ Nuvoton 開發工具](https://www.nuvoton.com/tool-and-software/ide-and-compiler/)頁面。

## 建置並執行 FreeRTOS 示範專案
<a name="gsg-nuvoton-m487-build-run"></a>

**建置 FreeRTOS 示範專案**

1. 開啟 Keil µVision IDE。

1. 在 **File (檔案)** 功能表上，選擇 **Open (開啟)**。在 **Open file (開啟檔案)** 對話方塊中，確定檔案類型選擇器設定為 **Project Files (專案檔案)**。

1. 選擇要建置的 Wi-Fi 或乙太網路示範專案。
   + 若要開啟 Wi-Fi 示範專案，請在 `freertos\projects\nuvoton\numaker_iot_m487_wifi\uvision\aws_demos` 目錄中選擇目標專案 `aws_demos.uvproj`。
   + 若要開啟乙太網路示範專案，請在 `freertos\projects\nuvoton\numaker_iot_m487_wifi\uvision\aws_demos_eth` 目錄中選擇目標專案 `aws_demos_eth.uvproj`。

1. 為確保您的設定正確以刷入主機板，請在 IDE 中以滑鼠右鍵按一下 `aws_demo` 專案，然後選擇 **Options (選項)**。(請參閱 [疑難排解](#gsg-nuvoton-m487-troubleshoot) 獲得詳細資訊。)

1. 在 **Utilities (公用程式)** 標籤上，確認 **Use Target Driver for Flash Programming (使用目標驅動程式進行 Flash 程式設計)** 已選取，且 **Nuvoton Nu-Link Debugger** 已設為目標驅動程式。

1. 在 **Debug (除錯)** 索引標籤的 **Nuvoton Nu-Link Debugger (Nuvoton Nu-Link 除錯器)** 旁，選擇 **Settings (設定)**。

1. 確認 **Chip Type (晶片類型)** 設定為 **M480**。

1. 在 Keil µVision IDE **Project** (Keil µVision IDE 專案) 導覽窗格中，選擇 `aws_demos` 專案。在 **Project (專案)** 功能表中，選擇 **Build Target (建置目標)**。

您可以在 AWS IoT 主控台中使用 MQTT 用戶端來監控裝置傳送至 AWS 雲端的訊息。

**使用 MQTT 用戶端訂閱 AWS IoT MQTT 主題**

1. 登入 [AWS IoT 主控台](https://console.aws.amazon.com/iotv2)。

1. 在導覽窗格中，選擇**測試**，然後選擇 **MQTT 測試用戶端**以開啟 MQTT 用戶端。

1. 在**訂閱主題**中輸入 ***your-thing-name*/example/topic**，然後選擇**訂閱主題**。

**執行 FreeRTOS 示範專案**

1. 將 Numaker-IoT-M487 主機板連接到主機 (電腦)。

1. 重新建置專案。

1. 在 Keil µVision IDE 的 **Flash** 功能表上，選擇 **Download (下載)**。

1. 在 **Debug (偵錯)** 選單上，選擇 **Start/Stop Debug Session (啟動/停止偵錯工作階段)**。

1. 當除錯器停在中斷點 `main()` 時，開啟 **Run (執行)** 功能表，然後選擇 **Run (執行) (F5))**。

   您應該會在 AWS IoT 主控台的 MQTT 用戶端中看到裝置傳送的 MQTT 訊息。

## 搭配 FreeRTOS 使用 CMake
<a name="gsg-nuvoton-m487-cmake"></a>

您也可以使用 CMake 來建置和執行 FreeRTOS 示範應用程式，或您使用第三方程式碼編輯器和偵錯工具開發的應用程式。

確定您已安裝 CMake 建置系統。請按照 [搭配 FreeRTOS 使用 CMake](getting-started-cmake.md) 中的指示，再遵循本主題中的步驟。

**注意**  
請確定編譯器 (Keil) 位置的路徑位於您的 Path (路徑) 系統變數中，例如 `C:\Keil_v5\ARM\ARMCC\bin`。

您也可以在 AWS IoT 主控台中使用 MQTT 用戶端來監控裝置傳送至 AWS 雲端的訊息。

**使用 MQTT 用戶端訂閱 AWS IoT MQTT 主題**

1. 登入 [AWS IoT 主控台](https://console.aws.amazon.com/iotv2)。

1. 在導覽窗格中，選擇**測試**，然後選擇 **MQTT 測試用戶端**以開啟 MQTT 用戶端。

1. 在**訂閱主題**中輸入 ***your-thing-name*/example/topic**，然後選擇**訂閱主題**。

**從來源檔案產生建置檔案並執行示範專案**

1. 在您的主機電腦上，開啟命令提示字元並導覽至 *freertos* 資料夾。

1. 建立一個資料夾，其中應包含產生的建置檔案 我們將此資料夾稱為 *BUILD\$1FOLDER*。

1. 產生 Wi-Fi 或乙太網路示範的建置檔案。
   + 若為 Wi-Fi：

     導覽至包含 FreeRTOS 示範專案來源檔案的目錄。然後，執行下列命令來產生建置檔案。

     ```
     cmake -DVENDOR=nuvoton -DBOARD=numaker_iot_m487_wifi -DCOMPILER=arm-keil -S . -B BUILD_FOLDER -G Ninja 
     ```
   + 若為乙太網路：

     導覽至包含 FreeRTOS 示範專案來源檔案的目錄。然後，執行下列命令來產生建置檔案。

     ```
     cmake -DVENDOR=nuvoton -DBOARD=numaker_iot_m487_wifi -DCOMPILER=arm-keil -DAFR_ENABLE_ETH=1 -S . -B BUILD_FOLDER -G Ninja 
     ```

1. 執行以下命令，產生二進位以刷入至 M487。

   ```
   cmake --build BUILD_FOLDER 
   ```

   此時，二進位檔案 `aws_demos.bin` 應該位於 `BUILD_FOLDER/vendors/Nuvoton/boards/numaker_iot_m487_wifi` 資料夾。

1. 若要將主機板設定為刷入模式，請確保 MSG 切換 (ICE 上 ISW1 的 4 號) 已切換為 ON (開啟)。當您插入主機板時，將會指派一個視窗 (和磁碟機)。(請參閱 [疑難排解](#gsg-nuvoton-m487-troubleshoot))。

1. 開啟終端機模擬器，透過 UART 檢視訊息。按照[安裝終端機模擬器](gsg-troubleshooting.md#uart-term)中的指示進行。

1. 將產生的二進位檔複製到裝置來執行示範專案。

   如果您使用 MQTT 用戶端訂閱 AWS IoT MQTT 主題，您應該會在 AWS IoT 主控台中看到裝置傳送的 MQTT 訊息。

## 疑難排解
<a name="gsg-nuvoton-m487-troubleshoot"></a>
+ 如果您的 Windows 無法辨識裝置 `VCOM`，請從連結 [Nu-Link USB Driver v1.6](https://www.nuvoton.com/export/resource-files/Nu-Link_USB_Driver_V1.6.zip) 安裝 NuMaker windows 序列埠驅動程式。
+ 如果您透過 Nu-Link 將裝置連接至 Keil MDK (IDE)，請確保 MSG 開關 (ICE 上 ISW1 的 4 號) 為關閉，如下所示。  
![\[標示 SD 卡插槽、微控制器、接腳、電源和重設連接器的電路板。\]](http://docs.aws.amazon.com/zh_tw/freertos/latest/userguide/images/nuvoton-m487-gsg.png)

如果您在設定開發環境或連接到主機板時遇到問題，請聯絡 [Nuvoton](http://www.nuvoton.com/contact-us/)。

### 在 Keil μVision 中偵錯 FreeRTOS 專案
<a name="gsg-nuvoton-m487-troubleshoot-debug-projects"></a>

**在 Keil μVision 中啟動偵錯工作階段**

1. 開啟 Keil μVision。

1. 依照步驟在 中建置 FreeRTOS 示範專案[建置並執行 FreeRTOS 示範專案](#gsg-nuvoton-m487-build-run)。

1. 在 **Debug (偵錯)** 選單上，選擇 **Start/Stop Debug Session (啟動/停止偵錯工作階段)**。

   當您啟動偵錯工作階段時，會顯示 **Call Stack\$1Locals** 視窗。μVision 會刷入示範至主機板，執行示範，並在 `main()` 功能開始時停止。

1. 在專案的原始程式碼中設定中斷點，然後執行程式碼。專案應類似以下所示：  
![\[具有硬體初始化、任務排程、裝置微控制器專案金鑰佈建的主要來源碼檔案。\]](http://docs.aws.amazon.com/zh_tw/freertos/latest/userguide/images/numaker-iot-m487-debug.png)

### 故障診斷 μVision 偵錯設定
<a name="gsg-nuvoton-m487-troubleshoot-debug"></a>

如果您在偵錯應用程式時遇到問題，請檢查您的偵錯設定是否在 Keil μVision 中正確設定。

**若要驗證「μVision」偵錯設定是否正確**

1. 開啟 Keil μVision。

1. 在 IDE 中以滑鼠右鍵按一下 `aws_demo` 專案，然後選擇 **Options (選項)**。

1. 在 **Utilities (公用程式)** 標籤上，確認 **Use Target Driver for Flash Programming (使用目標驅動程式進行 Flash 程式設計)** 已選取，且 **Nuvoton Nu-Link Debugger** 已設為目標驅動程式。  
![\[選項視窗顯示快閃記憶體程式設計、偵錯和輸出檔案處理的組態設定。\]](http://docs.aws.amazon.com/zh_tw/freertos/latest/userguide/images/nulink-debugger-target.png)

1. 在 **Debug (除錯)** 索引標籤的 **Nuvoton Nu-Link Debugger (Nuvoton Nu-Link 除錯器)** 旁，選擇 **Settings (設定)**。  
![\[Nu-Link Debugger 設定對話方塊包含驅動程式版本、ICE 版本、裝置系列、裝置 ID、連接埠、最大時鐘、晶片類型、連線模式、重設選項和電源控制電壓的選項。\]](http://docs.aws.amazon.com/zh_tw/freertos/latest/userguide/images/nulink-driver-setup.png)

1. 確認 **Chip Type (晶片類型)** 設定為 **M480**。