

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

# IoT 節點用的 STMicroelectronics STM32L4 探索套件入門
<a name="getting_started_st"></a>

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

本教學課程提供 STMicroelectronics STM32L4 Discovery Kit IoT Node 的入門指示。如果您還沒有 STMicroelectronics STM32L4 探索套件 IoT 節點，請造訪 AWS Partner Device Catalog 向[我們的合作夥伴](https://devices.amazonaws.com/detail/a3G0L00000AANsWUAX/STM32L4-Discovery-Kit-IoT-Node)購買。

確定已安裝最新的 Wi-Fi 韌體。若要下載最新的 Wi-Fi 韌體，請參閱 [STM32L4 Discovery kit IoT node, low-power wireless, Bluetooth Low Energy, NFC, SubGHz, Wi-Fi](https://www.st.com/resource/en/utilities/inventek_fw_updater.zip)。在 **Binary Resources (二進位資源)** 中，選擇 **Inventek ISM 43362 Wi-Fi module firmware update (read the readme file for instructions) (Inventek ISM 43362 Wi-Fi 模組韌體更新 (讀取讀我檔中的說明))**。

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

## 概觀
<a name="w2aac31b9b7c25c46c13"></a>

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

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

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

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

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

### 安裝 System Workbench for STM32
<a name="install-system-workbench"></a>

1. 瀏覽至 [OpenSTM32.org](http://www.openstm32.org/HomePage)。

1. 在 OpenSTM32 網頁上註冊。您需要登入以下載 System Workbench。

1. 瀏覽至 [System Workbench for STM32 安裝程式](http://www.openstm32.org/System%2BWorkbench%2Bfor%2BSTM32)，以下載並安裝 System Workbench。

如果您在安裝時遇到問題，請參閱 [System Workbench 網站](http://www.openstm32.org/HomePage)的常見問答集。

## 建置並執行 FreeRTOS 示範專案
<a name="st-build-and-run-example"></a>

### 將 FreeRTOS 示範匯入 STM32 System Workbench
<a name="st-freertos-import-project"></a><a name="st-import-project"></a>

1. 開啟 STM32 System Workbench，然後輸入新工作空間的名稱。

1. 從 **File (檔案)** 功能表中，選擇 **Import (匯入)**。展開 **General (一般)**，選擇 **Existing Projects into Workspace (現有專案到工作空間)**，然後選擇 **Next (下一步)**。

1. 在 **Select Root Directory (選取根目錄)** 中，輸入 `projects/st/stm32l475_discovery/ac6/aws_demos`。

1. 預設應選取 `aws_demos` 專案。

1. 選擇 **Finish (完成)** 以將專案匯入 STM32 System Workbench。

1. 在 **Project (專案)** 功能表中，選擇 **Build All (全部建置)**。確認專案編譯時未發生錯誤。

### 監控雲端的 MQTT 訊息
<a name="w2aac31b9b7c25c46c17b5"></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**，然後選擇**訂閱主題**。

當示範專案在您的裝置上成功執行時，您會看到「Hello World！」 多次傳送到您訂閱的主題。

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

1. 使用 USB 纜線將 IoT 節點用的 STMicroelectronics STM32L4 探索套件接到您的電腦。（檢查主機板隨附的製造商文件，以取得要使用的正確 USB 連接埠。)

1. 從 **Project Explorer (專案瀏覽器)** 中，以滑鼠右鍵按一下 `aws_demos`，選擇 **Debug As (除錯工具)**，然後選擇 **Ac6 STM32 C/C\$1\$1 Application (Ac6 STM32 C/C\$1\$1 應用程式)**。

   如果第一次除錯工作階段啟動時發生除錯錯誤，請依循下列步驟進行操作：

   1. 在 STM32 System Workbench 的 **Run (執行)** 功能表中，選擇 **Debug Configurations (組態除錯)**。

   1. 選擇 **aws\$1demos Debug (aws\$1demos 除錯)**。(您可能需要展開 **Ac6 STM32 Debugging (Ac6 STM32 除錯)**。)

   1. 選擇 **Debugger (除錯器)** 標籤。

   1. 在 **Configuration Script (組態指令碼)** 中，選擇 **Show Generator Options (顯示產生器選項)**。

   1. 在 **Mode Setup (模式設定)** 中，將 **Reset Mode (重設模式)** 設為 **Software System Reset (軟體系統重設)**。選擇 **Apply** (套用)，然後選擇 **Debug** (偵錯)。

1. 當除錯器停在 `main()` 中斷點時，請從 **Run (執行)** 功能表，選擇 **Resume (繼續)**。

### 搭配 FreeRTOS 使用 CMake
<a name="w2aac31b9b7c25c46c17b9"></a>

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

首先，建立資料夾以包含產生的建置檔案 (*build-folder*)。

使用下列命令來產生建置檔案：

```
cmake -DVENDOR=st -DBOARD=stm32l475_discovery -DCOMPILER=arm-gcc -S freertos -B build-folder
```

即使 `arm-none-eabi-gcc` 不在您的 shell 路徑中，您也需要設定 `AFR_TOOLCHAIN_PATH` CMake 變數。例如：

```
-D AFR_TOOLCHAIN_PATH=/home/user/opt/gcc-arm-none-eabi/bin
```

如需搭配 FreeRTOS 使用 CMake 的詳細資訊，請參閱 [搭配 FreeRTOS 使用 CMake](getting-started-cmake.md)。

## 疑難排解
<a name="st-troubleshooting"></a>

如果示範應用程式的 UART 輸出中顯示以下項目，則需要更新 Wi-Fi 模組的韌體：

```
[Tmr Svc] WiFi firmware version is: xxxxxxxxxxxxx
[Tmr Svc] [WARN] WiFi firmware needs to be updated.
```

若要下載最新的 Wi-Fi 韌體，請參閱 [STM32L4 Discovery kit IoT node, low-power wireless, Bluetooth Low Energy, NFC, SubGHz, Wi-Fi](https://www.st.com/resource/en/utilities/inventek_fw_updater.zip)。在 **Binary Resources (二進位資源)** 中，選擇 **Inventek ISM 43362 Wi-Fi module firmware update (Inventek ISM 43362 Wi-Fi 模組韌體更新)** 的下載連結。

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