翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
デバイスをテストするための設定
ビルド、フラッシュ、およびテストの設定は、configs/userdata.json
ファイルで行います。エコーサーバー設定は、customPath
のクライアントとサーバーの証明書とキーの両方をロードすることによってサポートされます。詳細については、「無料移植ガイド」の「エコーサーバーのセットアップ」を参照してください。 RTOS 次の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": [
"{{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、
{{userData.sdkConfiguration.path}}
プレースホルダーを使用してsourcePath
を設定できます。例:{ "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、
{{testData.sourcePath}}
プレースホルダーをvendorPath
、buildTool
、flashTool
フィールドで使用する必要があります。1 つのデバイスでテストを実行するときは、vendorPath
、buildTool
、およびflashTool
フィールドで絶対パスを使用する必要があります。で実行する場合SDK、{{sdkPath}}
プレースホルダーは、sourcePath
、buildTool
、およびflashTool
コマンドで使用する必要があります。 sdkConfiguration
-
ファイルやフォルダ構造を移植に必要な範囲を超えて変更して FreeRTOS の対象となる場合は、このブロックでSDK情報を設定する必要があります。内で移植された無料RTOSの対象ではない場合はSDK、このブロックを完全に省略する必要があります。
sdkConfiguration.name
-
無料 SDKで使用している の名前RTOS。を使用しない場合はSDK、
sdkConfiguration
ブロック全体を省略する必要があります。 sdkConfiguration.version
-
無料 SDKで使用している のバージョンRTOS。を使用しない場合はSDK、
sdkConfiguration
ブロック全体を省略する必要があります。 sdkConfiguration.path
-
無料RTOSコードを含むSDKディレクトリへの絶対パス。を使用しない場合はSDK、
sdkConfiguration
ブロック全体を省略する必要があります。
buildTool
-
ソースコードをビルドするためのコマンドを含むビルドスクリプト (.bat または .sh) の完全パス。ビルドコマンドのソースコードパスへの参照はすべて AWS IoT Device Tester 変数に置き換え、SDKパスへの
{{testdata.sourcePath}}
参照は に置き換える必要があります{{sdkPath}}
。{{config.idtRootPath}}
プレースホルダーを使用して、絶対パスまたは相対IDTパスを参照します。 testStartDelayms
-
無料RTOSテストランナーがテストの実行を開始する前に待機するミリ秒数を指定します。これは、テスト対象のデバイスが重要なテスト情報を出力し始めると、 IDTがネットワークやその他のレイテンシーのために接続してログ記録を開始する機会がある場合に役立ちます。最大許容値は 30000 ms (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 ライブラリテストでは、2 つのアクセスポイントに接続するためのMCUボードが必要です。(2 つのアクセスポイントは同じにすることができます)。この属性は、最初のアクセスポイントの 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 ライブラリテストでは、2 つのアクセスポイントに接続するためのMCUボードが必要です。(2 つのアクセスポイントは同じにすることができます)。この属性は、2 番目のアクセスポイントの 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
が「Custom」の場合は、certificatePath
とprivateKeyPath
が必要です。certificatePath
-
サーバー証明書のファイルパスを指定します。
privateKeyPath
-
プライベートキーのファイルパスを指定します。
eccCurveFormat
-
ボードがサポートする曲線形式を指定します。
PKCS11
がdevice.json
で「ecc」に設定されている場合に必要です。有効な値は「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
-
内にある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。
AWS コード署名メソッドでは、 にアップロードされた信頼できる証明書に Amazon リソースネーム (ARN) を使用します AWS Certificate Manager。
カスタムコード署名方法としては、署名者の証明書ファイルへの絶対パスを使用します。
信頼された証明書の作成の詳細については、「コード署名証明書の作成」を参照してください。
signerCertificateFileName
-
デバイスのコード署名証明書のファイル名。この値は、
aws acm import-certificate
コマンド実行時に指定したファイル名と一致する必要があります。詳細については、「コード署名証明書の作成」を参照してください。
compileSignerCertificate
-
true
コード署名者署名検証証明書がプロビジョニングまたはフラッシュされていない場合、 に設定するため、プロジェクトにコンパイルする必要があります。 は信頼された証明書 AWS IoT Device Tester を取得し、 にコンパイルしますaws_codesigner_certifiate.h
。 untrustedSignerCertificate
-
信頼できない証明書として一部のOTAテストで使用される 2 番目の証明書の ARNまたは ファイルパス。証明書を作成する方法の詳細については、「コード署名証明書の作成」を参照してください。
signerPlatform
-
OTA 更新ジョブの作成時に AWS Code Signer が使用する署名アルゴリズムとハッシュアルゴリズム。現在、このフィールドで可能な値は、
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
ディレクトリにあります。コマンドには 2 つのプレースホルダー
{{inputImageFilePath}}
と{{outputSignatureFilePath}}
が必要です。{{inputImageFilePath}}
は署名IDTされる によって構築されたイメージのファイルパスです。{{outputSignatureFilePath}}
はスクリプトによって生成される署名のファイルパスです。
cmakeConfiguration
-
CMake 設定 [オプション〕
注記
CMake テストケースを実行するには、ボード名、ベンダー名、
frToolchainPath
または を指定する必要がありますcompilerName
。CMake ツールチェーンへのカスタムパスcmakeToolchainPath
がある場合は、 を指定することもできます。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
-
このセクションでは、、、 など、移動した設定ファイルに必要なテストを指定しますPKCS11TLS。
configName
-
設定対象のテストの名前。
filePath
-
リポジトリ内の設定ファイルの絶対パス。freertos
{{testData.sourcePath}}
変数を使用してパスを定義します。
optional
-
このセクションでは、 などの設定ファイルを移動したオプションのテストを指定しますOTA WiFi。
configName
-
設定対象のテストの名前。
filePath
-
リポジトリ内の設定ファイルの絶対パス。freertos
{{testData.sourcePath}}
変数を使用してパスを定義します。
注記
CMake テストケースを実行するには、ボード名、ベンダー名、 afrToolchainPath
または を指定する必要がありますcompilerName
。CMake ツールチェーンへのカスタムパスcmakeToolchainPath
がある場合は、 を指定することもできます。