首次準備測試微型控制器主機板 - 免費 RTOS

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

首次準備測試微型控制器主機板

您可以在移植 Free RTOS 接口時使用 IDT Free RTOS 進行測試。移植主機板裝置驅動程式的 Free RTOS 介面後,您可以使用 AWS IoT Device Tester 在您的微控制器板上執行資格測試。

新增程式庫移植層

要RTOS為您的設備移植 Free,請按照免費RTOS移植指南中的說明進行操作。

配置您的 AWS 登入資料

您需要配置您的 AWS 認證 AWS IoT Device Tester 與溝通 AWS 雲端。如需詳細資訊,請參閱 「設定」 AWS 認證和發展區域。有效 AWS 必須在devicetester_extract_location/devicetester_afreertos_[win|mac|linux]/configs/config.json組態檔案中指定認證。

免費創建設備池 IDT RTOS

系統會將要測試的裝置整理為裝置集區,每個裝置集區都包含一個或多個相同的裝置。您可以將 Free 配置IDTRTOS為測試池中的單個設備或池中的多個設備。IDT為了加速認證過程,Free RTOS 可以 parallel 行測試具有相同規格的設備。該工具會採用循環配置資源方法,在裝置集區的每個裝置上執行不同的測試群組。

您可以在 configs 資料夾中編輯 device.json 範本的 devices 區段,進而新增一或多個裝置至裝置集區。

注意

在同一池中的所有設備必須是相同的技術規格和SKU.

為了為不同的測試組啟用源代碼的 parallel 構建,IDTFree RTOS 將源代碼複製到 Free RTOS 提取文件夾內IDT的結果文件夾中。必須使用或變量引用構建或 Flash 命令中的testdata.sourcePath源代碼路sdkPath徑。IDTfor Free RTOS 會以複製原始程式碼的暫存路徑取代此變數。若要取得更多資訊,請參閱IDT對於自由RTOS變量

下方範例 device.json 檔案可用來建立具有多個裝置的裝置集區。

[ { "id": "pool-id", "sku": "sku", "features": [ { "name": "WIFI", "value": "Yes | No" }, { "name": "Cellular", "value": "Yes | No" }, { "name": "OTA", "value": "Yes | No", "configs": [ { "name": "OTADataPlaneProtocol", "value": "HTTP | MQTT" } ] }, { "name": "BLE", "value": "Yes | No" }, { "name": "TCP/IP", "value": "On-chip | Offloaded | No" }, { "name": "TLS", "value": "Yes | No" }, { "name": "PKCS11", "value": "RSA | ECC | Both | No" }, { "name": "KeyProvisioning", "value": "Import | Onboard | No" } ], "devices": [ { "id": "device-id", "connectivity": { "protocol": "uart", "serialPort": "/dev/tty*" }, ***********Remove the section below if the device does not support onboard key generation*************** "secureElementConfig" : { "publicKeyAsciiHexFilePath": "absolute-path-to/public-key-txt-file: contains-the-hex-bytes-public-key-extracted-from-onboard-private-key", "secureElementSerialNumber": "secure-element-serialNo-value", "preProvisioned" : "Yes | No" }, ********************************************************************************************************** "identifiers": [ { "name": "serialNo", "value": "serialNo-value" } ] } ] } ]

以下是 device.json 檔案中使用的屬性:

id

使用者定義的英數字 ID,可唯一識別裝置集區。屬於集區的裝置必須為相同類型。執行測試套件時,集區中的裝置將用來將工作負載平行化。

sku

可唯一識別您要測試之主機板的英數字元值。用SKU於追蹤合格的主機板。

注意

如果你想列出你的圖版 AWS SKU您在此處指定的合作夥伴裝置目錄必須符合SKU您在清單程序中使用的目錄。

features

包含裝置支援功能的陣列。 AWS IoT Device Tester 使用此資訊來選取要執行的資格測試。

支援的值如下:

TCP/IP

