Nordic nRF52840-DK 入門 - FreeRTOS

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

Nordic nRF52840-DK 入門

重要

這是 FreeRTOS 使用者指南的封存版本,適用於 FreeRTOS 版本 202012.00。如需本文件的最新版本,請參閱 FreeRTOS 使用者指南

本教學課程提供 Nordic nRF52840-DK 的入門說明。如果您沒有 Nordic nRF52840-DK,請造訪 AWS Partner Device Catalog 向我們的合作夥伴購買。

開始之前,您需要設定 AWS IoT 和 Amazon Cognito for FreeRTOS 低功耗藍牙

若要執行 FreeRTOS 低功耗藍牙示範,您也需要具有藍牙和 Wi-Fi 功能的 iOS 或 Android 行動裝置。

注意

如果您使用 iOS 裝置,您需要 Xcode 來建置示範行動應用程式。如果您使用 Android 裝置,您可以使用 Android Studio 來建置示範行動應用程式。

概觀

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

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

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

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

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

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

設定 Nordic 硬體

請將主機電腦連接至標籤為 J2 的 USB 連接埠,其位於 Nordic nRF52840 主機板鈕釦型電池座的正上方。

如需設定 Nordic nRF52840-DK 的詳細資訊,請參閱 nRF52840 開發套件使用者指南

設定開發環境

下載並安裝 Segger Embedded Studio

FreeRTOS 支援 Segger Embedded Studio 做為 Nordic nRF52840-DK 的開發環境。

若要設定您的環境,您需要在主機電腦上下載並安裝 Segger Embedded Studio。

下載並安裝 Segger Embedded Studio
  1. 移至 Segger Embedded Studio 下載頁面,然後為您的作業系統選擇 Embedded Studio for ARM 選項。

  2. 執行安裝程式並遵循提示來完成操作。

設定 FreeRTOS 低功耗藍牙行動開發套件示範應用程式

若要跨低功耗藍牙執行 FreeRTOS 示範專案,您需要在行動裝置上執行 FreeRTOS 低功耗藍牙行動開發套件示範應用程式。

設定 FreeRTOS 低功耗藍牙行動 SDK 示範應用程式
  1. 按照 適用於 FreeRTOS 藍牙裝置的 Mobile SDKs 中的指示,在您的主機電腦上下載並安裝適用於行動平台的軟體開發套件。

  2. 按照 FreeRTOS 低功耗藍牙行動 SDK 示範應用程式 中的指示,來在您的行動裝置上設定示範行動應用程式。

建立序列連線

Segger Embedded Studio 包含終端機模擬器,您可以用來透過電路板的序列連線接收日誌訊息。

建立與 Segger Embedded Studio 的序列連線
  1. 開啟 Segger Embedded Studio。

  2. 從上方功能表中,選擇 Target (目標)Connect J-Link (連接 J-Link)

  3. 從上方功能表中,選擇 Tools (工具)Terminal Emulator (終端機模擬器)Properties (屬性),然後依照 安裝終端機模擬器 中的指示來設定屬性。

  4. 從頂端功能表中,選擇工具終端機模擬器連線連接埠 (115200,N,8,1)

注意

Segger 內嵌 Studio 終端模擬器不支持輸入功能。因此,請使用 PuTTy、Tera Term 或 GNU Screen 這類的終端模擬器。依照安裝終端機模擬器中的指示,將終端機設定為透過序列連線連接到您的電路板。

下載並設定 FreeRTOS

設定硬體和環境之後,您可以下載 FreeRTOS。

下載 FreeRTOS

若要下載 Nordic nRF52840-DK 的 FreeRTOS,請前往 FreeRTOS GitHub 頁面並複製儲存庫。如需說明,請參閱 README.md 檔案。

重要
  • 在本主題中,FreeRTOS 下載目錄的路徑稱為 freertos

  • freertos 路徑中的空格字元可能會導致建置失敗。複製或拷貝儲存庫時,請確定您建立的路徑不包含空格字元。

  • Microsoft Windows 的檔案路徑長度上限為 260 個字元。長 FreeRTOS 下載目錄路徑可能會導致建置失敗。

設定專案

若要執行示範,您需要設定專案來使用 AWS IoT。若要設定專案以使用 AWS IoT,您的裝置必須註冊為 AWS IoT 物件。您應該會在 設定 AWS IoT 和 Amazon Cognito for FreeRTOS 低功耗藍牙 時註冊您的裝置。

