쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

디바이스 테스트를 위한 설정 구성 - FreeRTOS

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

디바이스 테스트를 위한 설정 구성

빌드, 플래시 및 테스트 설정은 configs/userdata.json 파일에서 수행됩니다. 클라이언트 및 서버 인증서와 키를 모두 customPath에서 로드하는 에코 서버 구성을 지원합니다. 자세한 내용은 FreeRTOS 이식 가이드에코 서버 설정을 참조하세요. 다음 JSON 예제에서는 여러 디바이스를 테스트하도록 FreeRTOS용 IDT를 구성하는 방법을 보여 줍니다.

{ "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" } ] } }

다음 목록에서는 userdata.json에서 사용되는 속성을 나열합니다.

sourcePath

이식된 Echo Server 소스 코드의 루트에 대한 경로입니다. SDK를 사용하는 병렬 테스트의 경우 {{userData.sdkConfiguration.path}} 자리 표시자를 사용하여 sourcePath를 설정할 수 있습니다. 예시:

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

공급업체별 FreeRTOS 코드에 대한 경로입니다. 직렬 테스트의 경우 vendorPath를 절대 경로로 설정할 수 있습니다. 예시:

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

병렬 테스트의 경우 vendorPath{{testData.sourcePath}} 자리 표시자를 사용하여 설정할 수 있습니다. 예시:

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

vendorPath 변수는 SDK 없이 실행할 때만 필요하며, 그렇지 않으면 제거할 수 있습니다.

참고

SDK를 사용하지 않고 테스트를 병렬로 실행하는 경우 vendorPath, buildTool, flashTool 필드에 {{testData.sourcePath}} 자리 표시자를 사용해야 합니다. 단일 디바이스로 테스트를 실행하는 경우 vendorPath, buildTool, flashTool 필드에 절대 경로를 사용해야 합니다. SDK를 사용하여 실행하는 경우 sourcePath, buildToolflashTool 명령에 {{sdkPath}} 자리 표시자를 사용해야 합니다.

sdkConfiguration

이식에 필요한 것 이상으로 파일 및 폴더 구조를 수정하여 FreeRTOS를 검증하려면 이 블록에서 SDK 정보를 구성해야 합니다. SDK 내에서 이식된 FreeRTOS를 사용할 수 없다면 이 블록을 완전히 생략해야 합니다.

sdkConfiguration.name

FreeRTOS와 함께 사용 중인 SDK의 이름입니다. SDK를 사용하지 않는 경우 전체 sdkConfiguration 블록을 생략해야 합니다.

sdkConfiguration.version

FreeRTOS와 함께 사용 중인 SDK의 버전입니다. SDK를 사용하지 않는 경우 전체 sdkConfiguration 블록을 생략해야 합니다.

sdkConfiguration.path

FreeRTOS 코드가 포함된 SDK 디렉터리의 절대 경로입니다. SDK를 사용하지 않는 경우 전체 sdkConfiguration 블록을 생략해야 합니다.

buildTool

소스 코드를 빌드하기 위한 명령이 포함된 빌드 스크립트(.bat 또는 .sh)의 전체 경로입니다. 빌드 명령의 소스 코드 경로에 대한 모든 참조는 AWS IoT Device Tester 변수로 대체되고 SDK 경로에 대한 {{testdata.sourcePath}} 참조는 로 대체되어야 합니다{{sdkPath}}. {{config.idtRootPath}} 자리 표시자를 사용하여 절대 또는 상대 IDT 경로를 참조합니다.

testStartDelayms

FreeRTOS 테스트 실행기가 테스트 실행을 시작하기 전에 대기할 시간을 밀리초 단위로 지정합니다. 이는 네트워크 또는 기타 지연 시간으로 인해 IDT가 연결되어 로깅을 시작하기 전에 테스트 대상 디바이스가 중요한 테스트 정보를 출력하기 시작하는 경우에 유용할 수 있습니다. 허용되는 최대값은 30,000ms(30초)입니다. 이 값은 FreeRTOS 테스트 그룹에만 적용되며 OTA 테스트와 같이 FreeRTOS 테스트 실행기를 사용하지 않는 다른 테스트 그룹에는 적용되지 않습니다.

