デバイスをテストするための設定 - 無料RTOS

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

デバイスをテストするための設定

ビルド、フラッシュ、およびテストの設定は、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}}プレースホルダーを vendorPathbuildToolflashToolフィールドで使用する必要があります。1 つのデバイスでテストを実行するときは、vendorPathbuildTool、および flashTool フィールドで絶対パスを使用する必要があります。で実行する場合SDK、{{sdkPath}}プレースホルダーは、sourcePathbuildTool、および 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」の場合は、certificatePathprivateKeyPath が必要です。

certificatePath

サーバー証明書のファイルパスを指定します。

privateKeyPath

プライベートキーのファイルパスを指定します。

eccCurveFormat

ボードがサポートする曲線形式を指定します。PKCS11device.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-CC3220SFAmazonFreeRTOS-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がある場合は、 を指定することもできます。