选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

为测试设备配置设置 - 免费 RTOS

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为测试设备配置设置

构建、刷写和测试设置在 configs/userdata.json 文件中进行。我们通过在 customPath 中加载客户端和服务器证书和密钥来支持 Echo 服务器配置。有关更多信息,请参阅《免费RTOS移植指南》中的设置回声服务器。以下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 源代码根目录的路径。要使用并行测试SDK,sourcePath可以使用{{userData.sdkConfiguration.path}}占位符进行设置。例如:

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

供应商特定免费RTOS代码的路径。对于串行测试,vendorPath 可以设置为绝对路径。例如:

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

对于并行测试,vendorPath 可以使用 {{testData.sourcePath}} 占位符进行设置。例如:

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

只有在不带vendorPath变量的情况下运行时才需要该变量SDK,否则可以将其删除。

注意

在不使用的情况下并行运行测试时SDK,必须在、vendorPathbuildToolflashTool字段中使用{{testData.sourcePath}}占位符。使用单个设备运行测试时,vendorPathbuildToolflashTool 字段中必须使用绝对路径。使用运行时SDK,必须在sourcePathbuildTool、和flashTool命令中使用{{sdkPath}}占位符。

sdkConfiguration

如果您RTOS符合免费资格,并且对文件和文件夹结构进行了任何超出移植要求的修改,则需要在此区块中配置您的SDK信息。如果你没有资格使用RTOS内部移植的 FreeSDK,那么你应该完全省略这个方块。

sdkConfiguration.name

SDK你在 Free 中使用的名称RTOS。如果您没有使用SDK,则应省略整个sdkConfiguration方块。

sdkConfiguration.version

SDK你在 Free 中使用的版本RTOS。如果您没有使用SDK,则应省略整个sdkConfiguration方块。

sdkConfiguration.path

包含免费RTOS代码的SDK目录的绝对路径。如果您没有使用SDK,则应省略整个sdkConfiguration方块。

buildTool

您的生成脚本(.bat 或 .sh)的完整路径,该脚本包含用于生成源代码的命令。生成命令中对源代码路径的所有引用都必须替换为 AWS IoT Device Tester 变量{{testdata.sourcePath}},对SDK路径的引用应替换为{{sdkPath}}。使用{{config.idtRootPath}}占位符引用绝对路径或相对IDT路径。

testStartDelayms

指定免费RTOS测试运行器在开始运行测试之前将等待多少毫秒。如果由于网络或其他延迟,被测设备在IDT有机会连接并开始记录之前就开始输出重要的测试信息,这可能很有用。允许的最大值为 30000 毫秒(30 秒)。此值仅适用于免费RTOS测试组,不适用于不使用免费测试运行程序的其他RTOS测试组,例如OTA测试。

flashTool

您的刷入脚本(.sh 或 .bat)的完整路径,该脚本应该包含您设备的刷入命令。flash 命令中对源代码路径的所有引用都必须由 for Free RTOS 变量{{testdata.sourcePath}}替换,所有IDT对SDK路径的引用都必须由 for Fre {{sdkPath}} e RTOS 变量替换。使用{{config.idtRootPath}}占位符来引用绝对路径或相对路径。IDT 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 为“自定义”,则 certificatePathprivateKeyPath 为必需项。

certificatePath

指定服务器证书的文件路径。

privateKeyPath

指定私有密钥的文件路径。

eccCurveFormat

指定主板支持的曲线格式。在 device.json 中将 PKCS11 设置为“ECC”时必需。有效值为“P224”、“P256”、“P384”或“P521”。

echoServerConfiguration

用于 WiFi 和安全套接字测试的可配置回声服务器端口。该字段是可选的。

securePortForSecureSocket

用于设置回声服务器以进行安全套接字测试TLS的端口。默认值是 33333。确保配置的端口未被防火墙或公司网络阻止。

insecurePortForSecureSocket

用于在不进行安全套接字测试的情况下设置 echo 服务器TLS的端口。测试中使用的默认值为 33334。确保配置的端口未被防火墙或公司网络阻止。

insecurePortForWiFi

用于设置回声服务器的端口,无需TLS进行 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 的完整路径。这些文件包含在 Free RTOS 提供的移植代码模板中。

codeSigningConfiguration

代码签名配置。

signingMethod

代码签名方法。可能的值为 AWSCustom

注意

对于北京和宁夏区域,请使用 Custom。这些区域不支持 AWS 代码签名。

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

C AWS ode Signer 在创建OTA更新任务时使用的签名和哈希算法。目前,此字段的可能值为 AmazonFreeRTOS-TI-CC3220SFAmazonFreeRTOS-Default

  • 如果为 SHA1RSA,则选择 AmazonFreeRTOS-TI-CC3220SF

  • 如果为 SHA256ECDSA,则选择 AmazonFreeRTOS-Default

如果您的配置需要 SHA256 | RSASHA1 | ECDSA,请与我们联系以获取进一步的支持。

如果您为 signingMethod 选择 Custom,则配置 signCommand

signCommand

用于执行自定义代码签名的命令。您可以在 /configs/script_templates 目录中找到模板。

命令中需要{{outputSignatureFilePath}}两个占位符{{inputImageFilePath}}和。 {{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修改的免费RTOS文件的配置。

required

本节指定了您已移动其配置文件的必需测试PKCS11,例如TLS、等。

configName

正在配置的组件的名称。

filePath

freertos 存储库中配置文件的绝对路径。使用 {{testData.sourcePath}} 变量来定义路径。

optional

本节指定了您已移动其配置文件的可选测试 OTA WiFi,例如,等等。

configName

正在配置的组件的名称。

filePath

freertos 存储库中配置文件的绝对路径。使用 {{testData.sourcePath}} 变量来定义路径。

注意

要执行CMake测试用例,必须提供主板名称、供应商名称和afrToolchainPathcompilerNamecmakeToolchainPath如果您有CMake工具链的自定义路径,也可以提供。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。