flashTool

디바이스에 대한 플래시 명령이 포함된 플래시 스크립트(.sh 또는 .bat)의 전체 경로입니다. 플래시 명령에서 소스 코드 경로에 대한 모든 참조는 FreeRTOS용 IDT 변수 {{testdata.sourcePath}}로 바꿔야 하고 SDK 경로에 대한 모든 참조는 FreeRTOS용 IDT 변수 {{sdkPath}}로 바꿔야 합니다. {{config.idtRootPath}} 자리 표시자를 사용하여 절대 또는 상대 IDT 경로를 참조합니다.

buildImageInfo
testsImageName

freertos-source/tests 폴더에서 테스트를 빌드할 때 빌드 명령으로 인해 생성되는 파일의 이름입니다.

demosImageName

freertos-source/demos 폴더에서 테스트를 빌드할 때 빌드 명령으로 인해 생성되는 파일의 이름입니다.

clientWifiConfig

클라이언트 Wi-Fi 구성입니다. Wi-Fi 라이브러리 테스트를 수행하려면 MCU 보드를 두 개의 액세스 포인트에 연결해야 합니다. (두 액세스 포인트는 동일할 수 있습니다.). 이 속성은 첫 번째 액세스 포인트에 대한 Wi-Fi 설정을 구성합니다. 일부 Wi-Fi 테스트 사례에서는 액세스 포인트가 보안을 갖추고 있고 열리지 않아야 합니다. 두 액세스 포인트가 모두 IDT를 실행하는 호스트 컴퓨터와 동일한 서브넷에 있는지 확인하세요.

wifi_ssid

Wi-Fi SSID입니다.

wifi_password

Wi-Fi 암호입니다.

wifiSecurityType

사용되는 Wi-Fi 보안 유형입니다. 값 중 하나는 다음과 같습니다.

  • eWiFiSecurityOpen

  • eWiFiSecurityWEP

  • eWiFiSecurityWPA

  • eWiFiSecurityWPA2

  • eWiFiSecurityWPA3

참고

보드가 Wi-Fi를 지원하지 않는 경우에도 clientWifiConfig 섹션을 device.json 파일에 포함시켜야 하지만 이러한 속성의 값을 생략할 수 있습니다.

testWifiConfig

테스트 Wi-Fi 구성입니다. Wi-Fi 라이브러리 테스트를 수행하려면 MCU 보드를 두 개의 액세스 포인트에 연결해야 합니다. (두 액세스 포인트는 동일할 수 있습니다.). 이 속성은 두 번째 액세스 포인트에 대한 Wi-Fi 설정을 구성합니다. 일부 Wi-Fi 테스트 사례에서는 액세스 포인트가 보안을 갖추고 있고 열리지 않아야 합니다. 두 액세스 포인트가 모두 IDT를 실행하는 호스트 컴퓨터와 동일한 서브넷에 있는지 확인하세요.

wifiSSID

Wi-Fi SSID입니다.

wifiPassword

Wi-Fi 암호입니다.

wifiSecurityType

사용되는 Wi-Fi 보안 유형입니다. 값 중 하나는 다음과 같습니다.

  • eWiFiSecurityOpen

  • eWiFiSecurityWEP

  • eWiFiSecurityWPA

  • eWiFiSecurityWPA2

  • eWiFiSecurityWPA3

참고

보드가 Wi-Fi를 지원하지 않는 경우에도 testWifiConfig 섹션을 device.json 파일에 포함시켜야 하지만 이러한 속성의 값을 생략할 수 있습니다.

echoServerCertificateConfiguration

보안 소켓 테스트를 위한 구성 가능한 에코 서버 인증서 생성 자리 표시자입니다. 이 필드는 필수 항목입니다.

certificateGenerationMethod

