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.
Vorbereitung auf den ersten Test Ihres Mikrocontroller-Boards
Wichtig
Dies ist eine archivierte Version des FreeRTOS-Benutzerhandbuchs zur Verwendung mit der FreeRTOS-Version 202012.00. Die neueste Version dieses Dokuments finden Sie im FreeRTOS-Benutzerhandbuch.
Sie können IDT for FreeRTOS zum Testen verwenden, während Sie die FreeRTOS-Schnittstellen portieren. Nachdem Sie die FreeRTOS-Schnittstellen für die Gerätetreiber Ihres Boards portiert haben, führen Sie AWS IoT Device Tester damit die Qualifizierungstests auf Ihrem Mikrocontroller-Board durch.
Hinzufügen von Portierungsebenen für Bibliotheken
Um FreeRTOS für Ihr Gerät zu portieren, folgen Sie den Anweisungen im FreeRTOS Porting Guide.
AWS Konfigurieren Sie Ihre Zugangsdaten
Sie müssen Ihre AWS Anmeldeinformationen für AWS IoT Device Tester die Kommunikation mit der AWS Cloud konfigurieren. Weitere Informationen finden Sie unter AWS Zugangsdaten und Region für die Entwicklung einrichten. In der
Konfigurationsdatei müssen gültige AWS Anmeldeinformationen angegeben werden.devicetester_extract_location
/devicetester_afreertos_[win|mac|linux]
/configs/config.json
Erstellen Sie einen Gerätepool in IDT für FreeRTOS
Zu testende Geräte werden in Gerätepools organisiert. Jeder Gerätepool besteht aus einem oder mehreren identischen Geräten. Sie können IDT for FreeRTOS so konfigurieren, dass ein einzelnes Gerät in einem Pool oder mehrere Geräte in einem Pool getestet werden. Um den Qualifizierungsprozess zu beschleunigen, kann IDT for FreeRTOS Geräte mit denselben Spezifikationen parallel testen. Er verwendet eine Round Robin-Methode, um auf jedem Gerät in einem Gerätepool eine andere Testgruppe auszuführen.
Sie können ein oder mehrere Geräte zu einem Gerätepool hinzufügen, indem Sie den Abschnitt devices
der Vorlage device.json
im Ordner configs
bearbeiten.
Anmerkung
Alle Geräte im selben Pool müssen dieselbe technische Spezifikation und SKU aufweisen.
Um parallel Builds des Quellcodes für verschiedene Testgruppen zu ermöglichen, kopiert IDT for FreeRTOS den Quellcode in einen Ergebnisordner innerhalb des extrahierten IDT for FreeRTOS-Ordners. Der Quellcodepfad in Ihrem Build- oder Flash-Befehl muss entweder mit der Variablen oder referenziert werden. testdata.sourcePath
sdkPath
IDT for FreeRTOS ersetzt diese Variable durch einen temporären Pfad des kopierten Quellcodes. Weitere Informationen finden Sie unter IDT für FreeRTOS-Variablen.
Im Folgenden sehen Sie, wie eine device.json
-Datei zur Erstellung eines Gerätepools mit mehreren Geräten verwendet wird:
[ { "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
" } ] } ] } ]
Die folgenden Attribute werden in der Datei device.json
verwendet:
id
-
Eine benutzerdefinierte alphanumerische ID, die einen Gerätepool eindeutig identifiziert. Geräte, die zu einem Pool gehören, müssen vom gleichen Typ sein. Bei der Ausführung einer Reihe von Tests werden Geräte im Pool verwendet, um den Workload zu parallelisieren.
sku
-
Ein alphanumerischer Wert, mit dem das getestete Board eindeutig identifiziert wird. Die SKU wird verwendet, um qualifizierte Boards nachzuverfolgen.
Anmerkung
Wenn Sie Ihr Motherboard im Gerätekatalog für AWS Partner anbieten möchten, muss die hier angegebene SKU mit der SKU übereinstimmen, die Sie bei der Angebotserstellung verwenden.
features
-
Ein Array, das die vom Gerät unterstützten Funktionen enthält. AWS IoT Device Tester verwendet diese Informationen, um die durchzuführenden Qualifikationstests auszuwählen.
Unterstützte Werte sind:
TCP/IP
-
Zeigt an, ob Ihre Platine einen TCP/IP Stack unterstützt und ob dieser On-Chip (MCU) unterstützt oder auf ein anderes Modul ausgelagert wird. TCP/IP ist für die Qualifikation erforderlich.
WIFI
-
Gibt an, ob Ihr Board über WiFi-Funktionen verfügt. Muss auf gesetzt werden,
No
wenn auf gesetztCellular
istYes
. Cellular
-
Zeigt an, ob Ihr Board über Mobilfunkfunktionen verfügt. Muss auf eingestellt sein,
No
wenn auf eingestelltWIFI
istYes
. Wenn diese Funktion auf eingestellt istYes
, wird der FullSecureSockets Test mithilfe von AWS EC2 t2.micro-Instances ausgeführt. Dies kann zu zusätzlichen Kosten für Ihr Konto führen. Weitere Informationen finden Sie unter EC2 Amazon-Preise. TLS
-
Gibt an, ob Ihr Board TLS unterstützt. TLS ist für die Qualifizierung erforderlich.
PKCS11
-
Gibt den Kryptografiealgorithmus mit öffentlichen Schlüsseln an, den das Board unterstützt. PKCS11 ist für die Qualifikation erforderlich. Unterstützte Werte sind
ECC
,RSA
,Both
undNo
.Both
zeigt an, dass das Board sowohl denECC
- als auch denRSA
-Algorithmus unterstützt. KeyProvisioning
-
Gibt an, wie ein vertrauenswürdiges X.509-Clientzertifikat auf das Board geschrieben werden kann. Gültige Werte sind
Import
,Onboard
undNo
. Schlüsselbereitstellung ist für die Qualifizierung erforderlich.-
Verwenden Sie
Import
, wenn Ihr Board den Import von privaten Schlüsseln erlaubt. IDT erstellt einen privaten Schlüssel und baut diesen in den FreeRTOS-Quellcode ein. -
Verwenden Sie
Onboard
, wenn Ihr Board die interne Erstellung von privaten Schlüsseln unterstützt (z. B. wenn Ihr Gerät über ein sicheres Element verfügt oder wenn Sie es vorziehen, ein eigenes Geräte-Schlüsselpaar und ein eigenes Zertifikat zu generieren). Stellen Sie sicher, dass Sie in jedem der Geräteabschnitte einsecureElementConfig
-Element hinzufügen und fügen Sie den absoluten Pfad zur Datei des öffentlichen Schlüssels in das FeldpublicKeyAsciiHexFilePath
ein. -
Wenn Ihr Board die Schlüsselbereitstellung nicht unterstützt, verwenden Sie die Option
No
.
-
OTA
-
Zeigt an, ob Ihr Board die Aktualisierungsfunktion over-the-air (OTA) unterstützt. Das Attribut
OtaDataPlaneProtocol
gibt an, welches OTA-Protokoll auf Datenebene das Gerät unterstützt. Das Attribut wird ignoriert, wenn die OTA-Funktion vom Gerät nicht unterstützt wird. Wenn ausgewählt"Both"
ist, wird die Ausführungszeit des OTA-Tests verlängert, da sowohl MQTT-, HTTP- als auch gemischte Tests ausgeführt werden. BLE
-
Gibt an, ob Ihr Board Bluetooth Low Energy (BLE) unterstützt.
devices.id
-
Eine benutzerdefinierte eindeutige Kennung für das zu testende Gerät.
devices.connectivity.protocol
-
Das Kommunikationsprotokoll, das für die Kommunikation mit diesem Gerät verwendet wird. Unterstützter Wert:
uart
. devices.connectivity.serialPort
-
Der serielle Port des Host-Computers, der zur Herstellung einer Verbindung mit den getesteten Geräten verwendet wird.
devices.secureElementConfig.PublicKeyAsciiHexFilePath
-
Der absolute Pfad zu der Datei, die den öffentlichen Hex-Byte-Schlüssel enthält, der aus dem integrierten privaten Schlüssel extrahiert wurde.
Beispielformat:
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
Wenn Ihr öffentlicher Schlüssel im.der-Format vorliegt, können Sie den öffentlichen Schlüssel direkt hexcodieren, um die Hex-Datei zu generieren.
Beispielbefehl für den öffentlichen Schlüssel .der zur Generierung einer Hex-Datei:
xxd -p pubkey.der > outFile
Wenn Ihr öffentlicher Schlüssel im.pem-Format vorliegt, können Sie den Base64-kodierten Teil extrahieren, ihn in das Binärformat dekodieren und ihn dann hexadezimalkodieren, um die Hex-Datei zu generieren.
Verwenden Sie beispielsweise diese Befehle, um eine Hex-Datei für einen öffentlichen PEM-Schlüssel zu generieren:
-
Nehmen Sie den Base64-kodierten Teil des Schlüssels heraus (entfernen Sie die Kopf- und Fußzeile) und speichern Sie ihn in einer Datei. Geben Sie ihm beispielsweise einen Namen und führen Sie diesen Befehl aus
base64key
, um ihn in das Format.der zu konvertieren:base64 —decode base64key > pubkey.der
-
Führen Sie den
xxd
Befehl aus, um ihn in das Hex-Format zu konvertieren.xxd -p pubkey.der > outFile
-
devices.secureElementConfig.SecureElementSerialNumber
-
(Optional) Die Seriennummer des sicheren Elements. Geben Sie dieses Feld an, wenn die Seriennummer zusammen mit dem öffentlichen Schlüssel des Geräts ausgedruckt wird, wenn Sie das demo/test FreeRTOS-Projekt ausführen.
devices.secureElementConfig.preProvisioned
-
(Optional) Wählen Sie „Ja“, wenn das Gerät über ein vorab bereitgestelltes sicheres Element mit gesperrten Anmeldeinformationen verfügt, das keine Objekte importieren, erstellen oder zerstören kann. Diese Konfiguration wird nur wirksam, wenn sie
features
zusammen mit „ECC“ auf „Onboard“PKCS11
gesetzt ist.KeyProvisioning
identifiers
-
(Optional) Ein Array beliebiger Namen-Wert-Paare. Sie können diese Werte in den im nächsten Abschnitt beschriebenen Build- und Flash-Befehlen verwenden.
Konfiguration von Build-, Flash- und Testeinstellungen
Damit IDT for FreeRTOS automatisch Tests auf Ihrem Board erstellen und flashen kann, müssen Sie IDT so konfigurieren, dass die Build- und Flash-Befehle für Ihre Hardware ausgeführt werden. Die Einstellungen für den Build- und den Flash-Befehl werden in der userdata.json
-Vorlagendatei im Ordner config
konfiguriert.
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 laden. customPath
Weitere Informationen finden Sie unter Einen Echo-Server einrichten im FreeRTOS Porting Guide. Das folgende JSON-Beispiel zeigt, wie Sie IDT für FreeRTOS konfigurieren können, 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": [ "/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" } ] } }
Im Folgenden werden die in der userdata.json
-Datei verwendeten Attribute aufgelistet:
sourcePath
-
Der Pfad zum Stammverzeichnis des portierten FreeRTOS-Quellcodes. Für parallel Tests mit einem SDK
sourcePath
kann das über den{{userData.sdkConfiguration.path}}
Platzhalter eingestellt werden. Zum Beispiel:{ "sourcePath":"{{userData.sdkConfiguration.path}}/
freertos
" } vendorPath
-
Der Pfad zum herstellerspezifischen FreeRTOS-Code. Für serielle Tests kann der
vendorPath
als absoluter Pfad festgelegt werden. Zum Beispiel:{ "vendorPath":"C:/
path-to-freertos
/vendors/espressif/boards/esp32
" }Für parallele Tests kann der
vendorPath
mit dem Platzhalter{{testData.sourcePath}}
eingestellt werden. Zum Beispiel:{ "vendorPath":"{{testData.sourcePath}}/vendors/espressif/boards/esp32" }
Die
vendorPath
Variable ist nur notwendig, wenn sie ohne SDK läuft, andernfalls kann sie entfernt werden.Anmerkung
Wenn Tests ohne SDK parallel ausgeführt werden, 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 FreeRTOS mit Änderungen an der Datei- und Ordnerstruktur qualifizieren, die über das für die Portierung erforderliche Maß hinausgehen, müssen Sie Ihre SDK-Informationen in diesem Block konfigurieren. Wenn Sie sich nicht mit einem portierten FreeRTOS innerhalb eines SDK qualifizieren, sollten Sie diesen Block komplett weglassen.
sdkConfiguration.name
Der Name des SDK, das Sie mit FreeRTOS verwenden. Wenn Sie kein SDK verwenden, sollte der gesamte
sdkConfiguration
Block weggelassen werden.sdkConfiguration.version
Die Version des SDK, das Sie mit FreeRTOS verwenden. Wenn Sie kein SDK verwenden, sollte der gesamte
sdkConfiguration
Block weggelassen werden.sdkConfiguration.path
Der absolute Pfad zu Ihrem SDK-Verzeichnis, das Ihren FreeRTOS-Code enthält. Wenn Sie kein SDK verwenden, 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}}
.buildImageInfo
-
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
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 FreeRTOS ersetzt werden
{{testdata.sourcePath}}
und alle Verweise auf Ihren SDK-Pfad müssen durch die Variable IDT for FreeRTOS ersetzt werden.{{sdkPath}}
clientWifiConfig
-
Die Client-WLAN-Konfiguration. Die Tests für die WLAN-Bibliothek erfordern ein MCU-Board, um eine Verbindung mit zwei Zugriffspunkten herzustellen. (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 IDT ausgeführt wird.
wifi_ssid
-
Die WLAN-SSID.
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. Die Tests für die WLAN-Bibliothek erfordern ein MCU-Board, um eine Verbindung mit zwei Zugriffspunkten herzustellen. (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 IDT ausgeführt wird.
wifiSSID
-
Die WLAN-SSID.
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, der zum Einrichten eines Echo-Servers mit TLS für den Secure Sockets-Test verwendet 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 zum Einrichten eines Echo-Servers ohne TLS für den Secure Sockets-Test verwendet wird. 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 für WiFi Tests 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 zum OTA-Image, das nach dem Build erstellt wird. 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, Sie müssen jedoch 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 FreeRTOS 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 Sie für die Regionen Peking und Ningxia.
Custom
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 für OTA verwendete vertrauenswürdige Zertifikat.
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 Speicherort des Zertifikats zur Codesignierung auf dem Gerät.
compileSignerCertificate
-
true
Ist auf eingestellt, wenn das Zertifikat zur Überprüfung der Signatur des Codesigners nicht bereitgestellt oder geflasht wurde, sodass es in das Projekt kompiliert werden muss. AWS IoT Device Tester ruft das vertrauenswürdige Zertifikat ab und kompiliert es in.aws_codesigner_certifiate.h
untrustedSignerCertificateArn
-
Der ARN für das auf ACM hochgeladene Codesignaturzertifikat.
signerPlatform
-
Der Signier- und Hash-Algorithmus, den AWS Code Signer bei der Erstellung des OTA-Aktualisierungsjobs verwendet. 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
“.Die beiden Platzhalter „
{{inputImageFilePath}}
“ und „{{outputSignatureFilePath}}
“ sind im Befehl erforderlich.{{inputImageFilePath}}
ist der Dateipfad des von IDT erstellten Images, das signiert werden soll.{{outputSignatureFilePath}}
ist der Dateipfad der Signatur, der vom Skript generiert wird. otaDemoConfigFilePath
-
Der vollständige Pfad zu
aws_demo_config.h
, der in
zu finden ist. Diese Dateien sind in der von FreeRTOS bereitgestellten Portierungscode-Vorlage enthalten.afr-source
/vendors/vendor/boards/board/aws_demos/config_files/
cmakeConfiguration
-
CMake Konfiguration [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 FreeRTOS-Dateien, die IDT vor der Ausführung von Tests ändert.
required
-
In diesem Abschnitt werden die erforderlichen Tests angegeben, deren Konfigurationsdateien Sie verschoben haben PKCS11, z. B. TLS usw.
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 haben WiFi, z. B. OTA usw.
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.
IDT für FreeRTOS-Variablen
Die Befehle zum Erstellen Ihres Codes und zum Flashen des Geräts erfordern möglicherweise Konnektivität oder andere Informationen zu Ihren Geräten, um erfolgreich ausgeführt zu werden. AWS IoT Device Tester ermöglicht es Ihnen, Geräteinformationen in Flash zu referenzieren und Befehle zu erstellen mit JsonPathdevice.json
Datei angegeben sind.
Pfadvariablen
IDT for FreeRTOS definiert die folgenden Pfadvariablen, die in Befehlszeilen und Konfigurationsdateien verwendet werden können:
{{testData.sourcePath}}
-
Wird auf den Quellcodepfad erweitert. Wenn Sie diese Variable verwenden, muss sie sowohl in den Flash- als auch in den Build-Befehlen verwendet werden.
{{sdkPath}}
-
Wird auf den Wert in Ihrem erweitert,
userData.sdkConfiguration.path
wenn es in den Befehlen Build und Flash verwendet wird. {{device.connectivity.serialPort}}
-
Wird auf die serielle Schnittstelle erweitert.
{{device.identifiers[?(@.name == 'serialNo')].value[0]}}
-
Wird zur Seriennummer Ihres Geräts erweitert.
{{enableTests}}
-
Ganzzahliger Wert, der angibt, ob der Build für Tests (Wert 1) oder Demos (Wert 0) bestimmt ist.
{{buildImageName}}
-
Der Dateiname des mit dem Build-Befehl erstellten Image.
{{otaCodeSignerPemFile}}
-
PEM-Datei für den OTA-Codesigner.