Infineon XMC4800 IoT Connectivity Kit 入門 - FreeRTOS

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

Infineon XMC4800 IoT Connectivity Kit 入門

重要

此參考集成託管在亞馬遜的 FreeRTOS 存儲庫上,該存儲庫已被棄用。我們建議您在建立新專案時從這裡開始。如果您已經有一個現有的 FreeRTOS 專案以目前已取代的亞馬遜免費伺服器儲存庫為基礎,請參閱. 亞馬遜自由 Github 存儲庫遷移指南

本教學課程提供 Infineon XMC4800 IoT 連線套件入門指示。如果您沒有英飛凌 XMC4800 IoT 連接套件,請訪問 AWS 合作夥伴設備目錄,向我們的合作夥購買一個。

如果您想要開啟電路板的序列連接以檢視記錄和除錯資訊,則除了 XMC4800 IoT 連線套件以外,您還需要 3.3V USB/Serial 轉換器。CP2104 是一種常見的 USB/Serial 轉換器,各種電路板均有提供,例如 Adafruit 的 CP2104 Friend

在開始之前,您必須先設定 FreeRTOS AWS IoT 並下載,才能將裝置連線到雲端 AWS 。如需說明,請參閱 首要步驟。在此教學課程中,FreeRTOS 下載目錄的路徑稱為。freertos

概觀

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

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

  2. 將 FreeRTOS 示範應用程式交叉編譯為二進位映像檔。

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

  4. 透過序列連線與在開發板上執行的應用程式互動,以便進行監控和除錯。

設定開發環境

FreeRTOS 使用英飛凌的 DAVE 開發環境對 XMC4800 進行程式設計。開始之前,您需要下載並安裝 DAVE 和一些 J-Link 驅動程式,以與內建除錯器通訊。

安裝 DAVE

  1. 前往 Infineon 的 DAVE software download 頁面。

  2. 選擇適用於您作業系統的 DAVE 套件,並提交您的註冊資訊。註冊 Infineon 之後,您應該會收到一封確認電子郵件,其中包含 .zip 檔案的下載連結。

  3. 下載 DAVE 套件 .zip 檔案 (DAVE_version_os_date.zip),並解壓縮至您要安裝 DAVE 的位置 (例如 C:\DAVE4)。

    注意

    部分 Windows 使用者曾回報使用 Windows 檔案總管解壓縮檔案時會發生問題。我們建議您使用第三方程式,例如 7-Zip。

  4. 若要啟動 DAVE,請執行解壓縮 DAVE_version_os_date.zip 資料夾中的可執行檔。

如需詳細資訊,請參閱 DAVE Quick Start Guide

若要與 XMC4800 Relax EtherCAT 電路板的內建除錯探查通訊,您需要 J-Link 軟體和文件套件中隨附的驅動程式。您可以從 Segger 的 J-Link software download 頁面下載 J-Link 軟體和文件套件。

建立序列連線

設定序列連接是選用的步驟,但仍建議您執行。序列連接可讓電路板使用可供您在開發機器上檢視的格式,傳送記錄和除錯資訊。

XMC4800 示範應用程式可在 P0.0 和 P0.1 pin 上使用 UART 序列連接,這兩個 pin 在 XMC4800 Relax EtherCAT 電路板的絲印層上有標記。設定序列連接:

  1. 將標示 "RX<P0.0" 的 pin 接到您 USB/Serial 轉換器的 "TX" pin。

  2. 將標示 "TX>P0.1" 的 pin 接到您 USB/Serial 轉換器的 "RX" pin。

  3. 將序列轉換器的接地 pin 接到電路板上其中一個標示 "GND" 的 pin。裝置必須共用共同的接地線。

電源是由 USB 除錯連接埠提供,因此請勿將序列界面卡的正電壓 pin 接到電路板。

注意

有些序列纜線使用 5V 訊號層級。XMC4800 電路板和 Wi-Fi Click 模組需要 3.3V。請不要使用電路板的 IOREF 跳接器,來將電路板的訊號變更為 5V。

連接纜線時,您可以在終端機模擬器 (例如 GNU Screen) 上開啟序列連接。傳輸速率預設為 115200,含 8 個資料位元、無同位與 1 個停止位元。

監控雲端的 MQTT 訊息