서버 인증서를 자동으로 생성할지 수동으로 제공할지를 지정합니다.

customPath

certificateGenerationMethod가 ‘사용자 지정’인 경우 certificatePathprivateKeyPath는 필수입니다.

certificatePath

서버 인증서의 파일 경로를 지정합니다.

privateKeyPath

프라이빗 키의 파일 경로를 지정합니다.

eccCurveFormat

보드에서 지원하는 곡선 형식을 지정합니다. device.json에서 PKCS11이 ‘ecc’로 설정된 경우 필수입니다. 유효한 값은 ‘P224’, ‘P256’, ‘P384’ 또는 ‘P521’입니다.

echoServerConfiguration

WiFi 및 SecureSocket 테스트를 위한 구성 가능한 에코 서버 포트입니다. 이 필드는 선택 사항입니다.

securePortForSecureSocket

SecureSocket 테스트를 위해 TLS를 사용하여 에코 서버를 설정하는 데 사용되는 포트입니다. 기본값은 33333입니다. 구성된 포트가 방화벽이나 회사 네트워크에 의해 차단되지 않는지 확인합니다.

insecurePortForSecureSocket

SecureSocket 테스트를 위해 TLS를 사용하지 않고 에코 서버를 설정하는 데 사용되는 포트입니다. 테스트에 사용되는 기본값은 33334입니다. 구성된 포트가 방화벽이나 회사 네트워크에 의해 차단되지 않는지 확인합니다.

insecurePortForWiFi

WiFi 테스트를 위해 TLS를 사용하지 않고 에코 서버를 설정하는 데 사용되는 포트입니다. 테스트에 사용되는 기본값은 33335입니다. 구성된 포트가 방화벽이나 회사 네트워크에 의해 차단되지 않는지 확인합니다.

otaConfiguration

OTA 구성입니다. [선택 사항]

otaFirmwareFilePath

빌드 후 생성된 OTA 이미지의 전체 경로입니다. 예: {{testData.sourcePath}}/relative-path/to/ota/image/from/source/root.

deviceFirmwareFileName

MCU 디바이스에서 OTA 펌웨어가 위치하는 전체 파일 경로입니다. 일부 디바이스는 이 필드를 사용하지 않지만 그래도 값을 입력해야 합니다.

otaDemoConfigFilePath

aws_demo_config.h에 대한 전체 경로이며 afr-source/vendors/vendor/boards/board/aws_demos/config_files/에 있습니다. 이러한 파일은 FreeRTOS에서 제공한 이식 코드 템플릿에 포함되어 있습니다.

codeSigningConfiguration

코드 서명 구성입니다.

signingMethod

코드 서명 방법입니다. 가능한 값은 AWS 또는 Custom입니다.

참고

베이징 및 닝샤 리전의 경우 Custom을 사용합니다. AWS 코드 서명은 이러한 리전에서 지원되지 않습니다.

signerHashingAlgorithm

디바이스에서 지원되는 해싱 알고리즘입니다. 가능한 값은 SHA1 또는 SHA256입니다.

signerSigningAlgorithm

디바이스에서 지원되는 서명 알고리즘입니다. 가능한 값은 RSA 또는 ECDSA입니다.

signerCertificate

OTA에 사용되는 신뢰할 수 있는 인증서입니다.

AWS 코드 서명 방법의 경우에 업로드된 신뢰할 수 있는 인증서의 Amazon 리소스 이름(ARN)을 사용합니다 AWS Certificate Manager.

사용자 정의 코드 서명 방법의 경우 서명자 인증서 파일의 절대 경로를 사용합니다.

신뢰할 수 있는 인증서 생성에 대한 자세한 내용은 코드 서명 인증서 생성 단원을 참조하십시오.

signerCertificateFileName

디바이스에 있는 코드 서명 인증서의 파일 이름입니다. 이 값은 aws acm import-certificate 명령을 실행할 때 입력한 파일 이름과 일치해야 합니다.

자세한 내용은 코드 서명 인증서 생성 단원을 참조하십시오.

