本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
准备首次测试微控制器主板
在移植 FreeRTOS 接口时,你可以使用 IDT for FreeRTOS 进行测试。为主板的设备驱动程序移植 FreeRTOS 接口后,即可在微控制器板上运行资格测试。Amazon IoT Device Tester
添加库移植层
要为您的设备移植 FreeRTOS,请按照 FreeRTOS 移植指南中的说明进行操作。
配置 Amazon凭证
您需要配置您的Amazon凭据才能与Amazon云端通信。Amazon IoT Device Tester有关更多信息,请参阅设置Amazon证书和区域以供开发。必须在
配置文件中指定有效的Amazon凭据。devicetester_extract_location
/devicetester_afreertos_[win|mac|linux]
/configs/config.json
在 IDT 中为 FreeRTOS 创建设备池
要测试的设备排列在设备池中。每个设备池包含一个或多个相同的设备。您可以为 FreeRTOS 配置 IDT 以测试池中的单个设备或池中的多个设备。为了加快认证流程,IDT for FreeRTOS 可以parallel 测试具有相同规格的设备。它使用轮询方法,在设备池中的各个设备上执行不同的测试组。
您可以通过编辑 configs
文件夹中 device.json
模板的 devices
部分,将一个或多个设备添加到设备池中。
同一个池中的所有设备必须具有相同的技术规格和 SKU。
为了为不同的测试组启用源代码的parallel 构建,IDT for FreeRTOS 会将源代码复制到 IDT for FreeRTOS 提取的文件夹内的结果文件夹。必须使用或sdkPath
变量引用编译或 flash 命令中的源代码路径。testdata.sourcePath
FreeRTOS 的 IDT 用复制的源代码的临时路径替换了这个变量。有关更多信息,请参阅FreeRTOS 变量的 IDT。
以下 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 用于跟踪符合条件的主板。
注意 如果您想在Amazon合作伙伴设备目录中列出您的主板,则您在此处指定的 SKU 必须与您在发布过程中使用的 SKU 相匹配。
features
-
包含设备支持的功能的阵列。 Amazon IoT Device Tester使用此信息选择要运行的资格测试。
支持的值为:
TCP/IP
-
指示您的主板是否支持 TCP/IP 堆栈,以及是片上 (MCU) 支持还是分载到另一个模块。资格认证需要使用 TCP/IP。
WIFI
-
指示您的主板是否具有 Wi-Fi 功能。
No
如果设置为,Cellular
则必须设置为Yes
。 Cellular
-
表示您的主板是否具有蜂窝功能。
No
如果设置为,WIFI
则必须设置为Yes
。当此功能设置为时Yes
,将使用Amazon 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
-
表示您的主板是否支持 over-the-air (OTA) 更新功能。
OtaDataPlaneProtocol
属性指示设备支持哪个 OTA 数据平面协议。如果设备不支持 OTA 功能,则忽略此属性。在选择"Both"
后,由于同时运行 MQTT、HTTP 和混合测试,因此 OTA 测试执行时间会延长。注意 从 IDT v4.1.0 开始,仅
OtaDataPlaneProtocol
接受HTTP
和MQTT
作为支持的值。 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
-
(可选)如果设备具有预先配置的安全元素,且凭据已锁定,无法导入、创建或销毁对象,则设置为 “是”。此配置仅在
KeyProvisioning
设置features
为 “板载” 并PKCS11
设置为 “ECC” 时生效。 identifiers
-
(可选)任意名称/值对的数组。您可以在下一部分所述的生成和刷写命令中使用这些值。
配置构建、刷写和测试设置
要让 IDT for FreeRTOS 自动构建并在您的主板上进行闪存测试,您必须配置 IDT 以运行硬件的编译和 flash 命令。生成和刷写设置在位于 config
文件夹的 userdata.json
模板文件中配置。
为测试设备配置设置
生成、刷写和测试设置在 configs/userdata.json
文件中进行。我们通过在中加载客户端和服务器证书和密钥来支持 Echo Server 配置customPath
。有关更多信息,请参阅 FreeRTOS 移植指南中的设置 e cho 服务器。以下 JSON 示例显示了如何为 FreeRTOS 配置 IDT 以测试多台设备:
{ "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": "Amazon | 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
-
移植的 FreeRTOS 源代码根目录的路径。对于使用 SDK 的paralle
sourcePath
l 测试,可以使用{{userData.sdkConfiguration.path}}
占位符进行设置。例如:{ "sourcePath":"{{userData.sdkConfiguration.path}}/
freertos
" } vendorPath
-
供应商特定 FreeRTOS 代码的路径。对于串行测试,
vendorPath
可以设置为绝对路径。例如:{ "vendorPath":"C:/
path-to-freertos
/vendors/espressif/boards/esp32
" }对于并行测试,
vendorPath
可以使用{{testData.sourcePath}}
占位符进行设置。例如:{ "vendorPath":"{{testData.sourcePath}}/vendors/espressif/boards/esp32" }
该
vendorPath
变量仅在没有 SDK 的情况下运行时才是必需的,否则可以将其删除。注意 在没有 SDK 的情况下parallel 运行测试时,必须在
vendorPath
、buildTool
、flashTool
字段中使用{{testData.sourcePath}}
占位符。使用单个设备运行测试时,vendorPath
、buildTool
、flashTool
字段中必须使用绝对路径。使用 SDK 运行时,必须在sourcePath
buildTool
、和flashTool
命令中使用{{sdkPath}}
占位符。 sdkConfiguration
-
如果您要对 FreeRTOS 进行除移植要求之外对文件和文件夹结构进行任何修改,则需要在此块中配置您的 SDK 信息。如果你不符合在 SDK 中移植的 FreeRTOS 的资格,那么你应该完全省略这个区块。
sdkConfiguration.name
-
你在 FreeRTOS 中使用的软件开发工具包的名称。如果您没有使用 SDK,则应省略整个
sdkConfiguration
区块。 sdkConfiguration.version
-
你在 FreeRTOS 中使用的 SDK 版本。如果您没有使用 SDK,则应省略整个
sdkConfiguration
区块。 sdkConfiguration.path
-
包含您的 FreeRTOS 代码的 SDK 目录的绝对路径。如果您没有使用 SDK,则应省略整个
sdkConfiguration
区块。
buildTool
-
您的生成脚本(.bat 或 .sh)的完整路径,该脚本包含用于生成源代码的命令。编译命令中对源代码路径的所有引用都必须替换为Amazon IoT Device Tester变量
{{testdata.sourcePath}}
,对 SDK 路径的引用应替换为{{sdkPath}}
。使用{{config.idtRootPath}}
占位符引用绝对或相对 IDT 路径。 testStartDelayms
-
指定 FreeRTOS 测试运行器在开始运行测试之前将等待多少毫秒。如果由于网络或其他延迟,被测设备在 IDT 有机会连接并开始记录之前就开始输出重要的测试信息,这可能很有用。允许的最大值为 3000000毫秒(30 秒)。此值仅适用于 FreeRTOS 测试组,不适用于不使用 FreeRTOS 测试运行器的其他测试组,例如 OTA 测试。
flashTool
-
您的刷入脚本(.sh 或 .bat)的完整路径,该脚本应该包含您设备的刷入命令。flash 命令中对源代码路径的所有引用都必须替换为 IDT for FreeRTOS 变量
{{testdata.sourcePath}}
,对您的 SDK 路径的所有引用都必须替换为 IDT for Fre{{sdkPath}}
eRTOS 变量。使用{{config.idtRootPath}}
占位符引用绝对或相对 IDT 路径。buildImageInfo
-
testsImageName
-
从该
文件夹构建测试时生成命令生成的文件的名称。freertos-source
/tests demosImageName
-
从该
文件夹构建测试时生成命令生成的文件的名称。freertos-source
/demos
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
-
指定服务器证书的文件路径。
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
-
位于
中的afr-source
/vendors/vendor/boards/board/aws_demos/config_files/aws_demo_config.h
的完整路径。这些文件包含在 FreeRTOS 提供的移植代码模板中。 codeSigningConfiguration
-
代码签名配置。
signingMethod
-
代码签名方法。可能的值为
AWS
或Custom
。注意 对于北京和宁夏区域,使用
Custom
。AWS
这些区域中不支持代码签名。 signerHashingAlgorithm
-
设备所支持的哈希算法。可能的值为
SHA1
或SHA256
。 signerSigningAlgorithm
-
设备所支持的签名算法。可能的值为
RSA
或ECDSA
。 signerCertificate
-
用于 OTA 的可信证书。
对于 Amazon 代码签名方法,使用上传到 Amazon Certificate Manager 的可信证书的 Amazon 资源名称 (ARN)。
对于自定义代码签名方法,请使用签署人证书文件的绝对路径。
有关创建可信证书的更多信息,请参阅 创建代码签名证书。
signerCertificateFileName
-
设备上代码签名证书的文件名。此值必须与您在运行
aws acm import-certificate
命令时提供的文件名相匹配。有关更多信息,请参阅创建代码签名证书:
compileSignerCertificate
-
如果代码签署人签名验证证书未预置或刷写,从而必须编译到项目中,则此项设置为
true
。Amazon IoT Device Tester 提取可信证书并将其编译为aws_codesigner_certifiate.h
。 untrustedSignerCertificate
-
某些 OTA 测试中用作不可信证书的第二个证书的 ARN 或文件路径。有关创建证书的更多信息,请参阅创建代码签名证书。
signerPlatform
-
Amazon 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}}
是将由脚本生成的签名的文件路径。
cmakeConfiguration
-
CMake 配置 [可选]
注意 要执行 CMake 测试案例,您必须提供主板名称、供应商名称和
frToolchainPath
或compilerName
。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
-
本节指定了您已移动其配置文件的可选测试 WiFi,例如 OTA 等。
configName
-
正在配置的测试名称。
filePath
-
存储库中配置文件的绝对路径。使用freertos
{{testData.sourcePath}}
变量定义路径。
要执行 CMake 测试案例,您必须提供主板名称、供应商名称和 afrToolchainPath
或 compilerName
。如果您的 CMake 工具链使用自定义路径,则还需要提供 cmakeToolchainPath
。
FreeRTOS 变量的 IDT
生成代码和刷新设备的命令可能需要连接或有关设备的其他信息才能成功运行。 Amazon IoT Device Tester允许您在 Flash 中引用设备信息并使用生成命令JsonPathdevice.json
文件中指定的必需信息。
路径变量
FreeRTOS 的 IDT 定义以下可以在命令行和配置文件中使用的路径变量:
{{testData.sourcePath}}
-
扩展到到源代码路径。如果使用该变量,则必须在刷写和构建命令中使用该变量。
{{sdkPath}}
-
在编译和 Flash 命令中使用
userData.sdkConfiguration.path
时,扩展为你的值。 {{device.connectivity.serialPort}}
-
扩展到串行端口。
{{device.identifiers[?(@.name == 'serialNo')].value[0]}}
-
扩展到您设备的序列号。
{{enableTests}}
-
整数值,指明构建适用于测试(值为 1)还是演示(值为 0)。
{{buildImageName}}
-
构建命令构建的映像的文件名。
{{otaCodeSignerPemFile}}
-
OTA 代码签名者的 PEM 文件。
{{config.idtRootPath}}
-
扩展到Amazon IoT Device Tester根路径。此变量替换了 build 和 flash 命令使用时 IDT 的绝对路径。