指出您的主機板是否支援 TCP /IP 堆疊,以及是否支援晶片上 (MCU) 或卸載至其他模組。TCP/IP 是必需的資格。

WIFI

指出您的面板是否具有 Wi-Fi 功能。如果設定為,NoCellular則必須設定為Yes

Cellular

指出您的主機板是否有行動網路功能。如果設定為,NoWIFI則必須設定為Yes。將此功能設定為時Yes,將使用以下方式執行 FullSecureSockets 測試 AWS t2.micro EC2 執行個體,這可能會對您的帳戶產生額外費用。如需詳細資訊,請參閱 Amazon EC2 定價

TLS

指出您的主機板是否支援TLS。TLS是必需的資格。

PKCS11

指出面板支援的公有金鑰密碼編譯演算法。PKCS11是必需的資格。支援的值為 ECCRSABothNoBoth 表示主機板同時支援 ECCRSA 演算法。

KeyProvisioning

指出將受信任的 X.509 用戶端憑證寫入面板的方法。有效值為 ImportOnboardNo。需有主要佈建才能符合資格。

  • 如果主機板可允許匯入私有金鑰,請使用 Import。IDT將創建一個私鑰並將其構建到 Free RTOS 源代碼中。

  • 如果主機板可支援產生內建私有金鑰 (例如,如果裝置有安全元素,或您偏好產生自己的裝置金鑰對和憑證),請使用 Onboard。請務必在每個裝置區段中新增一個 secureElementConfig 元素,並在 publicKeyAsciiHexFilePath 欄位中放置公有金鑰檔案的絕對路徑。

  • 如果主機板不支援金鑰佈建,請使用 No

OTA

指出您的主機板是否支援 over-the-air (OTA) 更新功能。該OtaDataPlaneProtocol屬性指示設備支持的OTA數據通道協議。如果設備不支持該OTA功能,則會忽略該屬性。選取"Both"時,由於執行、和混合OTA測試 MQTTHTTP,測試執行時間會延長。

注意

從 IDT v4.1.0 開始,僅OtaDataPlaneProtocol接受HTTPMQTT作為支持的值。

BLE

指出您的主機板是否支援藍牙低功耗 (BLE)。

devices.id

使用者定義的唯一識別符,用於識別要測試的裝置。

devices.connectivity.protocol

用來與此裝置通訊的通訊協定。支援的值為:uart

devices.connectivity.serialPort

要測試用於連接到裝置之主機電腦的序列埠。

devices.secureElementConfig.PublicKeyAsciiHexFilePath

檔案的絕對路徑,此檔案包含從內建私有金鑰擷取的十六進位位元組公有金鑰。

範例格式:

3059 3013 0607 2a86 48ce 3d02 0106 082a 8648 ce3d 0301 0703 4200 04cd 6569 ceb8 1bb9 1e72 339f e8cf 60ef 0f9f b473 33ac 6f19 1813 6999 3fa0 c293 5fae 08f1 1ad0 41b7 345c e746 1046 228e 5a5f d787 d571 dcb2 4e8d 75b3 2586 e2cc 0c

如果您的公鑰是 .der 格式,則可以直接對公鑰進行十六進制編碼以生成十六進制文件。

用於生成十六進制文件的 .der 公鑰的示例命令:

xxd -p pubkey.der > outFile

如果您的公鑰是 .pem 格式,則可以提取 base64 編碼的部分,將其解碼為二進制格式,然後對其進行十六進制編碼以生成十六進制文件。

例如,使用下列命令為 .pem 公開金鑰產生十六進位檔案:

  1. 取出密鑰的 base64 編碼部分(去除頁眉和頁腳)並將其存儲在文件中,例如命名它base64key,運行此命令將其轉換為 .der 格式:

    base64 —decode base64key > pubkey.der
  2. 執行命xxd令將其轉換為十六進位格式。

    xxd -p pubkey.der > outFile
devices.secureElementConfig.SecureElementSerialNumber

