本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
首次準備測試微型控制器主機板
重要
這是 FreeRTOS 使用者指南的封存版本,可與 FreeRTOS 版本 202012.00 搭配使用。如需本文件的最新版本,請參閱 FreeRTOS 使用者指南。
您可以在移植 FreeRTOS 介面時,使用 IDT for FreeRTOS 進行測試。在您為電路板的裝置驅動程式移植 FreeRTOS 介面之後,您可以使用 在微型控制器電路板上 AWS IoT Device Tester 執行資格測試。
新增程式庫移植層
若要為您的裝置移植 FreeRTOS,請遵循 FreeRTOS 移植指南中的指示。
設定您的 AWS 登入資料
您需要設定 的 AWS 登入資料 AWS IoT Device Tester ,才能與 AWS 雲端通訊。如需詳細資訊,請參閱設定 AWS 用於開發的登入資料和區域。必須在
組態檔案中指定有效的 AWS 登入資料。devicetester_extract_location
/devicetester_afreertos_[win|mac|linux]
/configs/config.json
在 IDT for FreeRTOS 中建立裝置集區
系統會將要測試的裝置整理為裝置集區,每個裝置集區都包含一個或多個相同的裝置。您可以設定 IDT for FreeRTOS 來測試集區中的單一裝置或集區中的多個裝置。為了加速資格程序,IDT for FreeRTOS 可以平行測試具有相同規格的裝置。該工具會採用循環配置資源方法,在裝置集區的每個裝置上執行不同的測試群組。
您可以在 configs
資料夾中編輯 device.json
範本的 devices
區段,進而新增一或多個裝置至裝置集區。
注意
同一個集區中的所有裝置皆需採用相同技術規格和 SKU。
若要為不同的測試群組啟用來源碼的平行建置,IDT for FreeRTOS 會將來源碼複製到 IDT for FreeRTOS 解壓縮資料夾內的結果資料夾。您必須使用 testdata.sourcePath
或 sdkPath
變數來參考建置或 Flash 命令中的原始程式碼路徑。IDT for FreeRTOS 會將此變數取代為複製來源碼的暫時路徑。如需詳細資訊,請參閱 IDT for FreeRTOS 變數。
下方範例 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 | Both" } ] }, { "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 Partner Device Catalog 中列出您的電路板,您在此處指定的 SKU 必須符合您在列出程序中使用的 SKU。
features
-
包含裝置支援功能的陣列。 AWS IoT Device Tester 會使用此資訊選取要執行的資格測試。
支援的值如下:
TCP/IP
-
指出您的面板是否支援 TCP/IP 堆疊,以及支援晶載 (MCU) 或轉移到另一個模組。你需要 TCP/IP 才能符合資格。
WIFI
-
指出您的面板是否具有 Wi-Fi 功能。
No
如果 設定為 ,則必須Cellular
設定為Yes
。 Cellular
-
指出您的電路板是否具有行動功能。
No
如果 設定為 ,則必須WIFI
設定為Yes
。當此功能設為 時Yes
,將使用 AWS t2.micro EC2 執行個體執行 FullSecureSockets 測試,這可能會對您的帳戶產生額外費用。如需詳細資訊,請參閱 Amazon EC2 定價。 TLS
-
指出您的面板是否支援 TLS。您需要 TLS 才能獲得資格。
PKCS11
-
指出面板支援的公有金鑰密碼編譯演算法。您需要 PKCS11 才能獲得資格。支援的值為
ECC
、RSA
、Both
和No
。Both
表示主機板同時支援ECC
和RSA
演算法。 KeyProvisioning
-
指出將受信任的 X.509 用戶端憑證寫入面板的方法。有效值為
Import
、Onboard
和No
。需有主要佈建才能符合資格。-
如果主機板可允許匯入私有金鑰,請使用
Import
。IDT 將建立私有金鑰,並將其建置至 FreeRTOS 原始程式碼。 -
如果主機板可支援產生內建私有金鑰 (例如,如果裝置有安全元素,或您偏好產生自己的裝置金鑰對和憑證),請使用
Onboard
。請務必在每個裝置區段中新增一個secureElementConfig
元素,並在publicKeyAsciiHexFilePath
欄位中放置公有金鑰檔案的絕對路徑。 -
如果主機板不支援金鑰佈建,請使用
No
。
-
OTA
-
指出您的面板是否支援無線 (OTA) 更新功能。
OtaDataPlaneProtocol
屬性指出裝置支援哪個 OTA 資料平面通訊協定。如果裝置不支援 OTA 功能,則會忽略此屬性。選取"Both"
時,由於同時執行 MQTT、HTTP 和混合測試,OTA 測試執行時間會延長。 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 公有金鑰的十六進位檔案:
-
取出金鑰的 base64 編碼部分 (略過標頭和頁尾 ),並將其存放在檔案中,例如將其命名為
base64key
,請執行此命令將其轉換為 .der 格式:base64 —decode base64key > pubkey.der
-
執行
xxd
命令,將其轉換為十六進位格式。xxd -p pubkey.der > outFile
-
devices.secureElementConfig.SecureElementSerialNumber
-
(選用) 安全元素的序號。當您執行 FreeRTOS 示範/測試專案時,請在序號與裝置公有金鑰一起印出時提供此欄位。
devices.secureElementConfig.preProvisioned
-
(選用) 如果裝置具有具有鎖定登入資料的預先佈建安全元素,且無法匯入、建立或銷毀物件,請設定為「是」。此組態只有在
features
KeyProvisioning
設為 "Onboard" 且PKCS11
設為 "ECC" 時才會生效。 identifiers
-
(選用) 任意的名稱/值組的陣列。您可以在下一節所述的建置和刷新命令中使用這些值。
設定建置、刷新和測試設定
若要讓 IDT for FreeRTOS 自動在您的主機板上建置和刷新測試,您必須設定 IDT 來執行硬體的建置和刷新命令。您可以在位於 config
資料夾的 userdata.json
範本檔案中配置建置和刷新命令設定。
配置設定以測試裝置
您可以在 configs/userdata.json
檔案中進行建置、刷新和測試設定。我們透過在 中載入用戶端和伺服器憑證和金鑰來支援 Echo Server 組態customPath
。如需詳細資訊,請參閱 FreeRTOS 移植指南中的設定 echo 伺服器。下列 JSON 範例示範如何設定 IDT for FreeRTOS 來測試多個裝置:
{ "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": [ "/absolute-path-to/build-parallel.sh
{{testData.sourcePath}} {{enableTests}}" ] }, "flashTool": { "name": "your-flash-tool-name
", "version": "your-flash-tool-version
", "command": [ "/absolute-path-to/flash-parallel.sh
{{testData.sourcePath}} {{device.connectivity.serialPort}} {{buildImageName}}" ], "buildImageInfo" : { "testsImageName": "tests-image-name
", "demosImageName": "demos-image-name
" } }, "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-path
/aws_tests/config_files/core_pkcs11_config.h" }, { "configName": "pkcs11TestConfig", "filePath": "{{testData.sourcePath}}/vendors/vendor-name
/boards/board-path
/aws_tests/config_files/iot_test_pkcs11_config.h" } ], "optional": [ { "configName": "otaAgentTestsConfig", "filePath": "{{testData.sourcePath}}/vendors/vendor-name
/boards/board-path
/aws_tests/config_files/aws_ota_agent_config.h" }, { "configName": "otaAgentDemosConfig", "filePath": "{{testData.sourcePath}}/vendors/vendor-name
/boards/board-path
/aws_demos/config_files/aws_ota_agent_config.h" } ] } }
以下列出 userdata.json
中使用的屬性:
sourcePath
-
移植的 FreeRTOS 原始程式碼根目錄的路徑。若要使用 SDK 進行平行測試,
sourcePath
可以使用{{userData.sdkConfiguration.path}}
預留位置設定 。例如:{ "sourcePath":"{{userData.sdkConfiguration.path}}/
freertos
" } vendorPath
-
廠商特定 FreeRTOS 程式碼的路徑。針對序列測試,
vendorPath
可設定為絕對路徑。例如:{ "vendorPath":"C:/
path-to-freertos
/vendors/espressif/boards/esp32
" }針對平行測試,可使用
{{testData.sourcePath}}
預留位置設定vendorPath
。例如:{ "vendorPath":"{{testData.sourcePath}}/vendors/espressif/boards/esp32" }
只有在在沒有 SDK 的情況下執行 時,才需要
vendorPath
變數,否則可以將其移除。注意
在沒有 SDK 的情況下平行執行測試時,必須在
vendorPath
、buildTool
、flashTool
欄位中使用{{testData.sourcePath}}
預留位置。使用單一裝置執行測試時,必須在vendorPath
、buildTool
、flashTool
欄位中使用絕對路徑。使用 SDK 執行 時,必須在sourcePath
、buildTool
和flashTool
命令中使用{{sdkPath}}
預留位置。 sdkConfiguration
-
如果您正在限定 FreeRTOS,且對檔案和資料夾結構所做的任何修改超過移植所需的修改,則需要在此區塊中設定 SDK 資訊。如果您不符合 SDK 內移植 FreeRTOS 的資格,則應完全省略此區塊。
sdkConfiguration.name
您搭配 FreeRTOS 使用的 SDK 名稱。如果您不是使用 SDK,則應該省略整個
sdkConfiguration
區塊。sdkConfiguration.version
您搭配 FreeRTOS 使用的 SDK 版本。如果您不是使用 SDK,則應該省略整個
sdkConfiguration
區塊。sdkConfiguration.path
包含 FreeRTOS 程式碼之 SDK 目錄的絕對路徑。如果您不是使用 SDK,則應該省略整個
sdkConfiguration
區塊。
buildTool
-
建置指令碼的完整路徑 (.bat 或 .sh),其中包含用來建立來源碼的命令。組建命令中對原始程式碼路徑的所有參考都必須取代為 AWS IoT Device Tester 變數,
{{testdata.sourcePath}}
而 SDK 路徑的參考應該取代為{{sdkPath}}
。buildImageInfo
-
testsImageName
-
從
資料夾建置測試時,建置命令產生的檔案名稱。freertos-source
/tests demosImageName
-
從
資料夾建置測試時,建置命令產生的檔案名稱。freertos-source
/demos
flashTool
-
包含裝置刷新命令的刷新指令碼 (.sh 或 .bat) 完整路徑。所有對 flash 命令中原始程式碼路徑的參考都必須取代為 IDT for FreeRTOS 變數
{{testdata.sourcePath}}
,而所有對 SDK 路徑的參考都必須取代為 IDT for FreeRTOS 變數{{sdkPath}}
。 clientWifiConfig
-
用戶端 Wi-Fi 組態。Wi-Fi 程式庫測試需要 MCU 主機板,以連接到兩個存取點。(兩個存取點可以是相同的。) 此屬性會設定第一個存取點的 Wi-Fi 設定。某些 Wi-Fi 測試案例希望存取點有一些安全保障,因此並未開放使用。請確定兩個存取點與執行 IDT 的主機電腦位於相同的子網路上。
wifi_ssid
-
Wi-Fi 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
-
Wi-Fi 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
-
指定伺服器憑證的 filepath。
privateKeyPath
-
指定私有金鑰的檔案路徑。
eccCurveFormat
-
指定主機板支援的曲線格式。在 中
PKCS11
將 設為 "ecc" 時為必要device.json
。有效值為「P224」、「P256」、「P384」或「P521」。
echoServerConfiguration
-
適用於 WiFi 和安全通訊端測試的可設定 echo 伺服器連接埠。此欄位為選用欄位。
securePortForSecureSocket
-
用於設定具有 TLS 的 echo 伺服器連接埠,以供安全通訊端測試之用。預設值為 33333。請確定防火牆或您公司的網路未封鎖設定的連接埠。
insecurePortForSecureSocket
-
用於設定不具有 TLS 的 echo 伺服器連接埠,以供安全通訊端測試之用。測試中使用的預設值為 33334。請確定防火牆或您公司的網路未封鎖設定的連接埠。
insecurePortForWiFi
-
用於設定無 TLS 的 echo 伺服器連接埠,以供 WiFi 測試之用。測試中使用的預設值為 33335。請確定防火牆或您公司的網路未封鎖設定的連接埠。
otaConfiguration
-
OTA 組態。[選用]
otaFirmwareFilePath
-
建置之後建立的 OTA 映像的完整路徑。例如
{{testData.sourcePath}}/
。relative-path/to/ota/image/from/source/root
deviceFirmwareFileName
-
OTA 韌體所在之 MCU 裝置上的完整檔案路徑。有些裝置不會使用此欄位,但您仍須提供一值。
otaDemoConfigFilePath
-
aws_demo_config.h
的完整路徑,位於
內。這些檔案包含在 FreeRTOS 提供的移植程式碼範本中。afr-source
/vendors/vendor/boards/board/aws_demos/config_files/ codeSigningConfiguration
-
程式碼簽章組態。
signingMethod
-
程式碼簽章方法。可能的值為
AWS
或Custom
。注意
對於北京和寧夏區域,請使用
Custom
。這些區域不支援AWS
程式碼簽署。 signerHashingAlgorithm
-
裝置上支援的雜湊演算法。可能的值為
SHA1
或SHA256
。 signerSigningAlgorithm
-
裝置上支援的簽署演算法。可能的值為
RSA
或ECDSA
。 signerCertificate
-
用於 OTA 的信任憑證。
對於 AWS 程式碼簽署方法,請針對上傳至 的信任憑證使用 Amazon Resource Name (ARN) AWS Certificate Manager。
對於自訂程式碼簽署方法,請使用簽署者憑證檔案的絕對路徑。
如需建立信任憑證的詳細資訊,請參閱 建立程式碼簽署憑證。
signerCertificateFileName
-
在裝置上的程式碼簽署憑證位置。
compileSignerCertificate
-
true
如果未佈建或刷新程式碼簽署者簽章驗證憑證,則設定為 ,因此必須將其編譯至專案。 會 AWS IoT Device Tester 擷取信任的憑證並將其編譯至aws_codesigner_certifiate.h
。 untrustedSignerCertificateArn
-
上傳至 ACM 之程式碼簽署憑證的 ARN。
signerPlatform
-
AWS Code Signer 在建立 OTA 更新任務時使用的簽署和雜湊演算法。目前,此欄位的可能值為
AmazonFreeRTOS-TI-CC3220SF
和AmazonFreeRTOS-Default
。-
如果是
SHA1
和RSA
則選擇AmazonFreeRTOS-TI-CC3220SF
。 -
如果是
SHA256
和ECDSA
則選擇AmazonFreeRTOS-Default
。
如果您的組態需要
SHA256
|RSA
或SHA1
|ECDSA
,請聯絡我們以取得進一步支援。如果您針對
signingMethod
選擇Custom
,請設定signCommand
。 -
signCommand
-
用於執行自訂程式碼簽署的命令。您可以在
/configs/script_templates
目錄中找到範本。命令中需要
{{inputImageFilePath}}
和{{outputSignatureFilePath}}
兩個預留位置。{{inputImageFilePath}}
是由 IDT 建立要簽署之影像的檔案路徑。{{outputSignatureFilePath}}
是將由指令碼產生簽章的檔案路徑。 otaDemoConfigFilePath
-
aws_demo_config.h
的完整路徑,位於
內。這些檔案包含在 FreeRTOS 提供的移植程式碼範本中。afr-source
/vendors/vendor/boards/board/aws_demos/config_files/
cmakeConfiguration
-
CMake 組態 [選用]
注意
您需要提供主機板名稱、廠商名稱,以及
frToolchainPath
或compilerName
,才能執行 CMake 測試案例。cmakeToolchainPath
如果您有 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 在執行測試之前修改的 FreeRTOS 檔案組態。
required
-
本節指定您已移動其組態檔案的必要測試,例如 PKCS11、TLS 等。
configName
-
正在設定的測試名稱。
filePath
-
儲存庫中組態檔案的絕對路徑。使用freertos
{{testData.sourcePath}}
變數來定義路徑。
optional
-
本節指定您已移動其組態檔案的選用測試,例如 OTA、WiFi 等。
configName
-
正在設定的測試名稱。
filePath
-
儲存庫中組態檔案的絕對路徑。使用freertos
{{testData.sourcePath}}
變數來定義路徑。
注意
您需要提供主機板名稱、廠商名稱,以及 afrToolchainPath
或 compilerName
,才能執行 CMake 測試案例。如果您有 CMake 工具鏈的自訂路徑,也可以提供 cmakeToolchainPath
。
IDT for FreeRTOS 變數
建置程式碼和刷新裝置的命令可能需要連線或裝置的其他資訊,才能成功執行。 AWS IoT Device Tester 可讓您參考刷新中的裝置資訊,並使用 JsonPathdevice.json
檔案中指定的必要資訊。
路徑變數
IDT for FreeRTOS 定義下列路徑變數,可用於命令列和組態檔案:
{{testData.sourcePath}}
-
展開至原始程式碼路徑。如果您使用此變數,則必須同時在快閃和建置命令中使用。
{{sdkPath}}
-
在組建和快閃記憶體命令中使用
userData.sdkConfiguration.path
時, 會擴展到 中的值。 {{device.connectivity.serialPort}}
-
展開至序列埠。
{{device.identifiers[?(@.name == 'serialNo')].value[0]}}
-
展開至裝置的序號。
{{enableTests}}
-
指出建置是否用於測試 (值 1) 或示範 (值 0) 的整數值。
{{buildImageName}}
-
檔案名稱使用建置命令產生的映像建置。
{{otaCodeSignerPemFile}}
-
OTA 程式碼簽署者的 PEM 檔案。