Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bersiap untuk menguji papan mikrokontroler Anda untuk pertama kalinya
penting
Ini adalah versi arsip dari Panduan Pengguna FreeRTOS untuk digunakan dengan rilis FreerTOS 202012.00. Untuk versi terbaru dari dokumen ini, lihat Panduan Pengguna FreeRTOS.
Anda dapat menggunakan IDT untuk FreeRTOS untuk menguji saat Anda mem-port antarmuka FreerTOS. Setelah Anda mem-porting antarmuka FreeRTOS untuk driver perangkat papan Anda, Anda AWS IoT Device Tester gunakan untuk menjalankan tes kualifikasi di papan mikrokontroler Anda.
Tambahkan lapisan porting perpustakaan
Untuk mem-port FreeRTOS untuk perangkat Anda, ikuti petunjuk di Panduan Porting FreerTOS.
Konfigurasikan AWS kredensyal Anda
Anda perlu mengonfigurasi AWS kredensialnya AWS IoT Device Tester untuk berkomunikasi dengan Cloud. AWS Untuk informasi selengkapnya, lihat Menyiapkan AWS Kredensial dan Wilayah untuk Pengembangan. AWS Kredensyal yang valid harus ditentukan dalam file
konfigurasi.devicetester_extract_location
/devicetester_afreertos_[win|mac|linux]
/configs/config.json
Buat kumpulan perangkat di IDT untuk FreeRTOS
Perangkat yang akan diuji diatur dalam kumpulan perangkat. Setiap kumpulan perangkat terdiri dari satu atau lebih perangkat yang identik. Anda dapat mengonfigurasi IDT untuk FreeRTOS untuk menguji satu perangkat di kolam renang atau beberapa perangkat di kolam renang. Untuk mempercepat proses kualifikasi, IDT untuk FreerTOS dapat menguji perangkat dengan spesifikasi yang sama secara paralel. Ini menggunakan metode round-robin untuk mengeksekusi kelompok uji yang berbeda pada setiap perangkat dalam kumpulan perangkat.
Anda dapat menambahkan satu atau beberapa perangkat ke kumpulan perangkat dengan mengedit devices
bagian device.json
templat di configs
folder.
catatan
Semua perangkat di kolam yang sama harus memiliki spesifikasi teknis dan SKU yang sama.
Untuk mengaktifkan build paralel dari kode sumber untuk grup pengujian yang berbeda, IDT untuk FreerTOS menyalin kode sumber ke folder hasil di dalam folder yang diekstrak IDT untuk FreeRTOS. Jalur kode sumber dalam perintah build atau flash Anda harus direferensikan menggunakan sdkPath
variabel testdata.sourcePath
atau. IDT untuk FreeRTOS menggantikan variabel ini dengan jalur sementara dari kode sumber yang disalin. Untuk informasi selengkapnya, lihat IDT untuk variabel FreeRTOS.
Berikut ini adalah device.json
file contoh yang digunakan untuk membuat kumpulan perangkat dengan beberapa perangkat.
[ { "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
" } ] } ] } ]
Atribut berikut digunakan dalam device.json
file:
id
-
ID alfanumerik yang ditentukan pengguna yang secara unik mengidentifikasi kumpulan perangkat. Perangkat yang termasuk dalam kolam harus dari jenis yang sama. Saat serangkaian pengujian sedang berjalan, perangkat di kolam digunakan untuk memparalelkan beban kerja.
sku
-
Nilai alfanumerik yang secara unik mengidentifikasi papan yang Anda uji. SKU digunakan untuk melacak forum yang berkualitas.
catatan
Jika Anda ingin mencantumkan papan Anda di Katalog Perangkat AWS Mitra, SKU yang Anda tentukan di sini harus cocok dengan SKU yang Anda gunakan dalam proses pencatatan.
features
-
Array yang berisi fitur yang didukung perangkat. AWS IoT Device Tester menggunakan informasi ini untuk memilih tes kualifikasi yang akan dijalankan.
Nilai yang didukung adalah:
TCP/IP
-
Menunjukkan apakah papan Anda mendukung TCP/IP tumpukan dan apakah itu didukung on-chip (MCU) atau diturunkan ke modul lain. TCP/IP diperlukan untuk kualifikasi.
WIFI
-
Menunjukkan apakah papan Anda memiliki kemampuan Wi-Fi. Harus disetel ke
No
ifCellular
diatur keYes
. Cellular
-
Menunjukkan apakah papan Anda memiliki kemampuan seluler. Harus disetel ke
No
ifWIFI
diatur keYes
. Ketika fitur ini disetel keYes
, FullSecureSockets pengujian akan dijalankan menggunakan EC2 instans AWS t2.micro dan ini dapat menimbulkan biaya tambahan ke akun Anda. Untuk informasi selengkapnya, lihat EC2 harga Amazon. TLS
-
Menunjukkan apakah papan Anda mendukung TLS. TLS diperlukan untuk kualifikasi.
PKCS11
-
Menunjukkan algoritma kriptografi kunci publik yang didukung papan. PKCS11 diperlukan untuk kualifikasi. Nilai yang didukung adalah
ECC
,RSA
,Both
danNo
.Both
menunjukkan papan mendukung keduaECC
danRSA
algoritma. KeyProvisioning
-
Menunjukkan metode penulisan sertifikat klien X.509 tepercaya ke papan Anda. Nilai yang valid adalah
Import
,Onboard
danNo
. Penyediaan kunci diperlukan untuk kualifikasi.-
Gunakan
Import
jika papan Anda mengizinkan impor kunci pribadi. IDT akan membuat kunci pribadi dan membangun ini ke kode sumber FreeRTOS. -
Gunakan
Onboard
jika board Anda mendukung pembuatan kunci pribadi on-board (misalnya, jika perangkat Anda memiliki elemen aman, atau jika Anda lebih suka membuat key pair dan sertifikat perangkat Anda sendiri). Pastikan Anda menambahkansecureElementConfig
elemen di setiap bagian perangkat dan meletakkan jalur absolut ke file kunci publik dipublicKeyAsciiHexFilePath
bidang. -
Gunakan
No
jika papan Anda tidak mendukung penyediaan kunci.
-
OTA
-
Menunjukkan apakah papan Anda mendukung fungsionalitas pembaruan over-the-air (OTA).
OtaDataPlaneProtocol
Atribut menunjukkan protokol dataplane OTA mana yang didukung perangkat. Atribut diabaikan jika fitur OTA tidak didukung oleh perangkat. Kapan"Both"
dipilih, waktu eksekusi pengujian OTA diperpanjang karena menjalankan MQTT, HTTP, dan tes campuran. BLE
-
Menunjukkan apakah papan Anda mendukung Bluetooth Low Energy (BLE).
devices.id
-
Pengenal unik yang ditetapkan pengguna untuk perangkat yang sedang diuji.
devices.connectivity.protocol
-
Protokol komunikasi yang digunakan untuk berkomunikasi dengan perangkat ini. Nilai yang didukung:
uart
. devices.connectivity.serialPort
-
Port serial komputer host digunakan untuk terhubung ke perangkat yang sedang diuji.
devices.secureElementConfig.PublicKeyAsciiHexFilePath
-
Jalur absolut ke file yang berisi hex byte kunci publik yang diekstrak dari kunci pribadi onboard.
Contoh format:
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
Jika kunci publik Anda dalam format.der, Anda dapat menyandikan kunci publik secara langsung untuk menghasilkan file hex.
Contoh perintah untuk kunci publik.der untuk menghasilkan file hex:
xxd -p pubkey.der > outFile
Jika kunci publik Anda dalam format.pem, Anda dapat mengekstrak bagian yang dikodekan base64, mendekodekannya ke dalam format biner, dan kemudian hex menyandikannya untuk menghasilkan file hex.
Misalnya, gunakan perintah ini untuk menghasilkan file hex untuk kunci publik.pem:
-
Keluarkan bagian kunci yang dikodekan base64 (strip header dan footer) dan simpan dalam file, misalnya beri nama
base64key
, jalankan perintah ini untuk mengubahnya menjadi format.der:base64 —decode base64key > pubkey.der
-
Jalankan
xxd
perintah untuk mengubahnya menjadi format hex.xxd -p pubkey.der > outFile
-
devices.secureElementConfig.SecureElementSerialNumber
-
(Opsional) Nomor seri elemen aman. Berikan bidang ini saat nomor seri dicetak bersama dengan kunci publik perangkat saat Anda menjalankan proyek FreeRTOS demo/test .
devices.secureElementConfig.preProvisioned
-
(Opsional) Setel ke “Ya” jika perangkat memiliki elemen aman yang telah disediakan sebelumnya dengan kredensil terkunci, yang tidak dapat mengimpor, membuat, atau menghancurkan objek. Konfigurasi ini berlaku hanya ketika
features
telahKeyProvisioning
disetel ke “Onboard”, bersama denganPKCS11
disetel ke “ECC”. identifiers
-
(Opsional) Sebuah array pasangan nama-nilai arbitrer. Anda dapat menggunakan nilai-nilai ini dalam perintah build dan flash yang dijelaskan di bagian selanjutnya.
Konfigurasikan pengaturan build, flash, dan uji
Agar IDT untuk FreeRTOS dapat membangun dan mem-flash tes ke papan Anda secara otomatis, Anda harus mengonfigurasi IDT untuk menjalankan perintah build dan flash untuk perangkat keras Anda. Pengaturan perintah build dan flash dikonfigurasi dalam file userdata.json
template yang terletak di config
folder.
Konfigurasikan pengaturan untuk perangkat pengujian
Pengaturan build, flash, dan test dibuat dalam configs/userdata.json
file. Kami mendukung konfigurasi Echo Server dengan memuat sertifikat dan kunci klien dan server di file. customPath
Untuk informasi selengkapnya, lihat Menyiapkan server gema di Panduan Porting FreeRTOS. Contoh JSON berikut menunjukkan bagaimana Anda dapat mengkonfigurasi IDT untuk FreeRTOS untuk menguji beberapa perangkat:
{ "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" } ] } }
Berikut ini mencantumkan atribut yang digunakan dalamuserdata.json
:
sourcePath
-
Jalur ke root kode sumber FreeRTOS yang diporting. Untuk pengujian paralel dengan SDK,
sourcePath
dapat diatur menggunakan dudukan{{userData.sdkConfiguration.path}}
tempat. Misalnya:{ "sourcePath":"{{userData.sdkConfiguration.path}}/
freertos
" } vendorPath
-
Jalur ke kode FreeRTOS khusus vendor. Untuk pengujian serial,
vendorPath
dapat diatur sebagai jalur absolut. Misalnya:{ "vendorPath":"C:/
path-to-freertos
/vendors/espressif/boards/esp32
" }Untuk pengujian paralel,
vendorPath
dapat diatur menggunakan dudukan{{testData.sourcePath}}
tempat. Misalnya:{ "vendorPath":"{{testData.sourcePath}}/vendors/espressif/boards/esp32" }
vendorPath
Variabel hanya diperlukan saat berjalan tanpa SDK, variabel dapat dihapus jika tidak.catatan
Saat menjalankan pengujian secara paralel tanpa SDK,
{{testData.sourcePath}}
placeholder harus digunakan di bidangvendorPath
,,buildTool
.flashTool
Saat menjalankan pengujian dengan satu perangkat, jalur absolut harus digunakan diflashTool
bidangvendorPath
buildTool
,,. Saat menjalankan dengan SDK,{{sdkPath}}
placeholder harus digunakan dalam perintahsourcePath
,buildTool
, dan.flashTool
sdkConfiguration
-
Jika Anda memenuhi syarat FreeRTOS dengan modifikasi apa pun pada file dan struktur folder di luar apa yang diperlukan untuk porting, maka Anda perlu mengonfigurasi informasi SDK Anda di blok ini. Jika Anda tidak memenuhi syarat dengan FreeRTOS porting di dalam SDK, maka Anda harus menghilangkan blok ini sepenuhnya.
sdkConfiguration.name
Nama SDK yang Anda gunakan dengan FreeRTOS. Jika Anda tidak menggunakan SDK, maka seluruh
sdkConfiguration
blok harus dihilangkan.sdkConfiguration.version
Versi SDK yang Anda gunakan dengan FreeRTOS. Jika Anda tidak menggunakan SDK, maka seluruh
sdkConfiguration
blok harus dihilangkan.sdkConfiguration.path
Jalur absolut ke direktori SDK Anda yang berisi kode FreeRTOS Anda. Jika Anda tidak menggunakan SDK, maka seluruh
sdkConfiguration
blok harus dihilangkan.
buildTool
-
Jalur lengkap ke skrip build Anda (.bat atau .sh) yang berisi perintah untuk membangun kode sumber Anda. Semua referensi ke jalur kode sumber dalam perintah build harus diganti dengan AWS IoT Device Tester variabel
{{testdata.sourcePath}}
dan referensi ke jalur SDK harus diganti dengan{{sdkPath}}
.buildImageInfo
-
testsImageName
-
Nama file yang dihasilkan oleh perintah build saat membuat pengujian dari
folder.freertos-source
/tests demosImageName
-
Nama file yang dihasilkan oleh perintah build saat membuat pengujian dari
folder.freertos-source
/demos
flashTool
-
Jalur lengkap ke skrip flash Anda (.sh atau.bat) yang berisi perintah flash untuk perangkat Anda. Semua referensi ke jalur kode sumber dalam perintah flashash harus diganti oleh variabel IDT untuk FreeRTOS
{{testdata.sourcePath}}
dan semua referensi ke jalur SDK Anda harus diganti dengan variabel IDT untuk FreeRTOS.{{sdkPath}}
clientWifiConfig
-
Konfigurasi Wi-Fi klien. Tes perpustakaan Wi-Fi memerlukan papan MCU untuk terhubung ke dua titik akses. (Dua titik akses bisa sama.) Atribut ini mengkonfigurasi pengaturan Wi-Fi untuk titik akses pertama. Beberapa kasus uji Wi-Fi mengharapkan titik akses memiliki keamanan dan tidak terbuka. Pastikan kedua titik akses berada pada subnet yang sama dengan komputer host yang menjalankan IDT.
wifi_ssid
-
Wi-Fi SSID.
wifi_password
-
Kata sandi Wi-Fi.
wifiSecurityType
-
Jenis keamanan Wi-Fi yang digunakan. Salah satu nilai:
-
eWiFiSecurityOpen
-
eWiFiSecurityWEP
-
eWiFiSecurityWPA
-
eWiFiSecurityWPA2
-
eWiFiSecurityWPA3
-
catatan
Jika papan Anda tidak mendukung Wi-Fi, Anda masih harus menyertakan
clientWifiConfig
bagian dalamdevice.json
file Anda, tetapi Anda dapat menghilangkan nilai untuk atribut ini. testWifiConfig
-
Konfigurasi Wi-Fi uji. Tes perpustakaan Wi-Fi memerlukan papan MCU untuk terhubung ke dua titik akses. (Dua titik akses bisa sama.) Atribut ini mengkonfigurasi pengaturan Wi-Fi untuk titik akses kedua. Beberapa kasus uji Wi-Fi mengharapkan titik akses memiliki keamanan dan tidak terbuka. Pastikan kedua titik akses berada pada subnet yang sama dengan komputer host yang menjalankan IDT.
wifiSSID
-
Wi-Fi SSID.
wifiPassword
-
Kata sandi Wi-Fi.
wifiSecurityType
-
Jenis keamanan Wi-Fi yang digunakan. Salah satu nilai:
-
eWiFiSecurityOpen
-
eWiFiSecurityWEP
-
eWiFiSecurityWPA
-
eWiFiSecurityWPA2
-
eWiFiSecurityWPA3
-
catatan
Jika papan Anda tidak mendukung Wi-Fi, Anda masih harus menyertakan
testWifiConfig
bagian dalamdevice.json
file Anda, tetapi Anda dapat menghilangkan nilai untuk atribut ini. echoServerCertificateConfiguration
-
Placeholder pembuatan sertifikat server gema yang dapat dikonfigurasi untuk pengujian soket aman. Bidang ini wajib diisi.
certificateGenerationMethod
-
Menentukan apakah sertifikat server dihasilkan secara otomatis atau disediakan secara manual.
customPath
-
Jika
certificateGenerationMethod
“Kustom”,certificatePath
danprivateKeyPath
diperlukan.certificatePath
-
Menentukan filepath untuk sertifikat server.
privateKeyPath
-
Menentukan filepath untuk kunci pribadi.
eccCurveFormat
-
Menentukan format kurva didukung oleh papan. Diperlukan saat
PKCS11
disetel ke “ecc” didevice.json
. Nilai yang valid adalah “P224", “P256", “P384", atau “P521".
echoServerConfiguration
-
Port server gema yang dapat dikonfigurasi untuk WiFi dan pengujian soket aman. Bidang ini bersifat opsional.
securePortForSecureSocket
-
Port yang digunakan untuk mengatur server gema dengan TLS untuk uji soket aman. Nilai defaultnya adalah 33333. Pastikan port yang dikonfigurasi tidak diblokir oleh firewall atau jaringan perusahaan Anda.
insecurePortForSecureSocket
-
Port yang digunakan untuk mengatur server gema tanpa TLS untuk uji soket aman. Nilai default yang digunakan dalam pengujian adalah 33334. Pastikan port yang dikonfigurasi tidak diblokir oleh firewall atau jaringan perusahaan Anda.
insecurePortForWiFi
-
Port yang digunakan untuk setup server echo tanpa TLS untuk WiFi pengujian. Nilai default yang digunakan dalam pengujian adalah 33335. Pastikan port yang dikonfigurasi tidak diblokir oleh firewall atau jaringan perusahaan Anda.
otaConfiguration
-
Konfigurasi OTA. [Opsional]
otaFirmwareFilePath
-
Jalur lengkap ke gambar OTA yang dibuat setelah build. Misalnya,
{{testData.sourcePath}}/
.relative-path/to/ota/image/from/source/root
deviceFirmwareFileName
-
Jalur pengisian lengkap pada perangkat MCU tempat firmware OTA berada. Beberapa perangkat tidak menggunakan bidang ini, tetapi Anda masih harus memberikan nilai.
otaDemoConfigFilePath
-
Jalan lengkap ke
aws_demo_config.h
, ditemukan di
. File-file ini termasuk dalam template kode porting yang disediakan FreeRTOS.afr-source
/vendors/vendor/boards/board/aws_demos/config_files/ codeSigningConfiguration
-
Konfigurasi penandatanganan kode.
signingMethod
-
Metode penandatanganan kode. Nilai yang mungkin adalah
AWS
atauCustom
.catatan
Untuk Wilayah Beijing dan Ningxia, gunakan
Custom
.AWS
penandatanganan kode tidak didukung di Wilayah ini. signerHashingAlgorithm
-
Algoritma hashing didukung pada perangkat. Nilai yang mungkin adalah
SHA1
atauSHA256
. signerSigningAlgorithm
-
Algoritma penandatanganan didukung pada perangkat. Nilai yang mungkin adalah
RSA
atauECDSA
. signerCertificate
-
Sertifikat tepercaya yang digunakan untuk OTA.
Untuk metode penandatanganan AWS kode, gunakan Amazon Resource Name (ARN) untuk sertifikat tepercaya yang diunggah ke file. AWS Certificate Manager
Untuk metode penandatanganan kode kustom, gunakan jalur absolut ke file sertifikat penandatangan.
Untuk informasi selengkapnya tentang membuat sertifikat tepercaya, lihatBuat sertifikat penandatanganan kode.
signerCertificateFileName
-
Lokasi sertifikat penandatanganan kode pada perangkat.
compileSignerCertificate
-
Setel ke
true
jika sertifikat verifikasi tanda tangan penandatangan kode tidak disediakan atau di-flash, sehingga harus dikompilasi ke dalam proyek. AWS IoT Device Tester mengambil sertifikat tepercaya dan mengkompilasinya menjadi.aws_codesigner_certifiate.h
untrustedSignerCertificateArn
-
ARN untuk sertifikat penandatanganan kode diunggah ke ACM.
signerPlatform
-
Algoritma penandatanganan dan hashing yang digunakan AWS Code Signer saat membuat pekerjaan pembaruan OTA. Saat ini, nilai yang mungkin untuk bidang ini adalah
AmazonFreeRTOS-TI-CC3220SF
danAmazonFreeRTOS-Default
.-
Pilih
AmazonFreeRTOS-TI-CC3220SF
jikaSHA1
danRSA
. -
Pilih
AmazonFreeRTOS-Default
jikaSHA256
danECDSA
.
Jika Anda membutuhkan
SHA256
|RSA
atauSHA1
|ECDSA
untuk konfigurasi Anda, hubungi kami untuk dukungan lebih lanjut.Konfigurasikan
signCommand
jika Anda memilihCustom
untuksigningMethod
. -
signCommand
-
Perintah yang digunakan untuk melakukan penandatanganan kode kustom. Anda dapat menemukan template di
/configs/script_templates
direktori.Dua placeholder
{{inputImageFilePath}}
dan{{outputSignatureFilePath}}
diperlukan dalam perintah.{{inputImageFilePath}}
adalah jalur file gambar yang dibangun oleh IDT untuk ditandatangani.{{outputSignatureFilePath}}
adalah jalur file dari tanda tangan yang akan dihasilkan oleh skrip. otaDemoConfigFilePath
-
Jalan lengkap ke
aws_demo_config.h
, ditemukan di dalam
. File-file ini termasuk dalam template kode porting yang disediakan oleh FreeRTOS.afr-source
/vendors/vendor/boards/board/aws_demos/config_files/
cmakeConfiguration
-
CMake konfigurasi [Opsional]
catatan
Untuk menjalankan kasus CMake uji, Anda harus memberikan nama papan, nama vendor, dan salah satu
frToolchainPath
ataucompilerName
. Anda juga dapat memberikancmakeToolchainPath
jika Anda memiliki jalur khusus ke CMake rantai alat.boardName
-
Nama papan yang diuji. Nama papan harus sama dengan nama folder di bawah
.path/to/afr/source/code
/vendors/vendor
/boards/board
vendorName
-
Nama vendor untuk papan yang diuji. Vendor harus sama dengan nama folder di bawah
.path/to/afr/source/code
/vendors/vendor
compilerName
-
Nama kompiler.
frToolchainPath
-
Jalur yang sepenuhnya memenuhi syarat ke toolchain kompiler
cmakeToolchainPath
-
Jalur yang sepenuhnya memenuhi syarat ke rantai alat. CMake Bidang ini opsional
freertosFileConfiguration
-
Konfigurasi file FreerTOS yang IDT memodifikasi sebelum menjalankan tes.
required
-
Bagian ini menentukan tes wajib yang file konfigurasinya telah Anda pindahkan, misalnya, TLS PKCS11, dan sebagainya.
configName
-
Nama tes yang sedang dikonfigurasi.
filePath
-
Jalur absolut ke file konfigurasi dalam
repo. Gunakanfreertos
{{testData.sourcePath}}
variabel untuk menentukan jalur.
optional
-
Bagian ini menentukan tes opsional yang file konfigurasinya telah Anda pindahkan, misalnya OTA, WiFi, dan sebagainya.
configName
-
Nama tes yang sedang dikonfigurasi.
filePath
-
Jalur absolut ke file konfigurasi dalam
repo. Gunakanfreertos
{{testData.sourcePath}}
variabel untuk menentukan jalur.
catatan
Untuk menjalankan kasus CMake uji, Anda harus memberikan nama papan, nama vendor, dan salah satu afrToolchainPath
ataucompilerName
. Anda juga dapat memberikan cmakeToolchainPath
jika Anda memiliki jalur khusus ke CMake rantai alat.
IDT untuk variabel FreeRTOS
Perintah untuk membangun kode Anda dan mem-flash perangkat mungkin memerlukan konektivitas atau informasi lain tentang perangkat Anda agar berhasil berjalan. AWS IoT Device Tester memungkinkan Anda untuk mereferensikan informasi perangkat dalam flash dan membangun perintah menggunakan JsonPathdevice.json
file Anda.
Variabel jalur
IDT untuk FreeRTOS mendefinisikan variabel jalur berikut yang dapat digunakan dalam baris perintah dan file konfigurasi:
{{testData.sourcePath}}
-
Memperluas ke jalur kode sumber. Jika Anda menggunakan variabel ini, itu harus digunakan dalam perintah flash dan build.
{{sdkPath}}
-
Memperluas ke nilai dalam Anda
userData.sdkConfiguration.path
saat digunakan dalam perintah build dan flash. {{device.connectivity.serialPort}}
-
Memperluas ke port serial.
{{device.identifiers[?(@.name == 'serialNo')].value[0]}}
-
Memperluas ke nomor seri perangkat Anda.
{{enableTests}}
-
Nilai integer yang menunjukkan apakah build untuk pengujian (nilai 1) atau demo (nilai 0).
{{buildImageName}}
-
Nama file gambar yang dibangun oleh perintah build.
{{otaCodeSignerPemFile}}
-
File PEM untuk penandatangan kode OTA.