(選用) 安全元素的序號。當您執行免費RTOS示範/測試專案時,請在列印序號以及裝置公開金鑰時提供此欄位。

devices.secureElementConfig.preProvisioned

(選擇性) 如果裝置具有預先佈建的安全元素,且具有鎖定認證,無法匯入、建立或銷毀物件,則設定為「是」。此組態只features有在KeyProvisioning設定為「內建」且設PKCS11定為「」ECC 時才會生效。

identifiers

(選用) 任意的名稱/值組的陣列。您可以在下一節所述的建置和刷新命令中使用這些值。

設定建置、刷新和測試設定

IDT為了免費RTOS自動構建和閃存測試到您的主板上,您必須配置IDT為運行硬件的構建和 Flash 命令。您可以在位於 config 資料夾的 userdata.json 範本檔案中配置建置和刷新命令設定。

配置設定以測試裝置

您可以在 configs/userdata.json 檔案中進行建置、刷新和測試設定。我們通過在中加載客戶端和服務器證書以及密鑰來支持 Echo 服務器配置customPath。如需詳細資訊,請參閱自由RTOS移植指南中的〈設定 echo 伺服器。下列JSON範例顯示如何設定 IDT Free 以測RTOS試多個裝置:

{ "sourcePath": "/absolute-path-to/freertos", "vendorPath": "{{testData.sourcePath}}/vendors/vendor-name/boards/board-name", // ***********The sdkConfiguration block below is needed if you are not using the default, unmodified FreeRTOS repo. // In other words, if you are using the default, unmodified FreeRTOS repo then remove this block*************** "sdkConfiguration": { "name": "sdk-name", "version": "sdk-version", "path": "/absolute-path-to/sdk" }, "buildTool": { "name": "your-build-tool-name", "version": "your-build-tool-version", "command": [ "{{config.idtRootPath}}/relative-path-to/build-parallel.sh {{testData.sourcePath}} {{enableTests}}" ] }, "flashTool": { "name": "your-flash-tool-name", "version": "your-flash-tool-version", "command": [ "/{{config.idtRootPath}}/relative-path-to/flash-parallel.sh {{testData.sourcePath}} {{device.connectivity.serialPort}} {{buildImageName}}" ], "buildImageInfo" : { "testsImageName": "tests-image-name", "demosImageName": "demos-image-name" } }, "testStartDelayms": 0, "clientWifiConfig": { "wifiSSID": "ssid", "wifiPassword": "password", "wifiSecurityType": "eWiFiSecurityOpen | eWiFiSecurityWEP | eWiFiSecurityWPA | eWiFiSecurityWPA2 | eWiFiSecurityWPA3" }, "testWifiConfig": { "wifiSSID": "ssid", "wifiPassword": "password", "wifiSecurityType": "eWiFiSecurityOpen | eWiFiSecurityWEP | eWiFiSecurityWPA | eWiFiSecurityWPA2 | eWiFiSecurityWPA3" }, //********** //This section is used to start echo server based on server certificate generation method, //When certificateGenerationMethod is set as Automatic specify the eccCurveFormat to generate certifcate and key based on curve format, //When certificateGenerationMethod is set as Custom specify the certificatePath and PrivateKeyPath to be used to start echo server //********** "echoServerCertificateConfiguration": { "certificateGenerationMethod": "Automatic | Custom", "customPath": { "clientCertificatePath":"/path/to/clientCertificate", "clientPrivateKeyPath": "/path/to/clientPrivateKey", "serverCertificatePath":"/path/to/serverCertificate", "serverPrivateKeyPath": "/path/to/serverPrivateKey" }, "eccCurveFormat": "P224 | P256 | P384 | P521" }, "echoServerConfiguration": { "securePortForSecureSocket": 33333, // Secure tcp port used by SecureSocket test. Default value is 33333. Ensure that the port configured isn't blocked by the firewall or your corporate network "insecurePortForSecureSocket": 33334, // Insecure tcp port used by SecureSocket test. Default value is 33334. Ensure that the port configured isn't blocked by the firewall or your corporate network "insecurePortForWiFi": 33335 // Insecure tcp port used by Wi-Fi test. Default value is 33335. Ensure that the port configured isn't blocked by the firewall or your corporate network }, "otaConfiguration": { "otaFirmwareFilePath": "{{testData.sourcePath}}/relative-path-to/ota-image-generated-in-build-process", "deviceFirmwareFileName": "ota-image-name-on-device", "otaDemoConfigFilePath": "{{testData.sourcePath}}/relative-path-to/ota-demo-config-header-file", "codeSigningConfiguration": { "signingMethod": "AWS | Custom", "signerHashingAlgorithm": "SHA1 | SHA256", "signerSigningAlgorithm": "RSA | ECDSA", "signerCertificate": "arn:partition:service:region:account-id:resource:qualifier | /absolute-path-to/signer-certificate-file", "signerCertificateFileName": "signerCertificate-file-name", "compileSignerCertificate": boolean, // ***********Use signerPlatform if you choose aws for signingMethod*************** "signerPlatform": "AmazonFreeRTOS-Default | AmazonFreeRTOS-TI-CC3220SF", "untrustedSignerCertificate": "arn:partition:service:region:account-id:resourcetype:resource:qualifier", // ***********Use signCommand if you choose custom for signingMethod*************** "signCommand": [ "/absolute-path-to/sign.sh {{inputImageFilePath}} {{outputSignatureFilePath}}" ] } }, // ***********Remove the section below if you're not configuring CMake*************** "cmakeConfiguration": { "boardName": "board-name", "vendorName": "vendor-name", "compilerName": "compiler-name", "frToolchainPath": "/path/to/freertos/toolchain", "cmakeToolchainPath": "/path/to/cmake/toolchain" }, "freertosFileConfiguration": { "required": [ { "configName": "pkcs11Config", "filePath": "{{testData.sourcePath}}/vendors/vendor-name/boards/board-name/aws_tests/config_files/core_pkcs11_config.h" }, { "configName": "pkcs11TestConfig", "filePath": "{{testData.sourcePath}}/vendors/vendor-name/boards/board-name/aws_tests/config_files/iot_test_pkcs11_config.h" } ], "optional": [ { "configName": "otaAgentTestsConfig", "filePath": "{{testData.sourcePath}}/vendors/vendor-name/boards/board-name/aws_tests/config_files/ota_config.h" }, { "configName": "otaAgentDemosConfig", "filePath": "{{testData.sourcePath}}/vendors/vendor-name/boards/board-name/aws_demos/config_files/ota_config.h" }, { "configName": "otaDemosConfig", "filePath": "{{testData.sourcePath}}/vendors/vendor-name/boards/board-name/aws_demos/config_files/ota_demo_config.h" } ] } }

以下列出 userdata.json 中使用的屬性:

sourcePath

移植的 Free RTOS 源代碼的根路徑。對於與 parallel 測試SDK,sourcePath可以使用預留{{userData.sdkConfiguration.path}}位置進行設置。例如:

{ "sourcePath":"{{userData.sdkConfiguration.path}}/freertos" }
vendorPath

供應商特定的免費RTOS代碼的路徑。針對序列測試,vendorPath 可設定為絕對路徑。例如:

{ "vendorPath":"C:/path-to-freertos/vendors/espressif/boards/esp32" }

針對平行測試,可使用 {{testData.sourcePath}} 預留位置設定 vendorPath。例如:

{ "vendorPath":"{{testData.sourcePath}}/vendors/espressif/boards/esp32" }

只有在沒有的情況下運行時才需要該vendorPath變量SDK,否則可以將其刪除。

注意

在沒有的情況下 parallel 執行測試時SDK,必須在vendorPathbuildToolflashTool{{testData.sourcePath}}位中使用預留位置。使用單一裝置執行測試時,必須在 vendorPathbuildToolflashTool 欄位中使用絕對路徑。使用執行時SDK,、和flashTool指令中必須使用{{sdkPath}}預留位置。sourcePath buildTool

sdkConfiguration

如果您符合 Free RTOS 資格,且對檔案和資料夾結構的任何修改超出移植所需的條件,那麼您將需要在此區塊中設定您的SDK資訊。如果你沒有資格使用移植的 Free RTOS 內部SDK,那麼你應該完全省略這個塊。

sdkConfiguration.name

SDK您正在使用的名稱免費RTOS。如果你不使用SDK,那麼整個sdkConfiguration塊應該省略。

sdkConfiguration.version

SDK您正在使用的版本免費RTOS。如果你不使用SDK,那麼整個sdkConfiguration塊應該省略。

sdkConfiguration.path

包含免費RTOS代碼的SDK目錄的絕對路徑。如果你不使用SDK,那麼整個sdkConfiguration塊應該省略。

buildTool

建置指令碼的完整路徑 (.bat 或 .sh),其中包含用來建立來源碼的命令。在 build 命令中對源代碼路徑的所有引用都必須由 AWS IoT Device Tester 變量{{testdata.sourcePath}}和對SDK路徑的引用應該由替換{{sdkPath}}。使用{{config.idtRootPath}}預留位置來參考絕對路徑或相對IDT路徑。

testStartDelayms

指定在開始運行測試之前,Free RTOS 測試運行程序將等待多少毫秒。如果被測設備在因網絡或其他延遲而有機會連接並開始日誌記錄之前開始輸出重要的測試信息,這很IDT有用。允許的最大值為 3 萬毫秒(30 秒)。此值僅適用於免費RTOS測試組,不適用於不使用 Free 測試運行器的其他RTOS測試組,例如OTA測試。

flashTool

包含用於裝置的刷入命令之刷入指令碼 (.sh 或 .bat) 的完整路徑。ash 命令中對源代碼路徑的所有引用都必須由 IDT for Free RTOS 變量替換,{{testdata.sourcePath}}並且對SDK路徑的所有引用都必須由 IDT for Free RTOS 變量替換{{sdkPath}}。使用{{config.idtRootPath}}佔位符來引用絕對或相IDT對路徑。

buildImageInfo
testsImageName

從文件freertos-source/tests夾構建測試時,由 build 命令生成的文件的名稱。

demosImageName

從文件freertos-source/demos夾構建測試時,由 build 命令生成的文件的名稱。

clientWifiConfig

用戶端 Wi-Fi 組態。Wi-Fi 程式庫測試需要一個MCU主機板才能連接到兩個存取點。(兩個存取點可以是相同的。) 此屬性會設定第一個存取點的 Wi-Fi 設定。某些 Wi-Fi 測試案例希望存取點有一些安全保障,因此並未開放使用。請確定兩個存取點與執行中的主機電腦位於相同的子網路上IDT。

wifi_ssid

無線網絡SSID。

wifi_password

Wi-Fi 密碼。

wifiSecurityType

使用的 Wi-Fi 安全性類型。其中一個值:

  • eWiFiSecurityOpen

  • eWiFiSecurityWEP

  • eWiFiSecurityWPA

  • eWiFiSecurityWPA2

  • eWiFiSecurityWPA3

注意

即使主機板不支援 Wi-Fi,您仍需在 device.json 檔案中加入 clientWifiConfig 區段,但可以省略這些屬性的值。

testWifiConfig

測試 Wi-Fi 組態。Wi-Fi 程式庫測試需要一個MCU主機板才能連接到兩個存取點。(兩個存取點可以是相同的。) 此屬性會設定第二個存取點的 Wi-Fi 設定。某些 Wi-Fi 測試案例希望存取點有一些安全保障,因此並未開放使用。請確定兩個存取點與執行中的主機電腦位於相同的子網路上IDT。

wifiSSID

無線網絡SSID。

wifiPassword

Wi-Fi 密碼。

wifiSecurityType

使用的 Wi-Fi 安全性類型。其中一個值:

  • eWiFiSecurityOpen

  • eWiFiSecurityWEP

  • eWiFiSecurityWPA

  • eWiFiSecurityWPA2

  • eWiFiSecurityWPA3

注意

即使主機板不支援 Wi-Fi,您仍需在 device.json 檔案中加入 testWifiConfig 區段,但可以省略這些屬性的值。

echoServerCertificateConfiguration

用於安全套接字測試的可配置 echo 服務器證書生成佔位符。此欄位為必填。

certificateGenerationMethod

指定伺服器憑證是自動產生還是手動提供。

customPath

如果certificateGenerationMethod是「自定義」,certificatePath並且privateKeyPath是必需的。

certificatePath

指定伺服器憑證的檔案路徑。

privateKeyPath

指定私密金鑰的檔案路徑。

eccCurveFormat

指定電路板支援的曲線格式。在device.json中設定PKCS11為「ecc」時需要。有效值為「P224」、「256」、「384」或「P520」。

echoServerConfiguration

可配置的 echo 服務器端口,用於 WiFi 安全套接字測試。此欄位為選用欄位。

securePortForSecureSocket

用於設置 echo 服務器,用於安全套接字測試的端口。TLS預設值為 33333。請確定防火牆或您公司的網路未封鎖設定的連接埠。

insecurePortForSecureSocket

用於在不進行安全套接字測試的情況下TLS設置 echo 服務器的端口。測試中使用的預設值為 33334。請確定防火牆或您公司的網路未封鎖設定的連接埠。

insecurePortForWiFi

用於在不 WiFi 測試的情況下TLS設置 echo 服務器的端口。測試中使用的預設值為 33335。請確定防火牆或您公司的網路未封鎖設定的連接埠。

otaConfiguration

配OTA置。[選用]

otaFirmwareFilePath

建置之後建立之OTA映像的完整路徑。例如:{{testData.sourcePath}}/relative-path/to/ota/image/from/source/root

deviceFirmwareFileName

OTA韌體所在MCU裝置上的完整檔案路徑。有些裝置不使用此欄位,但您仍必須提供值。

otaDemoConfigFilePath

aws_demo_config.h 的完整路徑,位於 afr-source/vendors/vendor/boards/board/aws_demos/config_files/ 內。這些文件包含在 Free RTOS 提供的移植代碼模板中。

codeSigningConfiguration

程式碼簽章組態。

signingMethod

程式碼簽章方法。可能的值為 AWSCustom

注意

對於北京和寧夏地區,請使用CustomAWS這些區域不支援程式碼簽章。

signerHashingAlgorithm

裝置上支援的雜湊演算法。可能的值為 SHA1SHA256

signerSigningAlgorithm

裝置上支援的簽署演算法。可能的值為 RSAECDSA

signerCertificate

用於的信任憑證OTA。

用於 AWS 程式碼簽章方法,請使用 Amazon 資源名稱 (ARN) 做為上傳至 AWS Certificate Manager.

對於自訂程式碼簽署方法,請使用簽署者憑證檔案的絕對路徑。

如需建立信任憑證的詳細資訊,請參閱 建立程式碼簽署憑證

signerCertificateFileName

裝置上程式碼簽章憑證的檔案名稱。此值必須與您在執行aws acm import-certificate指令時提供的檔案名稱相符。

如需詳細資訊,請參閱建立程式碼簽署憑證

compileSignerCertificate

true如果未佈建或刷新程式碼簽署者簽名驗證憑證,則設定為,因此必須將其編譯到專案中。 AWS IoT Device Tester 獲取受信任的證書並將其編譯成。aws_codesigner_certifiate.h

untrustedSignerCertificate

在某些OTA測試中用作不受信任憑證的第二個憑證的ARN或檔案路徑。如需有關建立憑證的詳細資訊,請參閱建立程式碼簽署憑證。

signerPlatform

簽名和哈希算法 AWS 程式碼簽署者在建立OTA更新工作時使用。目前,此欄位的可能值為 AmazonFreeRTOS-TI-CC3220SFAmazonFreeRTOS-Default

  • 如果是 SHA1RSA 則選擇 AmazonFreeRTOS-TI-CC3220SF

  • 如果是 SHA256ECDSA 則選擇 AmazonFreeRTOS-Default

如果您的組態需要 SHA256 | RSASHA1 | ECDSA,請聯絡我們以取得進一步支援。

如果您針對 signingMethod 選擇 Custom,請設定 signCommand

signCommand

用於執行自訂程式碼簽署的命令。您可以在 /configs/script_templates 目錄中找到範本。

指令中需要兩個預留位置{{inputImageFilePath}}{{outputSignatureFilePath}}{{inputImageFilePath}}是要簽署所建立之映像檔IDT的檔案路徑。 {{outputSignatureFilePath}}是將由腳本生成的簽名的文件路徑。

cmakeConfiguration

CMake配置 [可選]

注意

若要執行CMake測試案例,您必須提供主機板名稱、廠商名稱以及frToolchainPathcompilerNamecmakeToolchainPath如果您有CMake工具鏈的自訂路徑,您也可以提供。

boardName

待測主機板的名稱。主機板名稱應與 path/to/afr/source/code/vendors/vendor/boards/board 下的資料夾名稱相同。

vendorName

待測主機板的廠商名稱。廠商應與 path/to/afr/source/code/vendors/vendor 下的資料夾名稱相同。

compilerName

編譯器的名稱。

frToolchainPath

編譯器工具鏈的完整路徑。

cmakeToolchainPath

通往CMake工具鏈的完全合格路徑。此為選用欄位。

freertosFileConfiguration

運行測試之前IDT修改的 Free RTOS 文件的配置。

required

本節指定您已移動其組態檔的必要測試PKCS11,例如TLS、、等等。

configName

正在設定的測試名稱。

filePath

freertos存儲庫中配置文件的絕對路徑。使用{{testData.sourcePath}}變數來定義路徑。

optional

本節指定您已移動其組態檔的選擇性測試 OTA WiFi,例如,等等。

configName

正在設定的測試名稱。

filePath

freertos存儲庫中配置文件的絕對路徑。使用{{testData.sourcePath}}變數來定義路徑。

注意

若要執行CMake測試案例,您必須提供主機板名稱、廠商名稱以及afrToolchainPathcompilerNamecmakeToolchainPath如果您有CMake工具鏈的自訂路徑,您也可以提供。

IDT對於自由RTOS變量

裝置可能需要具備連線能力或提供其他資訊,才能成功執行用來建置程式碼和刷新裝置的命令。 AWS IoT Device Tester 允許您在 Flash 中引用設備信息並使用構建命令JsonPath。通過使用簡單的 JsonPath表達式,您可以獲取device.json文件中指定的所需信息。

路徑變數

IDTfor Free RTOS 定義了可以在命令行和配置文件中使用的以下路徑變量:

{{testData.sourcePath}}

展開至原始程式碼路徑。如果您使用此變數,則必須同時在快閃和建置命令中使用。

{{sdkPath}}

擴展為在構建和 Flash 命令中使用userData.sdkConfiguration.path時的值。

{{device.connectivity.serialPort}}

展開至序列埠。

{{device.identifiers[?(@.name == 'serialNo')].value[0]}}

展開至裝置的序號。

{{enableTests}}

指出建置是否用於測試 (值 1) 或示範 (值 0) 的整數值。

{{buildImageName}}

檔案名稱使用建置命令產生的映像建置。

{{otaCodeSignerPemFile}}

PEMOTA代碼簽名者的文件。

{{config.idtRootPath}}

擴展到 AWS IoT Device Tester 根路徑。當建置和 Flash 命令使用IDT時,此變數會取代絕對路徑。