在執行 FreeRTOS 示範之前,您可以在主控台中設定 MQTT 用戶端,以監 AWS IoT 控裝置傳送至雲端的訊息。 AWS

若要向 MQTT 用戶端訂閱 MQTT 主題 AWS IoT
  1. 登入 AWS IoT 主控台

  2. 在導覽窗格中,選擇 [測試],然後選擇 [MQTT 測試用戶端] 以開啟 MQTT 用戶端。

  3. 訂閱主題中輸入 your-thing-name/example/topic,然後選擇訂閱主題

當演示項目成功運行在您的設備上,你會看到「你好世界!」 多次發送到您訂閱的主題。

建置並執行 FreeRTOS 示範專案

將 FreeRTOS 演示導入到 DAVE

  1. 啟動 DAVE。

  2. 在 DAVE 中,選擇 File (檔案)Import (匯入)。在 Import (匯入) 視窗中,展開 Infineon 資料夾,選擇 DAVE Project (DAVE 專案),然後選擇 Next (下一步)

  3. Import DAVE Projects (匯入 DAVE 專案) 視窗中,選擇 Select Root Directory (選取根目錄)Browse (瀏覽),然後選擇 XMC4800 示範專案。

    在您解壓縮 FreeRTOS 下載的目錄中,示範專案位於. projects/infineon/xmc4800_iotkit/dave4/aws_demos

    確定取消核取 Copy Projects Into Workspace (複製專案至工作區)

  4. 選擇 Finish (完成)。

    aws_demos 專案應會匯入您的工作空間並啟用。

  5. Project (專案) 功能表中,選擇 Build Active Project (建置作用中的專案)

    確認專案建置時未發生錯誤。

執行 FreeRTOS 示範專案

  1. 使用 USB 纜線將 XMC4800 IoT 連線套件接到您的電腦。電路板有兩個 microUSB 連接器。請使用標示 "X101" 的連接器,該連接器旁的電路板絲印層上顯示 Debug。

  2. Project (專案) 功能表中,選擇 Rebuild Active Project (重建作用中的專案) 以重建 aws_demos,並確認您的組態變更生效。

  3. Project Explorer (專案瀏覽器) 中,以滑鼠右鍵按一下 aws_demos,選擇 Debug As (除錯工具),然後選擇 DAVE C/C++ Application (DAVE C/C++ 應用程式)

  4. 按兩下 GDB SEGGER J-Link Debugging (GDB SEGGER J-Link 除錯) 以建立除錯確認。選擇 Debug (除錯)

  5. 當除錯器停在 main() 中斷點時,請從 Run (執行) 功能表,選擇 Resume (繼續)

在 AWS IoT 主控台中,步驟 4-5 中的 MQTT 用戶端應顯示裝置傳送的 MQTT 訊息。如果您使用序列連接,您會看到類似如下的 UART 輸出:

0 0 [Tmr Svc] Starting key provisioning... 1 1 [Tmr Svc] Write root certificate... 2 4 [Tmr Svc] Write device private key... 3 82 [Tmr Svc] Write device certificate... 4 86 [Tmr Svc] Key provisioning done... 5 291 [Tmr Svc] Wi-Fi module initialized. Connecting to AP... .6 8046 [Tmr Svc] Wi-Fi Connected to AP. Creating tasks which use network... 7 8058 [Tmr Svc] IP Address acquired [IP Address] 8 8058 [Tmr Svc] Creating MQTT Echo Task... 9 8059 [MQTTEcho] MQTT echo attempting to connect to [MQTT Broker]. ...10 23010 [MQTTEcho] MQTT echo connected. 11 23010 [MQTTEcho] MQTT echo test echoing task created. .12 26011 [MQTTEcho] MQTT Echo demo subscribed to iotdemo/# 13 29012 [MQTTEcho] Echo successfully published 'Hello World 0' .14 32096 [Echoing] Message returned with ACK: 'Hello World 0 ACK' .15 37013 [MQTTEcho] Echo successfully published 'Hello World 1' 16 40080 [Echoing] Message returned with ACK: 'Hello World 1 ACK' .17 45014 [MQTTEcho] Echo successfully published 'Hello World 2' .18 48091 [Echoing] Message returned with ACK: 'Hello World 2 ACK' .19 53015 [MQTTEcho] Echo successfully published 'Hello World 3' .20 56087 [Echoing] Message returned with ACK: 'Hello World 3 ACK' .21 61016 [MQTTEcho] Echo successfully published 'Hello World 4' 22 64083 [Echoing] Message returned with ACK: 'Hello World 4 ACK' .23 69017 [MQTTEcho] Echo successfully published 'Hello World 5' .24 72091 [Echoing] Message returned with ACK: 'Hello World 5 ACK' .25 77018 [MQTTEcho] Echo successfully published 'Hello World 6' 26 80085 [Echoing] Message returned with ACK: 'Hello World 6 ACK' .27 85019 [MQTTEcho] Echo successfully published 'Hello World 7' .28 88086 [Echoing] Message returned with ACK: 'Hello World 7 ACK' .29 93020 [MQTTEcho] Echo successfully published 'Hello World 8' .30 96088 [Echoing] Message returned with ACK: 'Hello World 8 ACK' .31 101021 [MQTTEcho] Echo successfully published 'Hello World 9' 32 104102 [Echoing] Message returned with ACK: 'Hello World 9 ACK' .33 109022 [MQTTEcho] Echo successfully published 'Hello World 10' .34 112047 [Echoing] Message returned with ACK: 'Hello World 10 ACK' .35 117023 [MQTTEcho] Echo successfully published 'Hello World 11' 36 120089 [Echoing] Message returned with ACK: 'Hello World 11 ACK' .37 122068 [MQTTEcho] MQTT echo demo finished. 38 122068 [MQTTEcho] ----Demo finished----

使用 CMake 建置 FreeRTOS 使用者示範

如果您不想使用 IDE 進行 FreeRTOS 開發,也可以使用 CMake 來構建和運行使用第三方代碼編輯器和調試工具開發的演示應用程序或應用程序。

注意

此節說明在 Windows 上透過 MingW 作為原生建置系統以使用 CMake。如需有關搭配其他作業系統和選項以使用 CMake 的詳細資訊,請參閱 搭配使用 FreeRTOS 體。(MinGW 是本機 Microsoft Windows 應用程式的簡約開發環境。)

若要使用 CMake 建置 FreeRTOS 體示範
  1. 設定 GNU Arm 內嵌式工具鏈。

    1. Arm 內嵌式工具鏈下載頁面下載 Windows 版本的工具鏈。

      注意

      我們建議您下載「8-2018-q4-major」以外的版本,因為該版本發生「objcopy」公用程式的錯誤回報

    2. 開啟下載的工具鏈安裝程式,並依照安裝精靈的指示安裝工具鏈。

      重要

      在安裝精靈的最終頁面中,選擇 Add path to environment variable (新增路徑至環境變數) 以新增工具鏈路徑到系統路徑環境變數。

  2. 安裝 CMake 和 MingW。

    如需詳細說明,請參閱 CMake 先決條件

  3. 建立資料夾以包含產生的建置檔案 (build-folder)。

  4. 將目錄更改為 FreeRTOS 下載目錄 (freertos),然後使用以下命令生成構建文件:

    cmake -DVENDOR=infineon -DBOARD=xmc4800_iotkit -DCOMPILER=arm-gcc -S . -B build-folder -G "MinGW Makefiles" -DAFR_ENABLE_TESTS=0
  5. 將目錄變更到建置目錄 (build-folder),然後使用下列命令來建置二進位:

    cmake --build . --parallel 8

    此命令會建置輸出二進位 aws_demos.hex 到建置目錄。

  6. 使用 JLINK 刷新並執行映像。

    1. 使用下列命令以從建置目錄 (build-folder) 建立刷新指令碼:

      echo loadfile aws_demos.hex > flash.jlink
      echo r >> flash.jlink
      echo g >> flash.jlink
      echo q >> flash.jlink
    2. 使用 JLNIK 可執行檔來刷新映像。

      JLINK_PATH\JLink.exe -device XMC4800-2048 -if SWD -speed auto -CommanderScript flash.jlink

      您應該可透過使用面板建立的序列連線看到應用程式日誌。

故障診斷

如果您還沒有,請務必進行配置 AWS IoT 並下載 FreeRTOS 以將您的設備連接到雲端 AWS 。如需說明,請參閱 首要步驟

如需 FreeRTOS 入門的一般疑難排解資訊,請參閱。故障診斷入門