compileSignerCertificate

코드 서명자 서명 확인 인증서가 프로비저닝되거나 플래시되지 않은 true 경우 로 설정되므로 프로젝트로 컴파일해야 합니다. 신뢰할 수 있는 인증서를 AWS IoT Device Tester 가져와서 로 컴파일합니다aws_codesigner_certifiate.h.

untrustedSignerCertificate

일부 OTA 테스트에서 신뢰할 수 없는 인증서로 사용된 두 번째 인증서의 ARN 또는 파일 경로입니다. 인증서 생성에 대한 자세한 내용은 코드 서명 인증서 생성을 참조하세요.

signerPlatform

AWS Code Signer가 OTA 업데이트 작업을 생성하는 동안 사용하는 서명 및 해싱 알고리즘입니다. 현재 이 필드에 가능한 값은 AmazonFreeRTOS-TI-CC3220SFAmazonFreeRTOS-Default입니다.

  • SHA1RSA인 경우 AmazonFreeRTOS-TI-CC3220SF를 선택합니다.

  • SHA256ECDSA인 경우 AmazonFreeRTOS-Default를 선택합니다.

구성에 SHA256 | RSA 또는 SHA1 | ECDSA가 필요한 경우 추가 지원을 요청하십시오.

signingMethodCustom을 선택한 경우 signCommand를 구성합니다

signCommand

사용자 정의 코드 서명을 수행하는 데 사용되는 명령입니다. /configs/script_templates 디렉터리에서 템플릿을 찾을 수 있습니다.

명령에 두 자리 표시자 {{inputImageFilePath}}{{outputSignatureFilePath}}가 필요합니다. {{inputImageFilePath}}는 서명하기 위해 IDT에서 만든 이미지의 파일 경로입니다. {{outputSignatureFilePath}}는 스크립트에서 생성하는 서명의 파일 경로입니다.

cmakeConfiguration

CMake 구성[선택 사항]

참고

CMake 테스트 사례를 실행하려면 보드 이름, 공급업체 이름 및 frToolchainPath 또는 compilerName을 제공해야 합니다. CMake 도구 체인에 대한 사용자 지정 경로가 있다면 cmakeToolchainPath를 제공할 수도 있습니다.

boardName

테스트 중인 보드의 이름입니다. 보드 이름은 path/to/afr/source/code/vendors/vendor/boards/board 아래의 폴더 이름과 같아야 합니다.

vendorName

테스트 중인 보드의 공급업체 이름입니다. 공급업체는 path/to/afr/source/code/vendors/vendor 아래의 폴더 이름과 같아야 합니다.

compilerName

컴파일러 이름입니다.

frToolchainPath

컴파일러 도구 체인의 정규화된 경로입니다.

cmakeToolchainPath

CMake 도구 체인의 정규화된 경로입니다. 이 필드는 선택 사항입니다.

freertosFileConfiguration

테스트를 실행하기 전에 IDT가 수정하는 FreeRTOS 파일의 구성입니다.

required

이 섹션에서는 구성 파일을 이동한 필수 테스트(예: PKCS11, TLS 등)를 지정합니다.

configName

구성하는 테스트의 이름입니다.

filePath

freertos 리포지토리 내에서 구성 파일의 절대 경로입니다. {{testData.sourcePath}} 변수를 사용하여 경로를 정의합니다.

optional

이 섹션에서는 구성 파일을 이동한 선택적 테스트(예: OTA, WiFi 등)를 지정합니다.

configName

구성하는 테스트의 이름입니다.

filePath

freertos 리포지토리 내에서 구성 파일의 절대 경로입니다. {{testData.sourcePath}} 변수를 사용하여 경로를 정의합니다.

참고

CMake 테스트 사례를 실행하려면 보드 이름, 공급업체 이름 및 afrToolchainPath 또는 compilerName을 제공해야 합니다. CMake 도구 체인에 대한 사용자 지정 경로가 있다면 cmakeToolchainPath를 제공할 수도 있습니다.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.