Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Preparazione dei test per la prima verifica della scheda del microcontrollore
Puoi usare IDT for FreeRTOS per eseguire il test durante il porting delle interfacce FreeRTOS. Dopo aver effettuato il porting delle interfacce FreerTOS per i driver di dispositivo della scheda, si AWS IoT Device Tester eseguono i test di qualificazione sulla scheda del microcontrollore.
Aggiunta di livelli di porting delle librerie
Per portare FreerTOS sul tuo dispositivo, segui le istruzioni nella FreerTOS Porting Guide.
AWS Configura le tue credenziali
Devi configurare le tue AWS credenziali AWS IoT Device Tester per comunicare con il AWS
Cloud. Per ulteriori informazioni, consulta Configurare AWS
le credenziali e la regione per lo sviluppo. AWS Le credenziali valide devono essere specificate nel
file di configurazione.devicetester_extract_location
/devicetester_afreertos_[win|mac|linux]
/configs/config.json
Crea un pool di dispositivi in IDT per FreerTOS
I dispositivi da testare sono organizzati in pool di dispositivi. Ogni pool di dispositivi è composto da uno o più dispositivi identici. Puoi configurare IDT per FreerTOS per testare un singolo dispositivo in un pool o più dispositivi in un pool. Per accelerare il processo di qualificazione, IDT for FreerTOS può testare dispositivi con le stesse specifiche in parallelo. Lo strumento utilizza un metodo Round Robin per eseguire un gruppo di test differente su ciascun dispositivo di un pool.
È possibile aggiungere uno o più dispositivi a un pool di dispositivi modificando la sezione devices
del modello device.json
nella cartella configs
.
Nota
La specifica tecnica e il codice SKU dei dispositivi in uno stesso pool devono essere identici.
Per abilitare le build parallele del codice sorgente per diversi gruppi di test, IDT for FreeRTOS copia il codice sorgente in una cartella dei risultati all'interno della cartella estratta IDT for FreerTOS. Il percorso del codice sorgente nel comando build o flash deve essere referenziato utilizzando la variabile or. testdata.sourcePath
sdkPath
IDT for FreerTOS sostituisce questa variabile con un percorso temporaneo del codice sorgente copiato. Per ulteriori informazioni, consulta IDT per variabili FreerTOS.
Di seguito è riportato un esempio di file device.json
utilizzato per creare un pool di dispositivi con più dispositivi.
[ { "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" } ] }, { "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
" } ] } ] } ]
I seguenti attributi vengono utilizzati nel file device.json
:
id
-
Un ID alfanumerico definito dall'utente che identifica in modo univoco un pool di dispositivi. I dispositivi appartenenti a un pool devono essere dello stesso tipo. Durante l'esecuzione di una suite di test, i dispositivi del pool vengono utilizzati per parallelizzare il carico di lavoro.
sku
-
Un valore alfanumerico che identifica in modo univoco la scheda da testare. Il codice SKU viene utilizzato per tenere traccia delle schede qualificate.
Nota
Se desideri inserire la tua scheda nel AWS Partner Device Catalog, lo SKU che specifichi qui deve corrispondere allo SKU che utilizzi nel processo di pubblicazione dell'inserzione.
features
-
Un array che contiene le funzionalità supportate dal dispositivo. AWS IoT Device Tester utilizza queste informazioni per selezionare i test di qualificazione da eseguire.
I valori supportati sono:
TCP/IP
-
Indica se la scheda supporta uno stack TCP/IP e, in caso positivo, se è supportato su chip (MCU) o se viene eseguito l’offload su un altro modulo. Il protocollo TCP/IP è obbligatorio per la qualifica.
WIFI
-
Indica se la scheda dispone di funzionalità Wi-Fi. Deve essere impostato su
No
seCellular
è impostato su.Yes
Cellular
-
Indica se la scheda è compatibile con la rete cellulare. Deve essere impostato su
No
seWIFI
è impostato suYes
. Quando questa funzionalità è impostata suYes
, il FullSecureSockets test verrà eseguito utilizzando istanze AWS t2.micro EC2 e ciò potrebbe comportare costi aggiuntivi per l'account. Per ulteriori informazioni, consulta Prezzi di Amazon EC2. TLS
-
Indica se la scheda supporta TLS. TLS è obbligatorio per la qualifica.
PKCS11
-
Indica l'algoritmo di crittografia della chiave pubblica supportato dalla scheda. PKCS11 è obbligatorio per la qualifica. I valori supportati sono
ECC
,RSA
,Both
eNo
.Both
indica che la scheda supporta sia gli algoritmiECC
eRSA
. KeyProvisioning
-
Indica il metodo di scrittura di un certificato client X.509 attendibile sulla scheda. I valori validi sono
Import
,Onboard
eNo
. Per la qualifica è necessario il provisioning delle chiavi.-
Utilizzare
Import
se la scheda consente l'importazione di chiavi private. IDT creerà una chiave privata e la inserirà nel codice sorgente di FreerTOS. -
Utilizzare
Onboard
se la scheda supporta la generazione di chiavi private integrate (ad esempio, se il dispositivo ha un elemento protetto o se si preferisce generare la coppia di chiavi del dispositivo e il certificato). Assicurarsi di aggiungere un elementosecureElementConfig
in ciascuna delle sezioni del dispositivo e inserire il percorso assoluto del file della chiave pubblica nel campopublicKeyAsciiHexFilePath
. -
Utilizzare
No
se la scheda non supporta il provisioning delle chiavi.
-
OTA
-
Indica se la scheda supporta la funzionalità di over-the-air aggiornamento (OTA). L'attributo
OtaDataPlaneProtocol
indica quale protocollo di piano dei dati OTA supporta il dispositivo. L'attributo viene ignorato se la caratteristica OTA non è supportata dal dispositivo. Quando è selezionato"Both"
, il tempo di esecuzione del test OTA viene prolungato a causa dell'esecuzione di MQTT, HTTP e test misti.Nota
A partire da IDT v4.1.0,
OtaDataPlaneProtocol
accetta soloHTTP
eMQTT
come valori supportati. BLE
-
Indica se la scheda supporta Bluetooth Low Energy (BLE).
devices.id
-
Un identificativo univoco definito dall'utente del dispositivo sottoposto a test.
devices.connectivity.protocol
-
Il protocollo di comunicazione utilizzato per comunicare con questo dispositivo. Valore supportato:
uart
. devices.connectivity.serialPort
-
La porta seriale del computer host utilizzato per connettersi ai dispositivi da testare.
devices.secureElementConfig.PublicKeyAsciiHexFilePath
-
Il percorso assoluto del file che contiene la chiave pubblica in byte esadecimali estratta dalla chiave privata integrata.
Formato di esempio:
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
Se la tua chiave pubblica è in formato.der, puoi codificare direttamente in esadecimale la chiave pubblica per generare il file esadecimale.
Comando di esempio per la chiave pubblica.der per generare un file esadecimale:
xxd -p pubkey.der > outFile
Se la chiave pubblica è in formato.pem, puoi estrarre la parte codificata in base64, decodificarla in formato binario e quindi codificarla in esadecimale per generare il file esadecimale.
Ad esempio, utilizzate questi comandi per generare un file esadecimale per una chiave pubblica.pem:
-
Estrai la parte codificata in base64 della chiave (elimina l'intestazione e il piè di pagina) e memorizzala in un file, ad esempio assegnagli un nome
base64key
, esegui questo comando per convertirla in formato.der:base64 —decode base64key > pubkey.der
-
Esegui il
xxd
comando per convertirlo in formato esadecimale.xxd -p pubkey.der > outFile
-
devices.secureElementConfig.SecureElementSerialNumber
-
(Facoltativo) Il numero di serie dell'elemento sicuro. Fornisci questo campo quando il numero di serie viene stampato insieme alla chiave pubblica del dispositivo quando esegui il progetto demo/test FreerTOS.
devices.secureElementConfig.preProvisioned
-
(Facoltativo) Imposta su «Sì» se il dispositivo dispone di un elemento sicuro prestabilito con credenziali bloccate, che non può importare, creare o distruggere oggetti. Questa configurazione
features
ha effetto solo se èKeyProvisioning
impostata su «Onboard», insieme a «ECC».PKCS11
identifiers
-
(Facoltativo) Un array di coppie nome/valore arbitrarie. Puoi utilizzare questi valori nei comandi di compilazione e flashing descritti nella sezione successiva.
Configurazione delle impostazioni di compilazione, flashing e test
Affinché IDT for FreerTOS possa creare ed eseguire test flash sulla scheda automaticamente, è necessario configurare IDT per eseguire i comandi build e flash per il proprio hardware. Le impostazioni dei comandi di compilazione e flashing sono configurate nel file di modello userdata.json
che si trova nella cartella config
.
Configurazione delle impostazioni per il testing dei dispositivi
Le impostazioni di compilazione, flashing e test vengono eseguite nel file configs/userdata.json
. Supportiamo la configurazione di Echo Server caricando i certificati e le chiavi del client e del server in. customPath
Per ulteriori informazioni, consulta Configurazione di un server echo nella FreerTOS Porting Guide. Il seguente esempio JSON mostra come configurare IDT per FreerTOS per testare più dispositivi:
{ "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" } ] } }
Il seguente elenca gli attributi utilizzati in userdata.json
:
sourcePath
-
Il percorso alla radice del codice sorgente di FreerTOS portato. Per i test paralleli con un SDK, è
sourcePath
possibile impostarlo utilizzando il{{userData.sdkConfiguration.path}}
segnaposto. Per esempio:{ "sourcePath":"{{userData.sdkConfiguration.path}}/
freertos
" } vendorPath
-
Il percorso verso il codice FreerTOS specifico del fornitore. Per i test seriali,
vendorPath
può essere impostato come un percorso assoluto. Per esempio:{ "vendorPath":"C:/
path-to-freertos
/vendors/espressif/boards/esp32
" }Per test paralleli,
vendorPath
può essere impostato utilizzando il segnaposto{{testData.sourcePath}}
. Per esempio:{ "vendorPath":"{{testData.sourcePath}}/vendors/espressif/boards/esp32" }
La
vendorPath
variabile è necessaria solo quando viene eseguita senza un SDK, altrimenti può essere rimossa.Nota
Quando si eseguono test in parallelo senza un SDK, il
{{testData.sourcePath}}
segnaposto deve essere utilizzato nei campivendorPath
,,buildTool
.flashTool
Quando si esegue il test con un singolo dispositivo, i percorsi assoluti devono essere utilizzati nei campivendorPath
,buildTool
,flashTool
. Quando si esegue con un SDK, il{{sdkPath}}
segnaposto deve essere utilizzato nei comandi, e.sourcePath
buildTool
flashTool
sdkConfiguration
-
Se stai qualificando FreerTOS con modifiche alla struttura di file e cartelle oltre a quelle richieste per il porting, dovrai configurare le informazioni del tuo SDK in questo blocco. Se non ti qualifichi con un FreerTOS portato all'interno di un SDK, allora dovresti omettere completamente questo blocco.
sdkConfiguration.name
-
Il nome dell'SDK che stai usando con FreerTOS. Se non stai utilizzando un SDK, l'intero
sdkConfiguration
blocco dovrebbe essere omesso. sdkConfiguration.version
-
La versione dell'SDK che stai usando con FreerTOS. Se non stai utilizzando un SDK, l'intero
sdkConfiguration
blocco dovrebbe essere omesso. sdkConfiguration.path
-
Il percorso assoluto della directory SDK che contiene il codice FreerTOS. Se non stai usando un SDK, allora l'intero
sdkConfiguration
blocco dovrebbe essere omesso.
buildTool
-
Il percorso completo allo script di build (.bat o.sh) contenente i comandi per creare il codice sorgente. Tutti i riferimenti al percorso del codice sorgente nel comando build devono essere sostituiti dalla AWS IoT Device Tester variabile
{{testdata.sourcePath}}
e i riferimenti al percorso SDK devono essere sostituiti da.{{sdkPath}}
Utilizzate il{{config.idtRootPath}}
segnaposto per fare riferimento al percorso IDT assoluto o relativo. testStartDelayms
-
Speciifica quanti millisecondi aspetterà il test runner FreerTOS prima di iniziare a eseguire i test. Ciò può essere utile se il dispositivo sottoposto a test inizia a emettere importanti informazioni di test prima che IDT abbia la possibilità di connettersi e avviare la registrazione a causa della rete o di altra latenza. Il valore massimo consentito è 30000 ms (30 secondi). Questo valore è applicabile solo ai gruppi di test FreerTOS e non applicabile ad altri gruppi di test che non utilizzano il test runner FreerTOS, come i test OTA.
flashTool
-
Il percorso completo allo script di flash (.sh o.bat) contenente i comandi flash per il dispositivo. Tutti i riferimenti al percorso del codice sorgente nel comando flash devono essere sostituiti dalla variabile IDT per FreerTOS
{{testdata.sourcePath}}
e tutti i riferimenti al percorso SDK devono essere sostituiti dalla variabile IDT per FreeRTOS. Utilizzate il segnaposto per fare riferimento al percorso IDT assoluto o relativo.{{sdkPath}}
{{config.idtRootPath}}
buildImageInfo
-
testsImageName
-
Il nome del file prodotto dal comando build durante la creazione dei test dalla cartella.
freertos-source
/tests demosImageName
-
Il nome del file prodotto dal comando build durante la creazione dei test dalla
cartella.freertos-source
/demos
clientWifiConfig
-
Configurazione del Wi-Fi client. I test della libreria Wi-Fi richiedono la connessione di una scheda MCU a due punti di accesso. I due punti di accesso possono essere uguali. Questo attributo configura le impostazioni di rete Wi-Fi per il primo punto di accesso. Alcuni dei casi di test del Wi-Fi prevedono che il punto di accesso disponga di una certa sicurezza e che non sia aperto. Assicurati che entrambi i punti di accesso si trovino sulla stessa sottorete del computer host su cui è in esecuzione IDT.
wifi_ssid
-
SSID del Wi-Fi.
wifi_password
-
Password del Wi-Fi.
wifiSecurityType
-
Tipo di sicurezza Wi-Fi utilizzato. Uno dei valori:
-
eWiFiSecurityOpen
-
eWiFiSecurityWEP
-
eWiFiSecurityWPA
-
eWiFiSecurityWPA2
-
eWiFiSecurityWPA3
-
Nota
Se la scheda non supporta il Wi-Fi, devi comunque includere la sezione
clientWifiConfig
nel filedevice.json
, ma puoi omettere i valori per questi attributi. testWifiConfig
-
Effettua il test della configurazione Wi-Fi. I test della libreria Wi-Fi richiedono la connessione di una scheda MCU a due punti di accesso. I due punti di accesso possono essere uguali. Questo attributo configura l'impostazione del Wi-Fi per il secondo punto di accesso. Alcuni dei casi di test del Wi-Fi prevedono che il punto di accesso disponga di una certa sicurezza e che non sia aperto. Assicurati che entrambi i punti di accesso si trovino sulla stessa sottorete del computer host su cui è in esecuzione IDT.
wifiSSID
-
SSID del Wi-Fi.
wifiPassword
-
Password del Wi-Fi.
wifiSecurityType
-
Tipo di sicurezza Wi-Fi utilizzato. Uno dei valori:
-
eWiFiSecurityOpen
-
eWiFiSecurityWEP
-
eWiFiSecurityWPA
-
eWiFiSecurityWPA2
-
eWiFiSecurityWPA3
-
Nota
Se la scheda non supporta il Wi-Fi, devi comunque includere la sezione
testWifiConfig
nel filedevice.json
, ma puoi omettere i valori per questi attributi. echoServerCertificateConfiguration
-
Il segnaposto configurabile per la generazione di certificati del server echo per i test dei socket sicuri. Questo campo è obbligatorio.
certificateGenerationMethod
-
Speciifica se il certificato del server viene generato automaticamente o fornito manualmente.
customPath
-
Sono «Personalizzati»
certificatePath
eprivateKeyPath
sono obbligatori.certificateGenerationMethod
certificatePath
-
Speciifica il percorso del file per il certificato del server.
privateKeyPath
-
Speciifica il percorso del file per la chiave privata.
eccCurveFormat
-
Specifica il formato della curva supportato dalla scheda. Richiesto quando
PKCS11
è impostato su «ecc» indevice.json
. I valori validi sono «P224", «P256", «P384" o «P521".
echoServerConfiguration
-
Le porte configurabili del server echo per i test dei socket sicuri. WiFi Questo campo è facoltativo.
securePortForSecureSocket
-
La porta che viene utilizzata per configurare un server echo con TLS per il test di Secure Sockets. Il valore predefinito è 33333. Verificare che la porta configurata non sia bloccata da un firewall o dalla rete aziendale.
insecurePortForSecureSocket
-
La porta che viene utilizzata per configurare un server echo senza TLS per il test di Secure Sockets. Il valore predefinito utilizzato nel test è 33334. Verificare che la porta configurata non sia bloccata da un firewall o dalla rete aziendale.
insecurePortForWiFi
-
La porta utilizzata per configurare il server echo senza TLS per il test. WiFi Il valore predefinito utilizzato nel test è 33335. Verificare che la porta configurata non sia bloccata da un firewall o dalla rete aziendale.
otaConfiguration
-
La configurazione OTA. [Facoltativo].
otaFirmwareFilePath
-
Il percorso completo dell'immagine OTA creata dopo il build. Ad esempio,
{{testData.sourcePath}}/
.relative-path/to/ota/image/from/source/root
deviceFirmwareFileName
-
Il percorso completo del file sul dispositivo MCU in cui si trova il firmware OTA. Anche se alcuni dispositivi non utilizzano questo campo, è comunque necessario fornire un valore.
otaDemoConfigFilePath
-
Il percorso completo di
aws_demo_config.h
, disponibile in
. Questi file sono inclusi nel modello di codice di porting fornito da FreerTOS.afr-source
/vendors/vendor/boards/board/aws_demos/config_files/ codeSigningConfiguration
-
La configurazione della firma del codice.
signingMethod
-
Il metodo di firma del codice. I valori possibili sono
AWS
oCustom
.Nota
Per le regioni di Pechino e Ningxia, usa.
Custom
AWS
la firma del codice non è supportata in queste regioni. signerHashingAlgorithm
-
L'algoritmo hash supportato sul dispositivo. I valori possibili sono
SHA1
oSHA256
. signerSigningAlgorithm
-
L'algoritmo di firma supportato sul dispositivo. I valori possibili sono
RSA
oECDSA
. signerCertificate
-
Il certificato attendibile utilizzato per OTA.
Per il metodo di firma del AWS codice, usa Amazon Resource Name (ARN) per il certificato affidabile caricato su. AWS Certificate Manager
Per il metodo di firma del codice personalizzato, utilizza il percorso assoluto del file del certificato firmatario.
Per ulteriori informazioni sulla creazione di un certificato attendibile, consulta Creazione di un certificato di firma del codice.
signerCertificateFileName
-
Il nome del file del certificato di firma del codice sul dispositivo. Questo valore deve corrispondere al nome di file fornito durante l'esecuzione del
aws acm import-certificate
comando.Per ulteriori informazioni, consulta Creazione di un certificato di firma del codice.
compileSignerCertificate
-
Imposta questa
true
opzione se il certificato di verifica della firma del firmatario del codice non è fornito o aggiornato, quindi deve essere compilato nel progetto. AWS IoT Device Tester recupera il certificato affidabile e lo compila in.aws_codesigner_certifiate.h
untrustedSignerCertificate
-
L'ARN o il percorso del file per un secondo certificato utilizzato in alcuni test OTA come certificato non attendibile. Per ulteriori informazioni sulla creazione di un certificato, consulta Creare un certificato di firma del codice.
signerPlatform
-
L'algoritmo di firma e hashing utilizzato da AWS Code Signer durante la creazione del processo di aggiornamento OTA. Al momento, i valori possibili per questo campo sono
AmazonFreeRTOS-TI-CC3220SF
eAmazonFreeRTOS-Default
.-
Scegli
AmazonFreeRTOS-TI-CC3220SF
seSHA1
eRSA
. -
Scegli
AmazonFreeRTOS-Default
seSHA256
eECDSA
.
Se ti occorre
SHA256
|RSA
oSHA1
|ECDSA
per la configurazione, contattaci per ulteriore supporto.Configura
signCommand
se hai sceltoCustom
persigningMethod
. -
signCommand
-
Il comando utilizzato per eseguire la firma del codice personalizzato. Puoi trovare il modello nella directory
/configs/script_templates
.Sono necessari due segnaposto
{{inputImageFilePath}}
e{{outputSignatureFilePath}}
nel comando.{{inputImageFilePath}}
è il percorso del file dell'immagine creata da IDT da firmare.{{outputSignatureFilePath}}
è il percorso del file della firma che verrà generato dallo script.
cmakeConfiguration
-
Configurazione CMake [opzionale]
Nota
Per eseguire i casi di test di CMake, devi specificare il nome della scheda, il nome del fornitore e
frToolchainPath
oppurecompilerName
. Puoi anche fornire,cmakeToolchainPath
se disponi di un percorso personalizzato, alla toolchain CMake.boardName
-
Nome della scheda sottoposta a test. Il nome della scheda deve essere uguale al nome della cartella in
.path/to/afr/source/code
/vendors/vendor
/boards/board
vendorName
-
Nome del fornitore della scheda sottoposta a test. Il nome del fornitore deve essere uguale al nome della cartella in
.path/to/afr/source/code
/vendors/vendor
compilerName
-
Nome del compilatore.
frToolchainPath
-
Percorso completo del toolchain del compilatore.
cmakeToolchainPath
-
Percorso completo del toolchain CMake. Questo campo è facoltativo
freertosFileConfiguration
-
La configurazione dei file FreerTOS che IDT modifica prima di eseguire i test.
required
-
Questa sezione specifica i test obbligatori di cui sono stati spostati i file di configurazione, ad esempio PKCS11, TLS e così via.
configName
-
Il nome del test che viene configurato.
filePath
-
Il percorso assoluto dei file di configurazione all'interno del
repository. Utilizzate lafreertos
{{testData.sourcePath}}
variabile per definire il percorso.
optional
-
Questa sezione specifica i test opzionali di cui sono stati spostati i file di configurazione, ad esempio OTA e così via. WiFi
configName
-
Il nome del test che viene configurato.
filePath
-
Il percorso assoluto dei file di configurazione all'interno del
repository. Utilizzate lafreertos
{{testData.sourcePath}}
variabile per definire il percorso.
Nota
Per eseguire i casi di test di CMake, devi specificare il nome della scheda, il nome del fornitore e afrToolchainPath
oppure compilerName
. Puoi anche specificare cmakeToolchainPath
se disponi di un percorso personalizzato per la toolchain CMake.
IDT per variabili FreerTOS
I comandi per creare il codice e eseguire il flashing del dispositivo potrebbero richiedere connettività o altre informazioni sui dispositivi per funzionare correttamente. AWS IoT Device Tester consente di fare riferimento alle informazioni sul dispositivo in flash e di creare comandi utilizzando JsonPathdevice.json
file.
Variabili di percorso
IDT per FreerTOS definisce le seguenti variabili di percorso che possono essere utilizzate nelle righe di comando e nei file di configurazione:
{{testData.sourcePath}}
-
Si estende al percorso del codice sorgente. Se utilizzi questa variabile, deve essere utilizzata sia nei comandi flash che di compilazione.
{{sdkPath}}
-
Si espande fino al valore del tuo
userData.sdkConfiguration.path
quando viene utilizzato nei comandi build e flash. {{device.connectivity.serialPort}}
-
Si estende alla porta seriale.
{{device.identifiers[?(@.name == 'serialNo')].value[0]}}
-
Estende al numero seriale del dispositivo.
{{enableTests}}
-
Valore intero che indica se la compilazione è per test (valore 1) o demo (valore 0).
{{buildImageName}}
-
Il nome del file dell'immagine creata dal comando di compilazione.
{{otaCodeSignerPemFile}}
-
File PEM per il firmatario del codice OTA.
{{config.idtRootPath}}
-
Si espande fino al percorso principale. AWS IoT Device Tester Questa variabile sostituisce il percorso assoluto per IDT quando viene utilizzata dai comandi build e flash.