

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

# Xilinx Avnet MicroZed Industrial IoT 入門套件
<a name="getting_started_xilinx"></a>

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

本教學課程提供 Xilinx Avnet MicroZed Industrial IoT 套件入門指示。如果您沒有 Xilinx Avnet MicroZed 工業 IoT 套件，請造訪 AWS Partner Device Catalog 向[我們的合作夥伴](https://devices.amazonaws.com/detail/a3G0L00000AANtqUAH/MicroZed-IIoT-Bundle-with-Amazon-FreeRTOS)購買。

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

## 概觀
<a name="xilinx-overview"></a>

本教學課程包含以下入門步驟的指示：

1. 將主機板連線到主機機器。

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

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

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

## 設定 MicroZed 硬體
<a name="xilinx-setup-hardware"></a>

當您設定 MicroZed 硬體時，下圖可能有所助益：

![\[AVNet 微控制器主機板，具有 Power Good LED、使用者 LED 和按鈕、JTAG 存取、10/100/1000 乙太網路和 USB 主機、microSD 插槽、USB-UART、完成 LED、重設按鈕和開機 MODE 跳線器反白顯示。\]](http://docs.aws.amazon.com/zh_tw/freertos/latest/userguide/images/microzed.png)


**設定 MicroZed 主機板**

1. 將您的電腦連線至 MicroZed 主機板上的 USB-UART 連接埠。

1. 將您的電腦連線至 MicroZed 主機板上的 JTAG Access 連接埠。

1. 將路由器或連接網際網路的乙太網路連接埠連線至 MicroZed 主機板上的乙太網路和 USB 主機連接埠。

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

若要設定 MicroZed 套件的 FreeRTOS 組態，您必須使用 Xilinx 軟體開發套件 (XSDK)。Windows 和 Linux 上支援 XSDK。

### 下載並安裝 XSDK
<a name="install-xsdk"></a>

若要安裝 Xilinx 軟體，您需要免費的 Xilinx 帳戶。

**下載 XSDK**

1. 移至 [Software Development Kit Standalone WebInstall Client](https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools/2019-1.html) 下載頁面。

1. 選擇適合您作業系統的選項。

1. 系統會將您導向至 Xilinx 登入頁面。

   如果您有 Xilinx 帳戶，請輸入您的登入憑證，然後選擇**登入**。

   如果您沒有帳戶，請選擇 **Create your account (建立您的帳戶)**。註冊後，您應該會收到一封電子郵件，其中包含可啟用您 Xilinx 帳戶的連結。

1. 在 **Name and Address Verification (名稱與地址驗證)** 頁面上，輸入您的資訊，然後選擇 **Next (下一歩)**。下載應該可以準備開始了。

1. 儲存 `Xilinx_SDK_version_os` 檔案。

**安裝 XSDK**

1. 開啟 `Xilinx_SDK_version_os` 檔案。

1. 在 **Select Edition to Install (選取要安裝的版本)** 中，選擇 **Xilinx Software Development Kit (XSDK) (Xilinx 軟體開發套件 (XSDK))**，然後選擇 **Next (下一步)**。

1. 在安裝精靈的下列頁面上，於 **Installation Options (安裝選項)** 下，選取 **Install Cable Drivers (安裝纜線驅動程式)**，然後選擇 **Next (下一步)**。

如果您的電腦未偵測到 MicroZed 的 USB-UART 連線，請手動安裝 CP210x USB-to-UART Bridge VCP 驅動程式。如需指示，請參閱 [Silicon Labs CP210x USB-to-UART Installation Guide](https://www.xilinx.com/support/documentation/boards_and_kits/install/ug1033-cp210x-usb-uart-install.pdf)。

如需 XSDK 的詳細資訊，請參閱 Xilink 網站上的 [Getting Started with Xilinx SDK](https://www.xilinx.com/html_docs/xilinx2018_2/SDK_Doc/index.html)。

## 監控雲端的 MQTT 訊息
<a name="xilinx-monitor-mqtt"></a>

在執行 FreeRTOS 示範專案之前，您可以在 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 示範專案
<a name="xilinx-build-and-run-example"></a>

### 在 XSDK IDE 中開啟 FreeRTOS 示範
<a name="xilinx-freertos-import-project"></a>

1. 啟動工作空間目錄設定為 `freertos/projects/xilinx/microzed/xsdk` 的 XSDK IDE。

1. 關閉歡迎頁面。從功能表中，選擇 **Project (專案)**，然後清除 **Build Automatically (自動建立)**。

1. 從功能表中，選擇 **File (檔案)**，然後選擇 **Import (匯入)**。

1. 在 **Select (選取)** 頁面上，展開 **General (一般)**、選擇 **Existing Projects into Workspace (現有專案到工作空間)**，然後選擇 **Next (下一步)**。

1. 在 **Import Projects (匯入專案)** 頁面上，選擇 **Select root directory (選取根目錄)**，然後輸入示範專案的根目錄：`freertos/projects/xilinx/microzed/xsdk/aws_demos`。若要瀏覽目錄，請選擇 **Browse (瀏覽)**。

   在您指定根目錄之後，該目錄中的專案會出現在 **Import Projects (匯入專案)** 頁面上。根據預設，會選取所有可用的專案。
**注意**  
如果您在 **Import Projects (匯入專案)** 頁面頂部看到警告 (「有些專案無法匯入，因為它們已存在於工作區中。」)，則可以忽略它。

1. 在選取了所有專案後，請選擇 **Finish (完成)**。

1. 如果您在專案窗格中沒有看到 `aws_bsp`、`fsbl` 和 `MicroZed_hw_platform_0` 專案，請重複先前的步驟，請從第 3 步驟開始，但將根目錄設定為 `freertos/vendors/xilinx`，接著匯入 `aws_bsp`、`fsbl` 和 `MicroZed_hw_platform_0`。

1. 從功能表中，選擇 **Window (視窗)**，然後選擇 **Preferences (偏好設定)**。

1. 在導覽窗格中，展開 **Run/Debug (執行/偵錯)**、選擇 **String Substitution (字串替換)**，然後選擇 **New (新增)**。

1. 在 **New String Substitution Variable (新增字串替換變數)** 中，對於 **Name (名稱)**，輸入 **AFR\$1ROOT**。對於 **Value (數值)**，輸入 `freertos/projects/xilinx/microzed/xsdk/aws_demos` 的根路徑。選擇 **OK (確定)**，然後選擇 **OK (確定)**，來儲存變數並關閉 **Preferences (偏好設定)**。

### 建置 FreeRTOS 示範專案
<a name="xilinx-freertos-build-project"></a>

1. 在 XSDK IDE 中，從功能表中選擇 **Project (專案)**，然後選擇 **Clean (清除)**。

1. 在 **Clean (清除)** 中，保留選項的預設值，然後選擇 **OK (確定)**。XSDK 即會清除並建立所有專案，然後產生 `.elf` 檔案。
**注意**  
若要建立所有專案，而不清除它們，請選擇 **Project (專案)**，然後選擇 **Build All (全部建立)**。  
若要建立個別專案，請選取您要建置的專案、選擇 **Project (專案)**，然後選擇 **Build Project (建置專案)**。

### 產生 FreeRTOS 示範專案的開機映像
<a name="xilinx-build-boot-image"></a>

1. 在 XSDK IDE 中，於 **aws\$1demos** 上按一下滑鼠右鍵，然後選擇 **Create Boot Image (建立開機映像)**。

1. 在 **Create Boot Image (建立開機映像)** 中，選擇 **Create new BIF file (建立新的 BIF 檔案)**。

1. 在 **Output BIF file path (輸出 BIF 檔案路徑)** 旁邊，選擇 **Browse (瀏覽)**，然後選擇位於 `<freertos>/vendors/xilinx/microzed/aws_demos/aws_demos.bif` 的 `aws_demos.bif`。

1. 選擇**新增**。

1. 在 **Add new boot image partition (新增開機映像分割區)** 上，於 **File path (檔案路徑)** 旁邊，選擇 **Browse (瀏覽)**，然後選擇位於 `vendors/xilinx/fsbl/Debug/fsbl.elf` 的 `fsbl.elf`。

1. 對於 **Partition type (分割區類型)**，選擇 **bootloader**，然後選擇 **OK (確定)**。

1. 在 **Create Boot Image (建立開機映像)** 上，選擇 **Create Image (建立映像)**。在 **Override Files (覆寫檔案)** 上，選擇 **OK (確定)** 以覆寫現有的 `aws_demos.bif`，並在 `projects/xilinx/microzed/xsdk/aws_demos/BOOT.bin` 產生 `BOOT.bin` 檔案。

### JTAG 偵錯
<a name="xilinx-jtag"></a>

1. 將您的 MicroZed 主機板的開機模式跳接器設定為 JTAG 開機模式。  
![\[電路板標頭連接器和跳線器設定。\]](http://docs.aws.amazon.com/zh_tw/freertos/latest/userguide/images/xilinx-jtag.png)

1. 將您的 MicroSD 卡直接插入至位於 USB UART 連接埠下方的 MicroSD 卡槽。
**注意**  
在偵錯之前，請務必備份 MicroSD 卡上您具有的任何內容。

   您的主機板看起來如下：  
![\[具有連線選項的 FreeRTOS 評估板。\]](http://docs.aws.amazon.com/zh_tw/freertos/latest/userguide/images/xilinx-jtag-full-board.png)

1. 在 XSDK IDE 中，於 **aws\$1demos** 上按一下滑鼠右鍵、選擇 **Debug As (偵錯工具)**，然後選擇 **1 Launch on System Hardware (System Debugger) (1 在系統硬體 (系統偵錯器) 上啟動)**。

1. 當偵錯器在 `main()` 的中斷點停止時，請從功能表中選擇 **Run (執行)**，然後選擇 **Resume (繼續)**。
**注意**  
第一次執行應用程式時，新的憑證金鑰對會匯入非揮發性記憶體。對於後續執行，您可以註銷 `main.c` 檔案中的 `vDevModeKeyProvisioning()`，然後再重建映像和 `BOOT.bin` 檔案。這可防止每次執行時將憑證和金鑰複製到儲存體。

您可以選擇從 MicroSD 卡或 QSPI 快閃記憶體啟動 MicroZed 主機板，以執行 FreeRTOS 示範專案。 MicroSD 如需說明，請參閱 [產生 FreeRTOS 示範專案的開機映像](#xilinx-build-boot-image) 與 [執行 FreeRTOS 示範專案](#xilinx-run)。

### 執行 FreeRTOS 示範專案
<a name="xilinx-run"></a>

若要執行 FreeRTOS 示範專案，您可以從 MicroSD 卡或 QSPI 快閃記憶體啟動 MicroZed 主機板。 MicroSD 

當您設定 MicroZed 主機板執行 FreeRTOS 示範專案時，請參閱 中的圖表[設定 MicroZed 硬體](#xilinx-setup-hardware)。確定您已將 MicroZed 主機板連接至電腦。

#### 從 MicroSD 卡啟動 FreeRTOS 專案
<a name="xilinx-build-boot-sd"></a>

格式化 Xilinx MicroZed Industrial IoT 套件隨附的 MicroSD 卡。

1. 將 `BOOT.bin` 檔案複製到 MicroSD 卡。

1. 將此卡直接插入至在 USB UART 連接埠下方的 MicroSD 卡槽。

1. 將 MicroZed 開機模式跳接器設定為 SD 開機模式：  
![\[SD 卡有三個插槽，分別標示為 JP1, JP2, JP3 和一個鈕扣電池艙。\]](http://docs.aws.amazon.com/zh_tw/freertos/latest/userguide/images/xilinx-sd.png)

1. 按 RST 按鈕以重設裝置，並開始啟動應用程式。您也可以從 USB-UART 連接埠拔下 USB UART 纜線，然後重新插入纜線。

#### 從 QSPI 快閃記憶體啟動 FreeRTOS 示範專案
<a name="xilinx-build-boot-qspi"></a>

1. 將您的 MicroZed 主機板的開機模式跳接器設定為 JTAG 開機模式。  
![\[電路板標頭連接器和跳線器設定。\]](http://docs.aws.amazon.com/zh_tw/freertos/latest/userguide/images/xilinx-jtag.png)

1. 驗證您的電腦是否連接到 USB-UART 和 JTAG Access 連接埠。綠色電源正常 LED 燈應該亮起。

1. 在 XSDK IDE 中，從功能表中選擇 **Xilinx**，然後選擇 **Program Flash (程式快閃)**。

1. 在 **Program Flash Memory (程式快閃記憶體)** 中，應該自動填入硬體平台。對於 **Connection (連線)**，選擇 MicroZed 硬體伺服器，以連接主機板與主機電腦。
**注意**  
如果您使用的是 Xilinx Smart Lync JTAG 纜線，則必須在 XSDK IDE 中建立一部硬體伺服器。選擇 **New (新增)**，然後定義您的伺服器。

1. 在 **Image File (映像檔)** 中，輸入 `BOOT.bin` 映像檔的目錄路徑。改為選擇 **Browse (瀏覽)** 以瀏覽檔案。

1. 在 **Offset (位移)** 中，輸入 **0x0**。

1. 在 **FSBL File (FSBL 檔案)** 中，輸入 `fsbl.elf` 檔案的目錄路徑。改為選擇 **Browse (瀏覽)** 以瀏覽檔案。

1. 選擇 **Program (程式)**，對主機板進行程式設計。

1. 在 QSPI 程式設計完成之後，請拔下 USB-UART 纜線以關閉主機板的電源。

1. 將您的 MicroZed 主機板的開機模式跳接器設定為 QSPI 開機模式。

1. 將您的卡直接插入至位於 USB UART 連接埠下方的 MicroSD 卡槽。
**注意**  
務必備份 MicroSD 卡上您具有的任何內容。

1. 按 RST 按鈕以重設裝置，並開始啟動應用程式。您也可以從 USB-UART 連接埠拔下 USB UART 纜線，然後重新插入纜線。

## 故障診斷
<a name="xilinx-troubleshooting"></a>

如果您遇到與路徑不正確相關的建立錯誤，請嘗試清除並重建專案，如[建置 FreeRTOS 示範專案](#xilinx-freertos-build-project)中所述。

如果您使用的是 Windows，請確定您在 Windows XSDK IDE 中設定字串替換變數時使用的是正斜線。

如需開始使用 FreeRTOS 的一般疑難排解資訊，請參閱[故障診斷入門](gsg-troubleshooting.md)。