Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Konfigurieren von Einstellungen für das Testen von Geräten
Build-, Flash- und Testeinstellungen werden in der configs/userdata.json
-Datei vorgenommen. Wir unterstützen die Echo Server-Konfiguration, indem wir sowohl die Client- als auch die Serverzertifikate und Schlüssel in den ladencustomPath
. Weitere Informationen finden Sie unter Einrichtung eines Echoservers im Leitfaden zur kostenlosen RTOS Portierung. Das folgende JSON Beispiel zeigt, wie Sie Free konfigurieren IDT könnenRTOS, um mehrere Geräte zu testen:
{ "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" } ] } }
Im Folgenden werden die in der userdata.json
-Datei verwendeten Attribute aufgelistet:
sourcePath
-
Der Pfad zum Stammverzeichnis des portierten kostenlosen RTOS Quellcodes. Für parallel Tests mit einem SDK
sourcePath
kann der über den{{userData.sdkConfiguration.path}}
Platzhalter eingestellt werden. Beispielsweise:{ "sourcePath":"{{userData.sdkConfiguration.path}}/
freertos
" } vendorPath
-
Der Pfad zum herstellerspezifischen kostenlosen RTOS Code. Für serielle Tests kann der
vendorPath
als absoluter Pfad festgelegt werden. Beispielsweise:{ "vendorPath":"C:/
path-to-freertos
/vendors/espressif/boards/esp32
" }Für parallele Tests kann der
vendorPath
mit dem Platzhalter{{testData.sourcePath}}
eingestellt werden. Beispielsweise:{ "vendorPath":"{{testData.sourcePath}}/vendors/espressif/boards/esp32" }
Die
vendorPath
Variable ist nur notwendig, wenn sie ohne eine läuftSDK, andernfalls kann sie entfernt werden.Anmerkung
Wenn Tests parallel ohne ein ausgeführt werdenSDK, muss der
{{testData.sourcePath}}
Platzhalter in denflashTool
FeldernvendorPath
,buildTool
, verwendet werden. Wenn der Test mit einem einzigen Gerät ausgeführt wird, müssen absolute Pfade in den FeldernvendorPath
,buildTool
,flashTool
verwendet werden. Bei der Ausführung mit einem SDK muss der{{sdkPath}}
Platzhalter in den BefehlensourcePath
buildTool
, undflashTool
verwendet werden. sdkConfiguration
-
Wenn Sie sich aufgrund von Änderungen an der Datei- und Ordnerstruktur, die über die für die Portierung erforderlichen Änderungen hinausgehen, für Free RTOS qualifizieren, müssen Sie Ihre SDK Informationen in diesem Block konfigurieren. Wenn Sie sich nicht für eine portierte Version von Free RTOS innerhalb eines qualifizierenSDK, sollten Sie diesen Block komplett weglassen.
sdkConfiguration.name
-
Der Name des, den SDK Sie mit Free RTOS verwenden. Wenn Sie kein verwendenSDK, sollte der gesamte
sdkConfiguration
Block weggelassen werden. sdkConfiguration.version
-
Die Version von, die SDK Sie mit Free verwendenRTOS. Wenn Sie kein verwendenSDK, sollte der gesamte
sdkConfiguration
Block weggelassen werden. sdkConfiguration.path
-
Der absolute Pfad zu Ihrem SDK Verzeichnis, das Ihren kostenlosen RTOS Code enthält. Wenn Sie kein verwendenSDK, sollte der gesamte
sdkConfiguration
Block weggelassen werden.
buildTool
-
Der vollständige Pfad zu Ihrem Build-Skript (.bat oder .sh), das die Befehle zur Erstellung Ihres Quellcodes enthält. Alle Verweise auf den Quellcodepfad im Build-Befehl müssen durch die AWS IoT Device Tester Variable ersetzt werden
{{testdata.sourcePath}}
und Verweise auf den SDK Pfad sollten durch ersetzt werden{{sdkPath}}
. Verwenden Sie den{{config.idtRootPath}}
Platzhalter, um auf den absoluten oder relativen IDT Pfad zu verweisen. testStartDelayms
-
Gibt an, wie viele Millisekunden der kostenlose RTOS Test-Runner wartet, bevor er mit der Ausführung von Tests beginnt. Dies kann nützlich sein, wenn das zu testende Gerät mit der Ausgabe wichtiger Testinformationen beginnt, bevor es aufgrund von Netzwerk- oder anderen Latenzen die Möglichkeit IDT hat, eine Verbindung herzustellen und mit der Protokollierung zu beginnen. Der zulässige Höchstwert ist 30000 ms (30 Sekunden). Dieser Wert gilt nur für kostenlose RTOS Testgruppen und nicht für andere Testgruppen, die den kostenlosen RTOS Test-Runner nicht verwenden, wie z. B. die OTA Tests.
flashTool
-
Vollständiger Pfad zu Ihrem Flash-Skript (.sh oder.bat), der die Flash-Befehle für Ihr Gerät enthält. Alle Verweise auf den Quellcodepfad im Befehl flash müssen durch die Variable IDT for Free
{{testdata.sourcePath}}
und alle Verweise auf Ihren SDK Pfad durch die RTOS Variable IDT for Free RTOS ersetzt werden.{{sdkPath}}
Verwenden Sie den{{config.idtRootPath}}
Platzhalter, um auf den absoluten oder relativen Pfad zu verweisen. IDTbuildImageInfo
-
testsImageName
-
Der Name der Datei, die vom Build-Befehl beim Erstellen von Tests aus dem Ordner erzeugt wurde.
freertos-source
/tests demosImageName
-
Der Name der Datei, die vom Build-Befehl beim Erstellen von Tests aus dem
Ordner erzeugt wurde.freertos-source
/demos
clientWifiConfig
-
Die Client-WLAN-Konfiguration. Für die Wi-Fi-Bibliothekstests ist eine MCU Platine erforderlich, die eine Verbindung zu zwei Access Points herstellt. (Die beiden Zugangspunkte können identisch sein.) Dieses Attribut konfiguriert die WLAN-Einstellungen für den ersten Zugriffspunkt. In einigen WLAN-Testfällen wird erwartet, dass der Zugriffspunkt über ein gewisses Maß an Sicherheit verfügt und nicht offen ist. Bitte stellen Sie sicher, dass sich beide Access Points im selben Subnetz befinden wie der Host-Computer, auf dem der Computer läuftIDT.
wifi_ssid
-
Das WLANSSID.
wifi_password
-
Das WLAN-Passwort.
wifiSecurityType
-
Die Art der verwendeten WLAN-Sicherheit. Einer der Werte:
-
eWiFiSecurityOpen
-
eWiFiSecurityWEP
-
eWiFiSecurityWPA
-
eWiFiSecurityWPA2
-
eWiFiSecurityWPA3
-
Anmerkung
Wenn Ihr Board kein WLAN unterstützt, müssen Sie Ihrer
device.json
-Datei dennoch den AbschnittclientWifiConfig
hinzufügen. Werte für diese Attribute können Sie jedoch weglassen. testWifiConfig
-
Die WLAN-Testkonfiguration. Für die Wi-Fi-Bibliothekstests ist eine MCU Platine erforderlich, die eine Verbindung zu zwei Access Points herstellt. (Die beiden Zugangspunkte können identisch sein.) Dieses Attribut konfiguriert die WLAN-Einstellungen für den zweiten Zugriffspunkt. In einigen WLAN-Testfällen wird erwartet, dass der Zugriffspunkt über ein gewisses Maß an Sicherheit verfügt und nicht offen ist. Bitte stellen Sie sicher, dass sich beide Access Points im selben Subnetz befinden wie der Host-Computer, auf dem der Computer läuftIDT.
wifiSSID
-
Das WLANSSID.
wifiPassword
-
Das WLAN-Passwort.
wifiSecurityType
-
Die Art der verwendeten WLAN-Sicherheit. Einer der Werte:
-
eWiFiSecurityOpen
-
eWiFiSecurityWEP
-
eWiFiSecurityWPA
-
eWiFiSecurityWPA2
-
eWiFiSecurityWPA3
-
Anmerkung
Wenn Ihr Board kein WLAN unterstützt, müssen Sie Ihrer
device.json
-Datei dennoch den AbschnitttestWifiConfig
hinzufügen. Werte für diese Attribute können Sie jedoch weglassen. echoServerCertificateConfiguration
-
Der konfigurierbare Platzhalter für die Generierung von Echo-Serverzertifikaten für Secure-Socket-Tests. Dies ist ein Pflichtfeld.
certificateGenerationMethod
-
Gibt an, ob das Serverzertifikat automatisch generiert oder manuell bereitgestellt wird.
customPath
-
Es
certificateGenerationMethod
ist „Benutzerdefiniert“certificatePath
undprivateKeyPath
sie sind erforderlich.certificatePath
-
Gibt den Dateipfad für das Serverzertifikat an.
privateKeyPath
-
Gibt den Dateipfad für den privaten Schlüssel an.
eccCurveFormat
-
Gibt das von der Karte unterstützte Kurvenformat an.
PKCS11
Erforderlich, wenn indevice.json
auf „ecc“ gesetzt ist. Gültige Werte sind „P224", „P256", „P384" oder „P521".
echoServerConfiguration
-
Die konfigurierbaren Echo-Server-Ports für und sichere Socket-Tests. WiFi Dies ist ein optionales Feld.
securePortForSecureSocket
-
Der Port, mit dem ein Echo-Server TLS für den Secure-Socket-Test eingerichtet wird. Der Standardwert ist 33333. Stellen Sie sicher, dass der konfigurierte Port nicht von einer Firewall oder Ihrem Unternehmensnetzwerk blockiert wird.
insecurePortForSecureSocket
-
Der Port, der verwendet wird, um den Echo-Server ohne TLS den Secure-Socket-Test einzurichten. Der Standardwert für den Test ist 33334. Stellen Sie sicher, dass der konfigurierte Port nicht von einer Firewall oder Ihrem Unternehmensnetzwerk blockiert wird.
insecurePortForWiFi
-
Der Port, der verwendet wird, um den Echo-Server ohne TLS WiFi Testzwecke einzurichten. Der Standardwert für den Test ist 33335. Stellen Sie sicher, dass der konfigurierte Port nicht von einer Firewall oder Ihrem Unternehmensnetzwerk blockiert wird.
otaConfiguration
-
Die OTA Konfiguration. [Optional]
otaFirmwareFilePath
-
Der vollständige Pfad zu dem OTA Image, das nach dem Build erstellt wurde. Beispiel,
{{testData.sourcePath}}/
.relative-path/to/ota/image/from/source/root
deviceFirmwareFileName
-
Der vollständige Dateipfad auf dem MCU Gerät, auf dem sich die OTA Firmware befindet. Einige Geräte verwenden dieses Feld nicht, aber Sie müssen trotzdem einen Wert angeben.
otaDemoConfigFilePath
-
Der vollständige Pfad zu
aws_demo_config.h
, zu finden in
. Diese Dateien sind in der Portierungscode-Vorlage enthalten, die Free RTOS bereitstellt.afr-source
/vendors/vendor/boards/board/aws_demos/config_files/ codeSigningConfiguration
-
Die Code-Signaturkonfiguration.
signingMethod
-
Die Code-Signaturmethode. Die möglichen Wert sind
AWS
oderCustom
.Anmerkung
Verwenden
Custom
Sie für die Regionen Peking und Ningxia.AWS
Codesignatur wird in diesen Regionen nicht unterstützt. signerHashingAlgorithm
-
Der auf dem Gerät unterstützte Hashing-Algorithmus. Die möglichen Wert sind
SHA1
oderSHA256
. signerSigningAlgorithm
-
Der auf dem Gerät unterstützte Signaturalgorithmus. Die möglichen Wert sind
RSA
oderECDSA
. signerCertificate
-
Das vertrauenswürdige Zertifikat, das für verwendet wirdOTA.
Verwenden Sie als AWS Codesignaturmethode den Amazon-Ressourcennamen (ARN) für das vertrauenswürdige Zertifikat, das in den hochgeladen wurde AWS Certificate Manager.
Verwenden Sie für benutzerdefinierte Codesignaturmethode den absoluten Pfad zur Signiererzertifikatdatei.
Weitere Hinweise zum Erstellen eines vertrauenswürdigen Zertifikats finden Sie unter Erstellen eines Zertifikats für die Codesignierung.
signerCertificateFileName
-
Der Dateiname des Codesignaturzertifikats auf dem Gerät. Dieser Wert muss mit dem Dateinamen übereinstimmen, den Sie bei der Ausführung des
aws acm import-certificate
Befehls angegeben haben.Weitere Informationen finden Sie unter Erstellen eines Zertifikats für die Codesignierung.
compileSignerCertificate
-
true
Wird auf gesetzt, wenn das Zertifikat zur Überprüfung der Signatur des Codesigners nicht bereitgestellt oder geflasht wurde und daher in das Projekt kompiliert werden muss. AWS IoT Device Tester ruft das vertrauenswürdige Zertifikat ab und kompiliert es in.aws_codesigner_certifiate.h
untrustedSignerCertificate
-
Der Dateipfad ARN oder für ein zweites Zertifikat, das in einigen OTA Tests als nicht vertrauenswürdiges Zertifikat verwendet wurde. Weitere Informationen zum Erstellen eines Zertifikats finden Sie unter Erstellen eines Codesignaturzertifikats.
signerPlatform
-
Der Signier- und Hash-Algorithmus, den AWS Code Signer bei der Erstellung des Aktualisierungsauftrags verwendet. OTA Derzeit lauten die möglichen Werte für dieses Feld
AmazonFreeRTOS-TI-CC3220SF
undAmazonFreeRTOS-Default
.-
Wählen Sie bei
SHA1
undRSA
AmazonFreeRTOS-TI-CC3220SF
aus. -
Wählen Sie bei
SHA256
undECDSA
AmazonFreeRTOS-Default
aus.
Wenn Sie
SHA256
|RSA
oderSHA1
|ECDSA
für Ihre Konfiguration benötigen, kontaktieren Sie uns, um weitere Unterstützung zu erhalten.Konfigurieren Sie
signCommand
, wenn SieCustom
fürsigningMethod
ausgewählt haben. -
signCommand
-
Der Befehl, der zum Ausführen benutzerdefinierter Codesignaturen verwendet wird. Sie finden die Vorlage im Verzeichnis „
/configs/script_templates
“.Zwei Platzhalter
{{inputImageFilePath}}
und{{outputSignatureFilePath}}
sind für den Befehl erforderlich.{{inputImageFilePath}}
ist der Dateipfad des Images, das von erstellt wurde, um signiert IDT zu werden.{{outputSignatureFilePath}}
ist der Dateipfad der Signatur, die vom Skript generiert wird.
cmakeConfiguration
-
CMakeKonfiguration [optional]
Anmerkung
Um CMake Testfälle auszuführen, müssen Sie den Boardnamen, den Herstellernamen und entweder das
frToolchainPath
Oder angebencompilerName
. Sie können das auch angebencmakeToolchainPath
, wenn Sie einen benutzerdefinierten Pfad zur CMake Toolchain haben.boardName
-
Der Name des Boards, das getestet wird. Der Boardname sollte mit dem Ordnernamen unter
übereinstimmen.path/to/afr/source/code
/vendors/vendor
/boards/board
vendorName
-
Der Herstellername für die zu testende Karte. Der Anbieter sollte mit dem Ordnernamen unter
übereinstimmen.path/to/afr/source/code
/vendors/vendor
compilerName
-
Der Name des Compilers.
frToolchainPath
-
Der vollqualifizierte Pfad zur Compiler-Toolchain.
cmakeToolchainPath
-
Der vollständig qualifizierte Pfad zur Toolchain. CMake Dies ist ein optionales Feld.
freertosFileConfiguration
-
Die Konfiguration der kostenlosen RTOS Dateien, die vor dem Ausführen von IDT Tests geändert wird.
required
-
In diesem Abschnitt werden die erforderlichen Tests angegeben, deren Konfigurationsdateien Sie verschoben haben, z. B.PKCS11,TLS, und so weiter.
configName
-
Der Name des Tests, der konfiguriert wird.
filePath
-
Der absolute Pfad zu den Konfigurationsdateien innerhalb des
Repos. Verwenden Sie diefreertos
{{testData.sourcePath}}
Variable, um den Pfad zu definieren.
optional
-
In diesem Abschnitt werden optionale Tests angegeben, deren Konfigurationsdateien Sie verschoben habenOTA, z. B. WiFi, und so weiter.
configName
-
Der Name des Tests, der konfiguriert wird.
filePath
-
Der absolute Pfad zu den Konfigurationsdateien innerhalb des
Repos. Verwenden Sie diefreertos
{{testData.sourcePath}}
Variable, um den Pfad zu definieren.
Anmerkung
Um CMake Testfälle auszuführen, müssen Sie den Boardnamen, den Herstellernamen und entweder das afrToolchainPath
Oder angebencompilerName
. Sie können auch angebencmakeToolchainPath
, ob Sie einen benutzerdefinierten Pfad zur CMake Toolchain haben.