翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
マイクロコントローラーボードのテストを初めて準備する
重要
これは、FreeRTOS リリース 202012.00 で使用する FreeRTOS ユーザーガイドのアーカイブ版です。このドキュメントの最新バージョンについては、FreeRTOS ユーザーガイドを参照してください。
FreeRTOS インターフェイスを移植する際、IDT for FreeRTOS を使用してテストできます。ボードのデバイスドライバーに FreeRTOS インターフェイスを移植したら、 AWS IoT Device Tester を使用してマイクロコントローラーボードで認定テストを実行します。
ライブラリ移植レイヤーを追加する
デバイス用に FreeRTOS を移植するには、FreeRTOS 移植ガイドの手順に従います。
AWS 認証情報を設定する
AWS クラウドと通信 AWS IoT Device Tester するには、 の AWS 認証情報を設定する必要があります。詳細については、開発用の AWS 認証情報とリージョンのセットアップを参照してください。有効な AWS 認証情報は、
設定ファイルで指定する必要があります。devicetester_extract_location
/devicetester_afreertos_[win|mac|linux]
/configs/config.json
IDT for FreeRTOS でデバイスプールを作成する
テストするデバイスは、デバイスプールにまとめられます。各デバイスプールは、1 つ以上の同一デバイスで構成されます。IDT for FreeRTOS の設定次第で、プール内の 1 つのデバイスをテストすることも、複数のデバイスをテストすることもできます。認定プロセスを迅速化するために、IDT for FreeRTOS は、同じ仕様を持つデバイスを並行してテストできます。その際、ラウンドロビンメソッドを使用し、デバイスプール内の各デバイスで異なるテストグループが実行されます。
1 つ以上のデバイスをデバイスプールに追加するには、configs
フォルダにある device.json
テンプレートの devices
セクションを編集します。
注記
同じプールにあるデバイスは、すべて同じ技術仕様と同じ SKU を持たなければなりません。
IDT for FreeRTOS は、異なるテストグループに対してソースコードの並列ビルドを可能にするため、ソースコードを IDT for FreeRTOS の抽出されたフォルダにある結果フォルダにコピーします。ビルドコマンドまたはフラッシュコマンドのソースコードパスは、testdata.sourcePath
または sdkPath
変数を使用して参照する必要があります。IDT for FreeRTOS は、この変数を、コピーしたソースコードの一時パスで置き換えます。詳細については、IDT for FreeRTOS 変数を参照してください。
次の例では、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 | Both" } ] }, { "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 は、適格性が確認されたボードの追跡に使用されます。
注記
AWS Partner Device Catalog でボードを一覧表示する場合、ここで指定する SKU は、一覧表示プロセスで使用する SKU と一致する必要があります。
features
-
デバイスのサポートされている機能を含む配列。 は、この情報 AWS IoT Device Tester を使用して、実行する認定テストを選択します。
サポートされている値は以下のとおりです。
TCP/IP
-
ボードが TCP/IP スタックをサポートしているかどうか、オンチップ (MCU) でサポートされるのか別のモジュールにオフロードされるのかを示します。資格確認には TCP/IP が必要です。
WIFI
-
ボードが Wi-Fi 機能を備えているかどうかを示します。
Cellular
がYes
に設定されている場合はNo
に設定します。 Cellular
-
ボードがセルラー機能を備えているかどうかを示します。
WIFI
がYes
に設定されている場合はNo
に設定します。この機能が に設定されている場合Yes
、FullSecureSockets テストは AWS t2.micro EC2 インスタンスを使用して実行され、アカウントに追加のコストが発生する可能性があります。詳細については、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
-
ボードが無線 (OTA) による更新機能をサポートしているかどうかを示します。
OtaDataPlaneProtocol
属性は、デバイスがサポートする OTA データプレーンプロトコルを示します。OTA 機能がデバイスでサポートされていない場合、この属性は無視されます。"Both"
を選択すると、MQTT、HTTP の両方と混合テストを実行するため、OTA テストの実行時間が長くなります。 BLE
-
ボードが Bluetooth Low Energy (BLE) をサポートしているかどうかを示します。
devices.id
-
テスト対象のデバイスのユーザー定義の一意の識別子。
devices.connectivity.protocol
-
このデバイスと通信するために使用される通信プロトコル。サポートされている値は
uart
です。 devices.connectivity.serialPort
-
テスト対象であるデバイスへの接続に使用される、ホストコンピュータのシリアルポート。
devices.secureElementConfig.PublicKeyAsciiHexFilePath
-
オンボードプライベートキーから抽出された 16 進バイトのパブリックキーを含むファイルへの絶対パス。
形式の例:
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 形式の場合は、パブリックキーを直接 16 進エンコードして 16 進ファイルを生成できます。
16 進ファイルを生成する .der パブリックキーのコマンド例:
xxd -p pubkey.der > outFile
パブリックキーが .pem 形式の場合、base64 でエンコードされた部分を抽出してバイナリ形式にデコードし、16 進エンコードして 16 進ファイルを生成できます。
例えば、次のコマンドを使用して、.pem パブリックキーの 16 進ファイルを生成します。
-
キーの base64 でエンコードされた部分を取り出し (ヘッダーとフッターを取り除く)、ファイルに保存し、
base64key
などの名前を付けて、次のコマンドを使用し .der 形式に変換します。base64 —decode base64key > pubkey.der
-
xxd
コマンドを実行して、16 進形式に変換します。xxd -p pubkey.der > outFile
-
devices.secureElementConfig.SecureElementSerialNumber
-
(オプション) 安全なエレメントのシリアル番号。FreeRTOS デモ/テストプロジェクトを実行するときにデバイスのパブリックキーと共にシリアル番号が出力される場合、このフィールドを指定します。
devices.secureElementConfig.preProvisioned
-
(オプション) デバイスにロックダウンされた認証情報を持つ事前プロビジョニングされたセキュア要素があり、オブジェクトをインポート、作成、または破棄できない場合は、「Yes」に設定します。この設定は、
features
でKeyProvisioning
が「Onboard」に設定され、PKCS11
が「ECC」に設定されている場合のみ有効です。 identifiers
-
(オプション) 任意の名前と値のペアの配列。これらの値は、次のセクションで説明されているビルドコマンドやフラッシュコマンドで使用できます。
ビルド、フラッシュ、テスト設定を設定する
IDT for FreeRTOS でテストのビルドとボードへのフラッシュが自動的に実行されるようにするには、ハードウェアでビルドコマンドとフラッシュコマンドを実行するように IDT を設定する必要があります。ビルドとフラッシュのコマンド設定は、config
フォルダにある userdata.json
テンプレートファイルで設定されています。
デバイスをテストするための設定
ビルド、フラッシュ、およびテストの設定は、configs/userdata.json
ファイルで行います。エコーサーバー設定は、customPath
のクライアントとサーバーの証明書とキーの両方をロードすることによってサポートされます。詳細については、FreeRTOS 移植ガイドのエコーサーバーのセットアップを参照してください。次の 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": [ "/absolute-path-to/build-parallel.sh
{{testData.sourcePath}} {{enableTests}}" ] }, "flashTool": { "name": "your-flash-tool-name
", "version": "your-flash-tool-version
", "command": [ "/absolute-path-to/flash-parallel.sh
{{testData.sourcePath}} {{device.connectivity.serialPort}} {{buildImageName}}" ], "buildImageInfo" : { "testsImageName": "tests-image-name
", "demosImageName": "demos-image-name
" } }, "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-path
/aws_tests/config_files/core_pkcs11_config.h" }, { "configName": "pkcs11TestConfig", "filePath": "{{testData.sourcePath}}/vendors/vendor-name
/boards/board-path
/aws_tests/config_files/iot_test_pkcs11_config.h" } ], "optional": [ { "configName": "otaAgentTestsConfig", "filePath": "{{testData.sourcePath}}/vendors/vendor-name
/boards/board-path
/aws_tests/config_files/aws_ota_agent_config.h" }, { "configName": "otaAgentDemosConfig", "filePath": "{{testData.sourcePath}}/vendors/vendor-name
/boards/board-path
/aws_demos/config_files/aws_ota_agent_config.h" } ] } }
次のリストは、userdata.json
で使用される属性です。
sourcePath
-
移植された FreeRTOS ソースコードのルートへのパス。SDK を使用する並行テストの場合、
sourcePath
は{{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 なしでテストを並行して実行する場合、
vendorPath
、buildTool
、およびflashTool
フィールドで{{testData.sourcePath}}
プレースホルダーを使用する必要があります。1 つのデバイスでテストを実行するときは、vendorPath
、buildTool
、およびflashTool
フィールドで絶対パスを使用する必要があります。SDK を使用して実行する場合、{{sdkPath}}
プレースホルダーをsourcePath
、buildTool
、およびflashTool
コマンドで使用する必要があります。 sdkConfiguration
-
移植に必要な範囲を超えてファイルやフォルダの構造を変更して FreeRTOS を認定する場合は、このブロックで SDK 情報を設定する必要があります。SDK 内で移植された FreeRTOS を認定しない場合は、このブロックを完全に省略する必要があります。
sdkConfiguration.name
FreeRTOS で使用する SDK の名前。SDK を使用しない場合は、
sdkConfiguration
ブロック全体を省略する必要があります。sdkConfiguration.version
FreeRTOS で使用する SDK のバージョン。SDK を使用しない場合は、
sdkConfiguration
ブロック全体を省略する必要があります。sdkConfiguration.path
FreeRTOS コードがある SDK ディレクトリへの絶対パス。SDK を使用しない場合は、
sdkConfiguration
ブロック全体を省略する必要があります。
buildTool
-
ソースコードをビルドするためのコマンドを含むビルドスクリプト (.bat または .sh) の完全パス。ビルドコマンドのソースコードパスへの参照はすべて AWS IoT Device Tester 変数に置き換え、SDK パスへの
{{testdata.sourcePath}}
参照は に置き換える必要があります{{sdkPath}}
。buildImageInfo
-
testsImageName
-
フォルダからテストを構築するときにビルドコマンドによって生成されるファイルの名前。freertos-source
/tests demosImageName
-
フォルダからテストを構築するときにビルドコマンドによって生成されるファイルの名前。freertos-source
/demos
flashTool
-
デバイス用のフラッシュコマンドを含むフラッシュスクリプト (.sh または .bat) の完全パス。フラッシュコマンドのソースコードパスへの参照は、すべて IDT for FreeRTOS 変数
{{testdata.sourcePath}}
に置き換え、SDK パスへ参照はすべて IDT for FreeRTOS 変数{{sdkPath}}
に置き換える必要があります。 clientWifiConfig
-
クライアント側の Wi-Fi 設定。Wi-Fi ライブラリテストは、MCU ボードに対し、2 つのアクセスポイントへの接続を要求します。(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 ライブラリテストは、MCU ボードに対し、2 つのアクセスポイントへの接続を要求します。(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
-
WiFi テスト用に TLS なしでエコーサーバーをセットアップするために使用されるポート。テストで使用されるデフォルト値は 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
-
デバイス上のコード署名証明書の場所。
compileSignerCertificate
-
true
コード署名者署名検証証明書がプロビジョニングまたはフラッシュされていない場合、 に設定するため、プロジェクトにコンパイルする必要があります。 は信頼できる証明書 AWS IoT Device Tester を取得し、 にコンパイルしますaws_codesigner_certifiate.h
。 untrustedSignerCertificateArn
-
ACM にアップロードするコード署名証明書の 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
ディレクトリにあります。このコマンドには
{{inputImageFilePath}}
と{{outputSignatureFilePath}}
の 2 つのプレースホルダーが必要です。{{inputImageFilePath}}
は、IDT によって構築される署名対象のイメージのファイルパスです。{{outputSignatureFilePath}}
は、スクリプトによって生成される署名のファイルパスです。 otaDemoConfigFilePath
-
内にあるafr-source
/vendors/vendor/boards/board/aws_demos/config_files/aws_demo_config.h
への完全パス。これらのファイルは、FreeRTOS が提供する移植コードテンプレートに含まれています。
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 がテストを実行する前に変更する FreeRTOS ファイルの設定。
required
-
このセクションでは、設定ファイルを移動済みの必須テストを指定します (PKCS11、TLS など)。
configName
-
設定対象のテストの名前。
filePath
-
リポジトリ内の設定ファイルの絶対パス。freertos
{{testData.sourcePath}}
変数を使用してパスを定義します。
optional
-
このセクションでは、設定ファイルを移動済みの必須テストを指定します (OTA、WiFi など)。
configName
-
設定対象のテストの名前。
filePath
-
リポジトリ内の設定ファイルの絶対パス。freertos
{{testData.sourcePath}}
変数を使用してパスを定義します。
注記
CMake テストケースを実行するには、ベンダー名、ボード名、および afrToolchainPath
または compilerName
を指定する必要があります。CMake ツールチェーンへのカスタムパスがある場合は、cmakeToolchainPath
を指定することもできます。
IDT for FreeRTOS 変数
コードを構築してデバイスをフラッシュするコマンドでは、正常に実行するために接続やデバイスに関するその他の情報が必要になる場合があります。 AWS IoT Device Tester を使用すると、JsonPathdevice.json
ファイルで指定されている情報を取得することができます。
パス変数
IDT for FreeRTOS は、コマンドラインと設定ファイルで使用できる次のようなパス変数を定義します。
{{testData.sourcePath}}
-
ソースコードパスに拡張されます。この変数を使用する場合は、フラッシュコマンドとビルドコマンドの両方で使用する必要があります。
{{sdkPath}}
-
ビルドコマンドとフラッシュコマンドで使用する場合、
userData.sdkConfiguration.path
で値に拡張されます。 {{device.connectivity.serialPort}}
-
シリアルポートに拡張されます。
{{device.identifiers[?(@.name == 'serialNo')].value[0]}}
-
デバイスのシリアル番号に拡張されます。
{{enableTests}}
-
ビルドがテスト用 (値 1) であるか、デモ (値 0) であるかを示す整数値。
{{buildImageName}}
-
ビルドコマンドによってビルドされたイメージのファイル名。
{{otaCodeSignerPemFile}}
-
OTA Code Signer の PEM ファイル。