Konfigurasikan pengaturan untuk perangkat pengujian - Gratis RTOS

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

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 RTOSPorting Gratis. JSONContoh berikut menunjukkan bagaimana Anda dapat mengkonfigurasi Gratis IDT RTOS 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": [ "{{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" } ] } }

Berikut ini mencantumkan atribut yang digunakan dalamuserdata.json:

sourcePath

Jalur ke root kode RTOS sumber gratis yang diporting. Untuk pengujian paralel denganSDK, sourcePath dapat diatur menggunakan dudukan {{userData.sdkConfiguration.path}} tempat. Sebagai contoh:

{ "sourcePath":"{{userData.sdkConfiguration.path}}/freertos" }
vendorPath

Jalur ke RTOS kode Gratis khusus vendor. Untuk pengujian serial, vendorPath dapat diatur sebagai jalur absolut. Sebagai contoh:

{ "vendorPath":"C:/path-to-freertos/vendors/espressif/boards/esp32" }

Untuk pengujian paralel, vendorPath dapat diatur menggunakan dudukan {{testData.sourcePath}} tempat. Sebagai contoh:

{ "vendorPath":"{{testData.sourcePath}}/vendors/espressif/boards/esp32" }

vendorPathVariabel ini hanya diperlukan ketika berjalan tanpaSDK, itu dapat dihapus jika tidak.

catatan

Saat menjalankan tes secara paralel tanpaSDK, {{testData.sourcePath}} placeholder harus digunakan di bidangvendorPath,buildTool,flashTool. Saat menjalankan pengujian dengan satu perangkat, jalur absolut harus digunakan di flashTool bidang vendorPathbuildTool,,. Saat menjalankan denganSDK, {{sdkPath}} placeholder harus digunakan dalamsourcePath,buildTool, dan flashTool perintah.

sdkConfiguration

Jika Anda memenuhi syarat Gratis RTOS dengan modifikasi apa pun pada file dan struktur folder di luar apa yang diperlukan untuk porting, maka Anda perlu mengonfigurasi SDK informasi Anda di blok ini. Jika Anda tidak memenuhi syarat dengan porting Free RTOS di dalam fileSDK, maka Anda harus menghilangkan blok ini sepenuhnya.

sdkConfiguration.name

Nama yang SDK Anda gunakan dengan GratisRTOS. Jika Anda tidak menggunakanSDK, maka seluruh sdkConfiguration blok harus dihilangkan.

sdkConfiguration.version

Versi yang SDK Anda gunakan dengan GratisRTOS. Jika Anda tidak menggunakanSDK, maka seluruh sdkConfiguration blok harus dihilangkan.

sdkConfiguration.path

Jalur absolut ke SDK direktori Anda yang berisi RTOS kode Gratis Anda. Jika Anda tidak menggunakanSDK, 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 SDK jalur harus diganti dengan{{sdkPath}}. Gunakan {{config.idtRootPath}} placeholder untuk mereferensikan jalur absolut atau relatifIDT.

testStartDelayms

Menentukan berapa milidetik pelari RTOS uji Gratis akan menunggu sebelum mulai menjalankan tes. Ini dapat berguna jika perangkat yang diuji mulai mengeluarkan informasi pengujian penting sebelum IDT memiliki kesempatan untuk terhubung dan mulai masuk karena jaringan atau latensi lainnya. Nilai maksimum yang diizinkan adalah 30000 ms (30 detik). Nilai ini hanya berlaku untuk grup RTOS uji gratis, dan tidak berlaku untuk kelompok uji lain yang tidak menggunakan pelari RTOS uji Gratis, seperti pengujian. OTA

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 flash harus diganti dengan variabel IDT for Free {{testdata.sourcePath}} dan semua referensi ke SDK jalur Anda harus diganti dengan RTOS variabel IDT for FreeRTOS. {{sdkPath}} Gunakan {{config.idtRootPath}} placeholder untuk mereferensikan jalur absolut atau relatif. IDT

buildImageInfo
testsImageName

Nama file yang dihasilkan oleh perintah build saat membuat pengujian dari freertos-source/tests folder.

demosImageName

Nama file yang dihasilkan oleh perintah build saat membuat pengujian dari freertos-source/demos folder.

clientWifiConfig

Konfigurasi Wi-Fi klien. Tes perpustakaan Wi-Fi memerlukan MCU papan 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 berjalanIDT.

wifi_ssid

Wi-FiSSID.

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 dalam device.json file Anda, tetapi Anda dapat menghilangkan nilai untuk atribut ini.

testWifiConfig

Konfigurasi Wi-Fi uji. Tes perpustakaan Wi-Fi memerlukan MCU papan 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 berjalanIDT.

wifiSSID

Wi-FiSSID.

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 dalam device.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 dan privateKeyPath 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 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 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

OTAKonfigurasi. [Opsional]

otaFirmwareFilePath

Jalur lengkap ke OTA gambar yang dibuat setelah build. Misalnya, {{testData.sourcePath}}/relative-path/to/ota/image/from/source/root.

deviceFirmwareFileName

Jalur file lengkap pada MCU perangkat tempat OTA firmware berada. Beberapa perangkat tidak menggunakan bidang ini, tetapi Anda masih harus memberikan nilai.

otaDemoConfigFilePath

Jalan lengkap keaws_demo_config.h, ditemukan diafr-source/vendors/vendor/boards/board/aws_demos/config_files/. File-file ini termasuk dalam template kode porting yang RTOS disediakan Free.

codeSigningConfiguration

Konfigurasi penandatanganan kode.

signingMethod

Metode penandatanganan kode. Nilai yang mungkin adalah AWS atauCustom.

catatan

Untuk Wilayah Beijing dan Ningxia, gunakanCustom. AWSpenandatanganan 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 untukOTA.

Untuk metode penandatanganan AWS kode, gunakan Amazon Resource Name (ARN) untuk sertifikat tepercaya yang diunggah ke 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

Nama file sertifikat penandatanganan kode pada perangkat. Nilai ini harus sesuai dengan nama file yang Anda berikan saat menjalankan aws acm import-certificate perintah.

Untuk informasi selengkapnya, lihat Buat sertifikat penandatanganan kode.

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

untrustedSignerCertificate

The ARN atau filepath untuk sertifikat kedua yang digunakan dalam beberapa OTA tes sebagai sertifikat tidak tepercaya. Untuk informasi selengkapnya tentang membuat sertifikat, lihat Membuat sertifikat penandatanganan kode.

signerPlatform

Algoritma penandatanganan dan hashing yang digunakan AWS Code Signer saat membuat pekerjaan OTA pembaruan. Saat ini, nilai yang mungkin untuk bidang ini adalah AmazonFreeRTOS-TI-CC3220SF danAmazonFreeRTOS-Default.

  • Pilih AmazonFreeRTOS-TI-CC3220SF jika SHA1 danRSA.

  • Pilih AmazonFreeRTOS-Default jika SHA256 danECDSA.

Jika Anda membutuhkan SHA256 | RSA atau SHA1 | ECDSA untuk konfigurasi Anda, hubungi kami untuk dukungan lebih lanjut.

Konfigurasikan signCommand jika Anda memilih Custom 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 dari gambar yang dibangun oleh IDT untuk ditandatangani. {{outputSignatureFilePath}}adalah jalur file dari tanda tangan yang akan dihasilkan oleh skrip.

cmakeConfiguration

CMakekonfigurasi [Opsional]

catatan

Untuk menjalankan kasus CMake uji, Anda harus memberikan nama papan, nama vendor, dan salah satu frToolchainPath ataucompilerName. Anda juga dapat memberikan cmakeToolchainPath jika Anda memiliki jalur khusus ke CMake rantai alat.

boardName

Nama papan yang diuji. Nama papan harus sama dengan nama folder di bawahpath/to/afr/source/code/vendors/vendor/boards/board.

vendorName

Nama vendor untuk papan yang diuji. Vendor harus sama dengan nama folder di bawahpath/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 RTOS file Gratis yang IDT memodifikasi sebelum menjalankan tes.

required

Bagian ini menentukan tes wajib yang file konfigurasinya telah Anda pindahkan, misalnya,, PKCS11TLS, dan sebagainya.

configName

Nama tes yang sedang dikonfigurasi.

filePath

Jalur absolut ke file konfigurasi dalam freertos repo. Gunakan {{testData.sourcePath}} variabel untuk menentukan jalur.

optional

Bagian ini menentukan tes opsional yang file konfigurasinya telah Anda pindahkan, misalnyaOTA, WiFi, dan seterusnya.

configName

Nama tes yang sedang dikonfigurasi.

filePath

Jalur absolut ke file konfigurasi dalam freertos repo. Gunakan {{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.