選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

配置設定以測試裝置 - 免費RTOS

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

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

配置設定以測試裝置

您可以在 configs/userdata.json 檔案中進行建置、刷新和測試設定。我們透過在 中載入用戶端和伺服器憑證和金鑰來支援 Echo Server 組態customPath。如需詳細資訊,請參閱 免費RTOS移植指南中的設定回應伺服器。下列JSON範例示範如何IDT設定 免費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

移植的免費RTOS來源程式碼根目錄的路徑。若要使用 進行平行測試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,否則可以將其移除。

注意

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

sdkConfiguration

如果對RTOS檔案和資料夾結構進行任何修改,超出了移植所需的修改,則您需要在此區塊中設定SDK您的資訊。如果您不符合在 內使用移植的免費RTOS 的資格SDK,則應該完全省略此區塊。

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

指定 FreeRTOS 測試執行器在開始執行測試之前等待多少毫秒。如果受測裝置在因網路或其他延遲IDT而有機會連線和開始記錄之前,開始輸出重要的測試資訊,這很有用。允許的值上限為 30000 毫秒 (30 秒)。此值僅適用於免費RTOS測試群組,不適用於不使用免費RTOS測試執行器的其他測試群組,例如OTA測試。

flashTool

包含用於裝置的刷入命令之刷入指令碼 (.sh 或 .bat) 的完整路徑。快閃命令中對原始程式碼路徑的所有參考都必須取代IDT為 for FreeRTOS 變數,{{testdata.sourcePath}}而對SDK路徑的所有參考都必須取代為 IDT for FreeRTOS 變數 {{sdkPath}}。使用{{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

用於安全通訊端測試的可設定回應伺服器憑證產生預留位置。此欄位為必填。

certificateGenerationMethod

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

customPath

如果 certificateGenerationMethod 為「自訂」,certificatePathprivateKeyPath 為必要項目。

certificatePath

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

privateKeyPath

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

eccCurveFormat

指定界面卡支援的曲線格式。在 中PKCS11將 設為 "ecc" 時為必要device.json。有效值為「P224」、「P256」、「P384」或「P521」。

echoServerConfiguration

WiFi 和安全通訊端的可設定回應伺服器連接埠會進行測試。此欄位為選用欄位。

securePortForSecureSocket

用於使用 設定回應伺服器的連接埠,TLS以進行安全通訊端測試。預設值為 33333。請確定防火牆或您公司的網路未封鎖設定的連接埠。

insecurePortForSecureSocket

用於設定回應伺服器的連接埠,而不需要 TLS 進行安全通訊端測試。測試中使用的預設值為 33334。請確定防火牆或您公司的網路未封鎖設定的連接埠。

insecurePortForWiFi

用於設定回應伺服器的連接埠,而不需要TLS WiFi 進行測試。測試中使用的預設值為 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/ 內。這些檔案包含在 FreeRTOS 提供的移植程式碼範本中。

codeSigningConfiguration

程式碼簽章組態。

signingMethod

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

注意

對於北京和寧夏區域,請使用 Custom。這些區域不支援AWS程式碼簽署。

signerHashingAlgorithm

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

signerSigningAlgorithm

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

signerCertificate

用於 的受信任憑證OTA。

對於 AWS 程式碼簽署方法,請針對上傳至 的受信任憑證使用 Amazon Resource Name (ARN) AWS Certificate Manager。

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

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

signerCertificateFileName

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

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

compileSignerCertificate

true 如果程式碼簽署者簽章驗證憑證未佈建或閃爍,則設定為 ,因此必須將其編譯至專案中。 會 AWS IoT Device Tester 擷取信任的憑證並將其編譯至 aws_codesigner_certifiate.h

untrustedSignerCertificate

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

signerPlatform

AWS Code 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

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

configName

正在設定的測試名稱。

filePath

freertos 儲存庫中組態檔案的絕對路徑。使用 {{testData.sourcePath}} 變數來定義路徑。

optional

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

configName

正在設定的測試名稱。

filePath

freertos 儲存庫中組態檔案的絕對路徑。使用 {{testData.sourcePath}} 變數來定義路徑。

注意

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

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。