設定您的 AWS IoT 端點
  1. 登入 AWS IoT 主控台

  2. 在導覽窗格中,選擇設定

    您的 AWS IoT 端點會出現在端點文字方塊中。它看起來應該會像這樣:1234567890123-ats.iot.us-east-1.amazonaws.com。記下此端點。

  3. 在導覽窗格中,選擇 Manage (管理),然後選擇 Things (實物)。記下裝置的 AWS IoT 物件名稱。

  4. 在您的 AWS IoT 端點和實 AWS IoT 物名稱準備好時,在 IDE freertos/demos/include/aws_clientcredential.h中開啟 ,並指定下列#define常數的值:

    • clientcredentialMQTT_BROKER_ENDPOINT 您的 AWS IoT 端點

    • clientcredentialIOT_THING_NAME 電路板的 AWS IoT 物件名稱

啟用示範
  1. 檢查低功耗藍牙 GATT 示範是否已啟用。移至 vendors/nordic/boards/nrf52840-dk/aws_demos/config_files/iot_ble_config.h,並將 #define IOT_BLE_ADD_CUSTOM_SERVICES ( 1 ) 新增至 define 陳述式的清單。

  2. 開啟 vendors/nordic/boards/nrf52840-dk/aws_demos/config_files/aws_demos_config.h,然後定義 CONFIG_MQTT_DEMO_ENABLED

  3. 由於 Nordic 晶片隨附的 RAM 很小 (250 KB),可能需要變更 BLE 組態,以允許將較大的 GATT 表格項目與每個屬性大小進行比較。如此一來,您就可以調整應用程式取得的記憶體量。若要這麼做,請覆寫 freertos/vendors/nordic/boards/nrf52840-dk/aws_demos/config_files/sdk_config.h 檔案中下列屬性的定義:

    • NRF_SDH_BLE_VS_UUID_COUNT

      廠商專屬 UUID 的數目。

    • NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE

      屬性表格大小 (以位元組為單位)。大小必須是 4 的倍數

    (若為測試,檔案位置為 freertos/vendors/nordic/boards/nrf52840-dk/aws_tests/config_files/sdk_config.h)。

建置並執行 FreeRTOS 示範專案

下載 FreeRTOS 並設定示範專案後,您就可以在電路板上建置和執行示範專案。

重要

如果這是您首次在這個主機板上執行示範,請務必先刷新主機板的開機載入器,再開始執行該示範。

如果要建置和刷新開機載入器,請遵循下方步驟操作,但請使用 projects/nordic/nrf52840-dk/ses/aws_demos/bootloader/bootloader.emProject,而不是 projects/nordic/nrf52840-dk/ses/aws_demos/aws_demos.emProject 專案檔案。

從 Segger Embedded Studio 建置和執行 FreeRTOS 低功耗藍牙示範
  1. 開啟 Segger Embedded Studio。在上方功能表中,選擇 File (檔案),並選擇 Open Solution (開啟解決方案),然後導覽至專案檔案 projects/nordic/nrf52840-dk/ses/aws_demos/aws_demos.emProject

  2. 如果您是使用 Segger Embedded Studio 終端機模擬器,請從上方功能表中選擇 Tools (工具),然後選擇 Terminal Emulator (終端機模擬器)Terminal Emulator (終端機模擬器) 即會顯示來自序列連線的資訊。

    如果您是使用另一個終端工具,則可以監控該工具,以取得適用於序列連線的輸出。

  3. Project Explorer 中的aws_demos示範專案上按一下滑鼠右鍵,然後選擇建置

    注意

    如果這是您第一次使用 Segger Embedded Studio,您可能會看到警告「無商業使用授權」。您可以將 Segger Embedded Studio 免費用於 Nordic Semiconductor 裝置。選擇 Activate Your Free License (啟用您的免費授權),並遵循指示。

  4. 選擇 Debug (除錯),然後選擇 Go (前往)

    該示範開始執行後,即會等待以低功耗藍牙與行動裝置配對。

  5. 遵循 MQTT over Bluetooth Low Energy Demo Application 的指示,使用 FreeRTOS Bluetooth Low Energy Mobile SDK 示範應用程式做為行動 MQTT 代理來完成示範。

故障診斷

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