FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon...

29
FreeRTOS 검증 안내서

Transcript of FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon...

Page 1: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS검증 안내서

Page 2: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서

FreeRTOS: 검증 안내서Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Amazon의 상표 및 브랜드 디자인은 Amazon 외 제품 또는 서비스와 함께, Amazon 브랜드 이미지를 떨어뜨리거나 고객에게 혼동을 일으킬 수 있는 방식으로 사용할 수 없습니다. Amazon이 소유하지 않은 다른 모든 상표는 각 소유자의 자산으로, 해당 소유자는 Amazon과 제휴를 맺었거나 Amazon과 관련이 있거나 Amazon의 후원을 받는 회사일 수도 있고, 아닐 수도 있습니다.

Page 3: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서

Table of ContentsAWSFreeRTOS 검증 프로그램 ............................................................................................................. 1

FreeRTOS 란 무엇입니까? ........................................................................................................... 1란 무엇입니까?AWSFreeRTOS 검증 프로그램? ............................................................................... 1

검증 FAQ .......................................................................................................................... 2설명서 이력 ....................................................................................................................... 3

디바이스 검증 .................................................................................................................................... 4Hello World 데모 ........................................................................................................................ 5

데모를 위한 FreeRTOS 다운로드 구성 ................................................................................... 6데모 프로젝트 만들기 .......................................................................................................... 6

시작 안내서 ............................................................................................................................... 7시작 안내서 템플릿 ............................................................................................................. 8

CMakeLists.txt 파일 .................................................................................................................... 9Prerequisites ...................................................................................................................... 9CMakeLists.txt 템플릿 ........................................................................................................ 10CMake를 사용하여 FreeRTOS 빌드 ..................................................................................... 17

오픈 소스 라이선스 ................................................................................................................... 21검증 체크리스트 ............................................................................................................................... 22

매니페스트 파일 ....................................................................................................................... 23매니페스트.yml ......................................................................................................................... 25

.................................................................................................................................................... xxvi

iii

Page 4: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서FreeRTOS 란 무엇입니까?

AWSFreeRTOS 검증 프로그램FreeRTOS 란 무엇입니까?

15년간 세계 유수의 칩 회사와 협력하여 개발되었으며, 현재 175초마다 다운로드 는 마이크로컨트롤러 및소형 마이크로프로세서를 위한 시장을 선도하는 실시간 운영 체제입니다. MIT 오픈 소스 라이선스에 따라 자유롭게 배포되는 FreeRTOS 에는 모든 산업 분야에서 사용하기에 적합한 커널 및 증가하는 라이브러리 세트가 포함되어 있습니다. FreeRTOS 는 신뢰성과 사용 편의성에 중점을 두어 제작되었습니다.

FreeRTOS 에는 연결, 보안 및 무선 (OTA) 업데이트용 라이브러리가 포함되어 있습니다. FreeRTOS 에는FFreeRTOS 기능을 보여주는 데모 응용 프로그램도 포함되어 있습니다.검증 보드.

FreeRTOS 는 오픈 소스 프로젝트입니다. GitHub 사이트 https://github.com/aws/amazon-freertos에서 소스코드를 다운로드하거나 변경 사항 또는 기능 향상에 기여하거나 문제를 보고할 수 있습니다. MIT 오픈 소스라이선스에 따라 FreeRTOS 코드를 릴리스하므로 상용 및 개인 프로젝트에서 FreeRTOS 코드를 사용할 수있습니다.

우리는 또한 FreeRTOS 문서에 대한 기여를 환영합니다 (FreeRTOS 사용 설명서,FreeRTOS 이식 안내서,및FreeRTOS 검증 안내서). https://github.com/awsdocs/aws-freertos-docs에서 설명서에 대한 마크다운 소스를 사용할 수 있습니다. 이 소스는 Creative Commons(CC BY-ND) 라이선스 하에서 릴리스됩니다.

FreeRTOS 커널 및 구성 요소는 개별적으로 릴리스되며 의미 체계 버전 관리를 사용합니다. 통합 FreeRTOS릴리스는 주기적으로 이루어집니다. 모든 릴리스는 YYYYMM.NN 형식의 날짜 기반 버전 관리를 사용합니다. 여기서

• Y는 연도를 나타냅니다.• M은 월을 나타냅니다.• N은 지정된 월 내의 릴리스 순서를 나타냅니다(00은 첫 번째 릴리스).

예를 들어, 2021년 6월의 두 번째 릴리스는 202106.01이 됩니다.

이전에는 FreeRTOS 릴리스는 메이저 릴리스에 의미 체계 버전 관리를 사용했습니다. FreeRTOS 1.4.8에서날짜 기반 버전 관리로 이동했지만 (FreeRTOS 1.4.8에서 FreeRTOSAWS201906.00 참조), FreeRTOS 커널및 각 개별 FreeRTOS 라이브러리는 여전히 의미 체계 버전 관리를 그대로 유지하고 있습니다. 의미 체계 버전 관리에서는 버전 번호(X.Y.Z) 자체가 릴리스가 메이저 릴리스인지, 마이너 릴리스인지, 또는 포인트 릴리스인지를 나타냅니다. 라이브러리의 의미 체계 버전을 사용하여 새 릴리스의 범위와 애플리케이션에 미치는새 릴리스의 영향을 평가할 수 있습니다.

LTS 릴리스는 다른 릴리스 유형과 다르게 유지 관리됩니다. 메이저 릴리스와 마이너 릴리스는 결함 해결뿐아니라 새 기능으로 자주 업데이트됩니다. LTS 릴리스는 중요한 결함과 보안 취약성을 해결하기 위한 변경사항으로만 업데이트됩니다. 시작 후 특정 LTS 릴리스에는 새로운 기능이 도입되지 않습니다. 이 유형의 릴리스는 릴리스 후 최소 3역년 동안 유지 관리 되며, 메이저 릴리스와 마이너 릴리스가 나타내는 동적 기준과는 대조적으로 안정적인 기준을 사용할 수 있는 옵션을 디바이스 제조업체에게 제공합니다.

란 무엇입니까?AWSFreeRTOS 검증 프로그램?이AWSFreeRTOS 용 디바이스 검증 프로그램는 마이크로 컨트롤러 기반 보드에 이식 된 사전 통합FreeRTOS 프로젝트를 검증하여 개발자에게 FreeRTOS 포트가 FreeRTOSAWS IoT.

아마존 파트너 네트워크에 있는 사용자는AWSFreeRTOS 용 마이크로 컨트롤러 (MCU) 개발 보드를 공식 검증하기 위한 디바이스 검증 프로그램

1

Page 5: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서검증 FAQ

검증된 보드는 AWS Partner Device Catalog에 등록할 수 있습니다.

FreeRTOS용 디바이스를 검증하려면 FreeRTOS 디바이스에 FreeRTOS 를 이식한 다음AWS장치 인증 프로그램 단계 자세한 내용은 단원을 참조하십시오.AWS디바이스 검증 프로그램 페이지및 AWS디바이스 검증프로그램 안내서.

디바이스에 FreeRTOS 검증에 대한 자세한 내용은 단원을 참조하십시오.디바이스 검증 (p. 4).

검증 FAQQ: Wi-Fi 또는 이더넷이 없는 MCU를 검증할 수 있습니까?

A: 예. 외부 Wi-Fi 모듈을 사용하고 TCP/IP 및 TLS를 포함하여 다양한 기능을 Wi-Fi 모듈로 넘기는 적격MCU가 있습니다. Inventek Wi-Fi 모듈을 사용하는 STM32L4 Discovery Kit가 한 가지 예입니다. DeviceQualification Program 제출 프로세스를 따르고 저희가 드릴 수 있는 도움에 대해 알려 주십시오.

Q: 이전 버전을 이식하기 시작한 후 FreeRTOS 버전이 새로 출시된 경우 최신 버전을 사용하여 다시 시작해야 합니까?

A: 항상 FreeRTOS 의 최신 버전을 이식하기 시작하십시오. 포트에서 작업하는 동안 FreeRTOS 의 새버전을 릴리스하는 경우에도 이전 버전의 FreeRTOS를 계속 사용할 수 있습니다.

Q: 내 보드는 수정 한 커널 아키텍처를 사용하며, 이 아키텍처는 공식 FreeRTOS 릴리스의 일부가 아닙니다.그래도 검증할 수 있습니까?

A: 안타깝게도 공식 커널 포트만 허용됩니다. 다음에서 사용할 수 있습니다.GitHub. 지원되지 않는 아키텍처나 기존 커널 포트에 추가할 다른 기능이 있는 경우 해당 지역 APN 담당자에게 문의하십시오.

Q: Device Catalog에 나열된 포트를 최신 버전의 FreeRTOS 로 업데이트하려면 모두 검증해야 합니까?

A: 포트를 업데이트한 후AWS IoT장치 테스터를 다시 확인하고FreeRTOS 검증 체크리스트 (p. 22)에서 영향을 받은 항목이 있는지 확인하십시오 (특히 시작 안내서). 전달 로그 사본과 함께 DeviceQualification Program 티켓을 제출하여 새 포트를 가리키도록 Device Catalog 목록을 업데이트하십시오.

Q: 디바이스에서 Wi-Fi를 지원하지 않습니다. FreeRTOS Wi-Fi 라이브러리 포트가 FreeRTOS 용으로 필요합니까?

A: 기본 요구 사항은 디바이스가 AWS 클라우드에 연결할 수 있어야 한다는 것입니다. 디바이스에 연결할 수 있는 경우AWS클라우드를 통해 보안 이더넷 연결을 통해 Wi-Fi 라이브러리는 필요하지 않습니다.

Q: 디바이스가 Bluetooth Low Energy 또는 무선(OTA) 업데이트를 지원하지 않습니다. FreeRTOS 라이브러리 포트가 FreeRTOS 용으로 검증하려면 필요합니까?

A: Bluetooth Low Energy 및 OTA 포트는 검증을 위한 선택 사항입니다.Q: 보드에 온칩 TCP/IP 기능이 없습니다. FreeRTOS 검증에 특정 TCP/IP 스택이 필요합니까?

A: 보드에 온칩 TCP/IP 기능이 없는 경우 FreeRTOS+TCP TCP/IP 스택 또는 최신 버전의 lwIP IP IP 를사용하여 TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP FreeRTOS에서 지원하는 최신 버전의 lwIP에 대해서는 GitHub 웹 사이트의 changelog.md 파일을 참조하십시오. 자세한 내용은 단원을 참조하십시오.TCP/IP 스택 이식의FreeRTOS 이식 안내서.

Q: 검증에 특정 TLS 스택이 필요합니까?

A: FreeRTOS 는 일부 네트워크 프로세서에서 볼 수 있는 mbedTLS 및 오프칩 TLS 구현을 지원합니다.디바이스의 FreeRTOS 포트에서 어떤 TLS 구현을 사용하는지 관계없이 포트는 TLS에 대한 디바이스테스터 유효성 검사 테스트를 통과해야 합니다. 자세한 내용은 단원을 참조하십시오.TLS 라이브러리 이식의FreeRTOS 이식 안내서.

Q: 내 디바이스가 모든 디바이스를 통과해야 합니까?AWS IoT검증을위한 디바이스 테스터 유효성 검사 테스트? 모든 테스트를 통과하지 않고 검증할 수 있는 방법이 있습니까?

A: FreeRTOS 검증에 디바이스가 필요한 모든 유효성 검사 테스트를 통과해야 합니다. 유일한 예외는Wi-Fi, Bluetooth Low Energy 및 OTA입니다.

2

Page 6: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서설명서 이력

Q: 내 디바이스는 프로토콜 (HTTP, MQTT) 중 하나만 사용하고 사용 가능한 통신 채널 (Wi-Fi, 이더넷, BLE)중 하나만 사용합니다. 모든 OTA 관련 IDT 테스트가 하나의 프로토콜-통신 채널 조합만 사용하여 통과하는경우 내 디바이스가 정규화된 OTA로 장치 카탈로그에 나열됩니까?

A: 예. 가능하면 해당 디바이스의 다른 조합도 정규화되어 있는 것이 좋습니다. 이러한 방식으로 더 많은고객 사용 사례에 대한 지원을 제공할 수 있습니다.

Q: 우리는 자격 요구 사항에 따라 자체 repo에서 FreeRTOS 포트를 호스팅 할 것입니다. 지원할 폴더 및 데모측면에서 repo에 무엇을 포함시켜야합니까?

A: 저장소에서 포트를 다운로드하는 고객을 위해 포트를 바로 사용할 수 있도록 하는 데 필요한 모든 파일과 폴더를 호스팅합니다. 당신은 당신의 전체를 포함해야합니다freertos_kernel,libraries,및tools폴더와 함께docs폴더에 있는projects폴더와 IDE 프로젝트에 대한vendors폴더에 공급업체 특정 파일을 저장하십시오. 또한 전체 데모 폴더를 포함하십시오.

Note

CoremQTT 상호 인증 데모를 지원해야 합니다. 다른 데모는 귀하의 재량에 달려 있습니다. 또한,tools폴더는 필요하지 않습니다. 하지만 고객을 테스트하려면 이 폴더를 호스팅하는 것이좋습니다.

이 페이지 또는 나머지 페이지에서 답변을 얻지 못한 검증에 대해 질문이 있는 경우FreeRTOS 검증 안내서에 문의하십시오.AWS대표 또는FreeRTOS 엔지니어링 팀.

설명서 이력단원을 참조하십시오.FreeRTOS 이식 및 검증 설명서의 수정 기록atIoT 디바이스에 FreeRTOS 이식의FreeRTOS 이식 안내서.

3

Page 7: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서

디바이스 검증디바이스용 FreeRTOS 검증

1. FreeRTOS 라이브러리를 디바이스에 이식합니다.

Note

현재 FreeRTOS OTA 및 Bluetooth Low Energy 라이브러리의 포트는 검증에 필요하지 않습니다.디바이스가 Wi-Fi를 지원하지 않는 경우 대신 이더넷 연결을 사용하여 AWS 클라우드에 연결할수 있습니다. FreeRTOS Wi-Fi 라이브러리의 포트가 필요하지 않는 경우도 있습니다.

FreeRTOS 디바이스에 이식하는 방법에 대한 자세한 내용은 단원을 참조하십시오.FreeRTOS 이식 안내서.

2. 를 사용하여 포트를 검증합니다.AWS IoTFreeRTOS 용 디바이스 테스터.

디바이스 테스터를 사용하여 포트의 유효성을 검증할 때 다음 포트에 대한 device.json 구성 파일의features 속성에서 정보를 지정해야 합니다.

• TCP/IP

{ "name": "TCP/IP", "value": "On-chip | Offloaded | No"}

• TLS

{ "name": "TLS", "value": "On-chip | Offloaded | No"}

• Wi-Fi

{ "name": "WIFI", "value": "Yes | No"}

• OTA

{ "name": "OTA", "value": "Yes | No"}

디바이스 테스터는 이 정보를 사용하여 이식된 FreeRTOS 코드에 대해 실행할 테스트를 결정합니다. 디바이스 테스터는 기본적으로 필요한 다른 모든 라이브러리 포트 테스트를 실행합니다.

에 대한 자세한 내용은AWS IoTFreeRTOS 용 디바이스 테스터는 단원을 참조하십시오.사용AWSIoTFreeRTOS 디바이스 테스터FreeRTOS 사용 설명서.

4

Page 8: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서Hello World 데모

3. 검증 제출을 위해 다음을 만듭니다.

• 디바이스에서 MQTT를 통해 AWS 클라우드에 메시지를 게시하는 "Hello World" 데모 애플리케이션.

자세한 정보는 Hello World 데모 설정 (p. 5) 단원을 참조하십시오.• 디바이스용 “FreeRTOS 시작 안내서”.

자세한 정보는 디바이스용 FreeRTOS 안내서 만들기 (p. 7) 단원을 참조하십시오.• ACMakeLists.txt디바이스용 FreeRTOS 애플리케이션을 빌드하기 위한 파일.

Note

CMake 목록 파일은 AWS Device Qualification Program을 통해 보드를 검증할 필요가 없습니다. 이 파일은 FreeRTOS 콘솔의 디바이스 나열에만 필요합니다. 또한 이 파일은 CMake를사용하여 플랫폼에 맞는 프로젝트 파일을 빌드하는 데 필요합니다.

자세한 정보는 플랫폼용 CMakeLists.txt 파일 생성 (p. 9) 단원을 참조하십시오.• 하드웨어 플랫폼에 대한 자세한 정보 목록.

자세한 정보는 FreeRTOS 검증 체크리스트 (p. 22) 단원을 참조하십시오.• 디바이스의 FreeRTOS 포트에 적합한 오픈 소스 라이선스 파일.

자세한 정보는 코드에 대한 오픈 소스 라이선스 제공 (p. 21) 단원을 참조하십시오.• (OTA 업데이트에 적합한 보드의 경우) 코드 서명에 대한 지침.

예제는 단원을 참조하십시오.코드 서명 인증서 생성FreeRTOS 사용 설명서.• (사용자 지정 부트로더를 사용하는 OTA 업데이트에 적합한 보드의 경우) 사용자 지정 부트로더 애플

리케이션에 대한 정보 및 지침.

요구 사항 목록은 단원을 참조하십시오.부트로더 데모 이식FreeRTOS 이식 안내서를 참조하십시오.

이 항목은 FreeRTOS 콘솔에 디바이스를 등록하고, 디바이스의 코드를 GitHub 에 등록하고, 디바이스에서 시작 설명서의 지원을 받기 위해 필요합니다.

4. 에 리스팅할 자격을 갖춘 보드를 제출하십시오.AWS파트너 장치 카탈로그를 통해디바이스 목록 포털에서 APN 파트너 센트럴을 참조하십시오. 모든 제출에는 모든 필수 테스트 사례를 통과했음을 나타내는AWS IoT Device Tester 테스트 결과 파일이 필요합니다. 등록을 위해 보드를 제출하려면 등록된 APN파트너여야 합니다.

FreeRTOS 검증 체크리스트 (p. 22) 단원을 사용하여 검증에 필요한 단계 목록을 추적할 수 있습니다.

Hello World 데모 설정FreeRTOS 를 검증하려면 검증된 디바이스에서 실행되는 Hello World 데모 애플리케이션을 설정하십시오.이 데모는 디바이스의 메시지를 MQTT를 통해 AWS 클라우드에 게시합니다.

Hello World 데모를 설정하려면

1. 의 지침을 따르십시오.데모를 위한 FreeRTOS 다운로드 구성 (p. 6)를 사용하여 디바이스에 맞게FreeRTOS 다운로드의 디렉터리 구조를 구성합니다.

2. 데모 프로젝트 만들기 (p. 6)의 지침에 따라 IDE에서 데모 프로젝트를 작성합니다.

데모를 설정한 후에는 해당 디바이스용 “FreeRTOS 시작 안내서를 만듭니다. 이 안내서는 Hello World 데모를 실행하기 위해 디바이스를 설정하는 과정을 안내합니다.

5

Page 9: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서데모를 위한 FreeRTOS 다운로드 구성

데모를 위한 FreeRTOS 다운로드 구성다운로드의 루트 디렉터리(freertos) 아래에서 vendors 폴더는 다음과 같이 구성됩니다.

vendors+ - vendor (Template, to be renamed to the name of the MCU vendor) + - boards |   + - board (Template, to be renamed to the name of the development board) |   + - aws_demos |   + - aws_tests |   + - CMakeLists.txt |   + - ports + - driver_library (Template, to be renamed to the library name)    + - driver_library_version (Template, to be renamed to the library version)

이vendor및board폴더는 데모 및 테스트 프로젝트 생성을 보다 쉽게 수행할 수 있도록 제공되는 템플릿 폴더입니다. 해당 디렉터리 구조에서는 모든 데모 및 테스트 프로젝트가 일관된 구성을 유지합니다.

aws_demos 폴더의 구조는 다음과 같습니다.

vendors/vendor/boards/board/aws_demos+ - application_code (Contains main.c, which contains main())| + - vendor_code (Contains vendor-supplied, board-specific files)| + - main.c (Contains main())+ - config_files (Contains FreeRTOS config files)

데모 프로젝트 파일을 구성하려면

데모 애플리케이션을 위해 main.c 및 main.h 파일을 application_code 폴더에 복사합니다. 당신은 다시 사용할 수 있습니다main.cfrom the aws_tests프로젝트당신이 당신의 포트를 테스트하는 데 사용했던.

1. 공급업체가 제공한 필수 보드 전용 라이브러리를 vendor_code 폴더에 저장합니다.Important

대상 보드의 MCU 제품군에 공통적으로 사용되는 공급업체 제공 라이브러리를 aws_tests 또는 aws_demos의 하위 디렉터리에 저장하지 마십시오.

2. vendor_code 폴더의 vendor를 공급업체 이름으로 바꿉니다.3. board 폴더 이름을 개발 보드 이름으로 바꿉니다.

데모 프로젝트 파일을 구성한 후 IDE에서 프로젝트를 만들 수 있습니다. 지침은 데모 프로젝트 만들기 (p. 6) 단원을 참조하십시오.

CMake 목록 파일을 생성 (p. 9)하는 경우 데모 프로젝트에 CMakelist 항목을 제공해야 합니다.

데모 프로젝트 만들기FreeRTOS 다운로드를 구성한 후 Hello World 데모에 필요한 프로젝트 구조로 IDE 프로젝트를 만들 수 있습니다.

아래 지침에 따라 데모 애플리케이션에 필요한 IDE 프로젝트 구조로 IDE 프로젝트를 만듭니다.Important

Eclipse 기반 IDE를 사용하는 경우 폴더의 모든 파일을 빌드하도록 프로젝트를 구성하지 마십시오.대신, 각 소스 파일에 개별적으로 연결하여 프로젝트에 소스 파일을 추가합니다.

1. aws_demos 프로젝트를 생성하고 projects/vendor/board/ide 디렉터리에 프로젝트를 저장합니다.

6

Page 10: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서시작 안내서

2. IDE의 aws_demos 아래에 두 개의 가상 폴더를 만듭니다.

• application_code

• config_files

이제 aws_demos의 IDE 프로젝트에 두 개의 가상 하위 폴더 application_code 및config_files가 있어야 합니다.

Note

Eclipse는 추가로 includes 폴더를 생성합니다. 이 폴더는 필요한 구조의 일부가 아닙니다.3. aws_demos/application_code 및 해당 하위 디렉터리에 있는 모든 폴더 및 파일을 IDE의

application_code 가상 폴더로 가져옵니다.4. aws_demos/config_files의 모든 파일을 IDE의 config_files 가상 폴더로 가져옵니다.5. 다음 디렉터리에 있는 모든 폴더 및 파일을 IDE의 application_code 가상 폴더로 가져옵니다.

• freertos/demos/demo_runner

• freertos/demos/coreMQTT

• freertos/libraries/.../provisioning/src

6. freertos/demos/include 디렉터리 및 해당 콘텐츠를 IDE의 application_code 가상 폴더로 가져옵니다.

7. 다음 디렉터리와 해당 콘텐츠를 aws_demos IDE 프로젝트로 가져옵니다.Note

플랫폼 및 포트에 적용되는 파일 및 디렉터리만 가져오십시오.

• freertos/libraries

• freertos/freertos_kernel

• freertos/vendors/vendor/boards/board/driver_library/driver_library_version

8. 프로젝트의 IDE 속성을 열고 컴파일러의 포함 경로에 다음 경로를 추가합니다.

• freertos/demos/include

• freertos/freertos_kernel/portable/compiler/architecture

• freertos/libraries/3rdparty/mbedtls/include

• freertos/vendors/vendor/boards/board/aws_demos/config_files

• 공급업체가 제공하는 드라이버 라이브러리에 필요한 모든 경로

디바이스용 FreeRTOS 안내서 만들기FreeRTOS 를 검증하려면 디바이스용 FreeerTOS 시작 안내서를 만들어야 합니다. 이 안내서에서는FreeerTOS 디바이스용 애플리케이션을 개발하고 디바이스에서 FreeRTOS Hello World 데모를 빌드, 실행및 플래시하도록 하드웨어 및 개발 환경을 설정하는 과정을 안내합니다.

이 안내서를 사용하려면 퍼블릭 웹 사이트의 고객이어야 합니다. 안내서의 URL은 AWS Partner DeviceCatalog에 검증된 보드를 나열하기 위한 요구 사항입니다.

안내서에는 다음 지침이 포함되어야 합니다.

• 디바이스 하드웨어 설정• 개발 환경 설정• 데모 프로젝트 빌드 및 실행• 디버깅

7

Page 11: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서시작 안내서 템플릿

• 문제 해결

그 밖에도 다음과 같은 지침을 포함하는 것이 좋습니다.

• MCU 데이터 시트에 대한 링크• Printed Circuit Board(PCB) 도식• 기본 이미지 부팅 콘솔 로그

Important

운영 체제별로 지침이 다른 경우 Windows, Linux 및 macOS 운영 체제에 대한 지침을 제공해야 합니다.

보드에 대한 안내서를 작성하려면 시작 안내서 템플릿 (p. 8) 단원의 지침을 따르십시오. 다른 검증된 보드에 대해 게시된 안내서의 예는FreeRTOS 사용 설명서.

시작 안내서 템플릿보드에 대한 간단한 설명을 제공하는 개요를 작성합니다. 이 단원에서는 다음과 같은 의문 사항을 해결합니다.

• FreeRTOS Hello World 데모를 실행하려면 어떤 하드웨어가 필요합니까?

자세한 내용은 회사 웹 사이트의 페이지에 대한 링크를 제공하십시오.• 보드용 애플리케이션을 개발할 때 지원되는 IDE는 무엇입니까?

IDE 사용 설명서 및 다운로드 페이지에 대한 링크를 제공하십시오.• 개발에 필요한 도구 체인 및 기타 소프트웨어 유틸리티는 무엇입니까?

사용 설명서 및 다운로드 페이지에 대한 링크를 제공하십시오.• 보드에 FreeRTOS 를 시작하기 위한 다른 사전 조건이 있습니까?

구매 페이지, 사용 설명서 및 다운로드 페이지에 대한 링크를 제공하십시오.

하드웨어 설정이 단원에서는 플랫폼 하드웨어 설정에 대한 지침을 제공합니다. 하드웨어 설정에 대한 사용 설명서나 기타설명서에 대한 링크를 제공했는지 확인하십시오.

이러한 지침에는 다음 내용이 포함됩니다.

• 점퍼 설정 구성• 드라이버 다운로드 및 설치.

지원되는 드라이버 버전에 대한 다운로드 페이지 및 기타 설명서에 대한 링크를 제공하십시오.• 컴퓨터에 보드 연결• 하드웨어를 설정하는 데 필요한 기타 모든 단계

개발 환경 설정이 단원에서는 플랫폼에서 지원하는 개발 환경 설정에 대한 지침을 제공합니다. 각각에 대한 다운로드 페이지, 사용 설명서 또는 기타 설명서에 대한 링크를 제공했는지 확인하십시오.

이러한 지침에는 다음 내용이 포함됩니다.

8

Page 12: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서CMakeLists.txt 파일

• 직렬 연결 설정• 도구 체인 다운로드 및 설치• 지원되는 IDE 다운로드 및 설치• 디바이스용 애플리케이션을 개발하고 디버깅하는 데 필요한 기타 소프트웨어

FreeRTOS 데모 프로젝트 빌드 및 실행FreeRTOS 데모 빌드이 단원에서는 지원되는 IDE 또는 지원되는 명령줄 도구로 FreeRTOS 데모 코드를 빌드하는 방법을 제공합니다.

Note

CMake를 사용하여 보드에서 데모 애플리케이션을 빌드하는 지침을 제공해야 합니다.

FreeRTOS 데모 프로젝트 실행이 단원에서는 보드에서 FreeRTOS 데모 코드를 플래시하고 실행하는 방법을 제공합니다.

Debugging이 단원에서는 온보드 또는 외부 디버거 사용에 대한 지침을 제공합니다.

Troubleshooting이 단원에서는 일반적인 문제 또는 잠재적인 문제를 해결하기 위한 문제 해결 팁을 제공합니다.

플랫폼용 CMakeLists.txt 파일 생성ACMakeLists.txt파일을 사용하면 디바이스를 FreeRTOS 콘솔에 나열하고 개발자가 IDE 없이 디바이스에 대한 FreeerTOS 코드를 빌드할 수 있습니다.

Note

CMake 목록 파일은 AWS Device Qualification Program을 통해 보드를 검증할 필요가 없습니다. 이파일은 FreeRTOS 콘솔의 디바이스 나열에만 필요합니다.

CMake 빌드 시스템에 대한 자세한 내용은 CMake.org를 참조하십시오.

의 지침을 따르십시오.CMakeLists.txt 템플릿에서 플랫폼에 맞는 목록 파일 만들기 (p. 10)FreeRTOS 와함께 제공된 템플릿에서 CMake 목록 파일을 생성할 수 있습니다.

Important

CMake 목록 파일을 제출하기 전에 파일을 사용하여 CMake로 FreeRTOS 테스트 프로젝트 및Hello World 데모 프로젝트를 빌드할 수 있는지 확인해야 합니다.지침은 CMake를 사용하여 FreeRTOS 빌드 (p. 17) 단원을 참조하십시오.

Prerequisites계속하기 전에 호스트 시스템이 다음 사전 조건을 충족하는지 확인하십시오.

• 디바이스의 컴파일 도구 체인이 컴퓨터의 운영 체제를 지원해야 합니다. CMake는 모든 버전의 Windows,macOS 및 Linux를 지원합니다.

Linux용 Windows 하위 시스템(WSL)은 지원되지 않습니다. Windows 시스템에서 네이티브 CMake를 사용합니다.

9

Page 13: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서CMakeLists.txt 템플릿

• CMake 버전 3.13 이상이 설치되어 있어야 합니다.

CMake.org에서 CMake의 바이너리 배포를 다운로드할 수 있습니다.

Note

CMake 이진 배포를 다운로드하는 경우 명령줄에서 CMake를 사용하기 전에 CMake 실행 파일을PATH 환경 변수에 추가해야 합니다.

또한 macOS에서 homebrew, Windows에서 scoop이나 chocolatey와 같은 패키지 관리자를 사용하여CMake를 다운로드하고 설치할 수 있습니다.

Note

많은 Linux 배포판에 대한 패키지 관리자의 CMake 패키지 버전은 최신 버전이 아닙니다. 배포의패키지 관리자에 최신 버전의 CMake가 포함되어 있지 않으면linuxbrew또는nix.

• 호환 가능한 네이티브 빌드 시스템이 있어야 합니다.

CMake는 많은 네이티브 빌드 시스템을 대상으로 할 수 있습니다.GNU Make또는닌자. Make와 Ninja는 모두 Linux, macOS 및 Windows의 패키지 관리자를 사용하여 설치할 수 있습니다. Windows에서 Make를 사용하는 경우 수식에서 독립 실행형 버전을 설치하거나 Make를 번들로 제공하는 MinGW를 설치할 수 있습니다.

Note

MinGW의 Make 실행 파일은 make.exe가 아니라 mingw32-make.exe입니다.

Ninja는 Make보다 빠르며 모든 데스크톱 운영 체제에 네이티브 지원을 제공하므로 Ninja를 사용하는 것이좋습니다.

CMakeLists.txt 템플릿에서 플랫폼에 맞는 목록 파일 만들기ACMakeLists.txt템플릿 파일은 FreeRTOS 와 함께 제공되며,freertos/vendors/vendor/boards/board/CMakeLists.txt.

CMakeLists.txt 템플릿 파일은 4개의 섹션으로 구성됩니다.

• FreeRTOS 콘솔 메타데이터 (p. 11)• 컴파일러 설정 (p. 11)• FreeRTOS 이동식 계층 (p. 13)• FreeRTOS 데모 및 테스트 (p. 16)

지침에 따라 목록 파일의 이 4개 섹션을 플랫폼에 맞게 편집하십시오. freertos/vendors에 있는 다른 검증된 공급업체 보드의 CMakeLists.txt 파일을 예제로 참조할 수 있습니다.

파일 전체에 두 가지 기본 함수가 호출됩니다.

afr_set_board_metadata(name value)

이 함수는 FreeRTOS 콘솔의 메타데이터를 정의합니다. 함수는 freertos/tools/cmake/afr_metadata.cmake에 정의되어 있습니다.

afr_mcu_port(module_name [<DEPENDS> [targets...]])

이 함수는 FreeRTOS 모듈 (즉, 라이브러리) 과 연관된 이동식 계층 대상을 정의합니다. CMakeGLOBAL INTERFACE IMPORTED 대상을 AFR:module_name::mcu_port 형식의 이름으로 생성

10

Page 14: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서CMakeLists.txt 템플릿

합니다. DEPENDS가 사용되는 경우 추가 대상이 target_link_libraries와 연결됩니다. 함수는freertos/tools/cmake/afr_module.cmake에 정의되어 있습니다.

FreeRTOS 콘솔 메타데이터템플릿 파일의 첫 번째 섹션에서는 FreeRTOS 콘솔에 보드의 정보를 표시하는 데 사용되는 메타데이터를 정의합니다. afr_set_board_metadata(name value) 함수를 사용하여 템플릿에 나열된 각 필드를 정의합니다. 이 표에서는 각 필드에 대한 설명을 제공합니다.

필드 이름 값 설명

ID 보드의 고유 ID

DISPLAY_NAME FreeRTOS 콘솔에 표시할 보드의 이름

DESCRIPTION FreeRTOS 콘솔의 보드에 대한 간략한 설명

VENDOR_NAME 보드의 공급업체 이름

FAMILY_NAME 보드의 MCU 제품군 이름

DATA_RAM_MEMORY 보드의 RAM 크기와 약어로 표시된 단위. 예를 들어킬로바이트의 경우 KB입니다.

PROGRAM_MEMORY 보드의 프로그램 메모리 크기와 약어로 표시된 단위. 예를 들어 메가바이트의 경우 "MB"입니다.

CODE_SIGNER OTA 업데이트에 사용되는 코드 서명 플랫폼.SHA256 해시 알고리즘 및 ECDSA 암호화 알고리즘에는 AmazonFreeRTOS-Default를 사용합니다. 다른 코드 서명 플랫폼을 사용하려면 문의하십시오.

SUPPORTED_IDE 세미콜론으로 구분된 보드 지원 IDE의 ID 목록

IDE_ID_NAME 지원되는 IDE의 이름. ID를 SUPPORTED_IDE 필드의 IDE에 대해 나열된 ID로 바꿉니다.

IDE_ID_COMPILER 지원되는 IDE에 대해 지원되는 컴파일러 이름을 세미콜론으로 구분한 목록. ID를 SUPPORTED_IDE 필드의 IDE에 대해 나열된 ID로 바꿉니다.

KEY_IMPORT_PROVISIONING 보드 데모 프로젝트가 사전 프로비저닝된aws_clientcredential_keys.h헤더 파일에저장됩니다. 이 경우빠른 Connect가 FreeRTOS 콘솔에서 활성화됩니다.

의도한 보드 프로비저닝 메커니즘이 JITR/JITP 또는다중 계정 등록인 경우 FALSE로 설정합니다. 이 경우빠른 Connect는 FreeRTOS 콘솔에서 비활성화됩니다.

컴파일러 설정템플릿 파일의 두 번째 섹션은 보드의 컴파일러 설정을 정의합니다. 컴파일러 설정을 보유하는 대상을 만들려면afr_mcu_port함수를 사용하여compiler대신모모_모모를 생성하려면INTERFACE이름을 가진 대상AFR::compiler::mcu_port. 커널은 이 INTERFACE 대상에 공개적으로 연결되므로 컴파일러 설정이모든 모듈에 일시적으로 채워집니다.

11

Page 15: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서CMakeLists.txt 템플릿

기본 제공되는 표준 CMake 함수를 사용하여 목록 파일의 이 섹션에서 컴파일러 설정을 정의합니다. 컴파일러 설정을 정의할 때는 다음 모범 사례를 따르십시오.

• target_compile_definitions를 사용하여 컴파일 정의와 매크로를 제공합니다.• target_compile_options를 사용하여 컴파일러 플래그를 제공합니다.• target_include_directories를 사용하여 포함 디렉터리를 제공합니다.• target_link_options를 사용하여 링커 플래그를 제공합니다.• target_link_directories를 사용하여 링커 검색 디렉터리를 제공합니다.• target_link_libraries를 사용하여 링크에 대한 라이브러리를 제공합니다.

Note

컴파일러 설정을 다른 곳에서 정의할 경우 파일의 이 섹션에 있는 정보를 복제할 필요가 없습니다.대신 DEPENDS로 afr_mcu_port를 호출하여 다른 위치에서 대상 정의를 가져옵니다.다음 예를 참조하십시오.

# your_target is defined somewhere else. It does not have to be in the same file.afr_mcu_port(compiler DEPENDS your_target)

DEPENDS로 afr_mcu_port를 호출하면target_link_libraries(AFR::module_name::mcu_port INTERFACEyour_targets)가 호출되고 필요한 AFR::compiler::mcu_port 대상의 컴파일러 설정이 채워집니다.

여러 컴파일러 사용

보드가 여러 컴파일러를 지원하는 경우 AFR_TOOLCHAIN 변수를 사용하여 컴파일러 설정을 동적으로선택할 수 있습니다. 이 변수는 사용 중인 컴파일러의 이름으로 설정되며 freertos/tools/cmake/toolchains에 있는 도구 체인 파일의 이름과 동일해야 합니다.

다음 예를 참조하십시오.

if("${AFR_TOOLCHAIN}" STREQUAL "arm-gcc") afr_mcu_port(compiler DEPENDS my_gcc_settings).elseif("${AFR_TOOLCHAIN}" STREQUAL "arm-iar") afr_mcu_port(compiler DEPENDS my_iar_settings).else() message(FATAL_ERROR "Compiler ${AFR_TOOLCHAIN} not supported.")endif()

고급 컴파일러 설정

프로그래밍 언어를 기반으로 컴파일러 플래그를 설정하거나 다른 릴리스 및 디버그 구성의 설정을 변경하는것과 같은 고급 컴파일러 설정을 지정하려는 경우 CMake 생성기 표현식을 사용할 수 있습니다.

다음 예를 참조하십시오.

set(common_flags "-foo")set(c_flags "-foo-c")set(asm_flags "-foo-asm")target_compile_options( my_compiler_settings INTERFACE $<$<COMPILE_LANGUAGE:C>:${common_flags} ${c_flags}> # This only have effect on C files. $<$<COMPILE_LANGUAGE:ASM>:${common_flags} ${asm_flags}> # This only have effect on ASM files.)

12

Page 16: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서CMakeLists.txt 템플릿

CMake 생성기 표현식은 구성 단계 중 CMake가 목록 파일을 읽을 때 평가되지 않습니다. 생성 단계 중CMake가 목록 파일 읽기를 끝내고 대상 빌드 시스템을 위한 빌드 파일을 생성할 때 평가됩니다.

FreeRTOS 이동식 계층템플릿 파일의 세 번째 섹션은 FreeRTOS (즉, 라이브러리) 의 모든 이동식 계층 대상을 정의합니다.

를 사용해야 합니다.afr_mcu_port(module_name)함수를 사용하여 구현하려는 각 FreeRTOS 모듈에 대해 이동식 계층 대상을 정의합니다.

CMake 함수를 사용할 수 있습니다.afr_mcu_port호출은 해당 FreeRTOS 모듈을 빌드하는 데 필요한 정보를 제공하는 이름의 대상을 만듭니다.

이afr_mcu_port함수를 생성할 때글로벌 인터페이스 가져온 라이브러리 대상형식의 이름으로 바꿉니다.AFR::module_name::mcu_port. GLOBAL 대상은 CMake 목록 파일에서 참조할 수 있습니다. 로INTERFACE대상은 독립 실행형 대상 또는 라이브러리로 빌드되지 않지만 해당 FreeRTOS모듈로 컴파일됩니다. IMPORTED 대상 이름에는 대상 이름의 네임스페이스(::)가 포함됩니다(예:AFR::kernel::mcu_port).

해당하는 이동식 계층 대상이 없는 모듈은 기본적으로 비활성화됩니다. 이동식 계층 대상을 정의하지 않고CMake를 실행하여 FreeRTOS 를 구성하면 다음과 같은 결과가 나타납니다.

FreeRTOS modules: Modules to build: Disabled by user: Disabled by dependency: kernel, posix, pkcs11, secure_sockets, mqtt, ...

Available demos: Available tests:

를 업데이트할 때CMakeLists.txt파일을 이식하는 경우 해당 FreeRTOS 모듈이 활성화됩니다. 또한 종속성 요구 사항이 계속 충족되는 모든 FreeRTOS 모듈을 빌드할 수 있어야 합니다. 예를 들어, CoremQTT 라이브러리가 활성화된 경우 유일한 종속성이 CoremQTT 라이브러리도 활성화됩니다.

Note

FreeRTOS 커널 종속성은 최소한의 요구 사항입니다. FreeRTOS 커널 종속성이 충족되지 않으면CMake 구성이 실패합니다.

커널 이식 대상 설정커널 이식 대상(AFR::kernel::mcu_port)을 만들려면 모듈 이름이 kernel인 afr_mcu_port를 호출하십시오. afr_mcu_port를 호출할 때 FreeRTOS 이동식 계층 및 드라이버 코드의 대상을 지정하십시오. 대상을 만든 후에는 대상에서 사용할 종속성 정보와 FreeRTOS 이동식 계층 및 드라이버 코드 정보를 제공할수 있습니다.

다음 지침에 따라 커널 이식 대상을 설정합니다.

커널 이식 대상을 설정하려면

1. 드라이버 코드의 대상을 만듭니다.

예를 들어, 드라이버 코드에 대한 STATIC 라이브러리 대상을 만들 수 있습니다.

add_library(my_board_driver STATIC ${driver_sources})

# Use your compiler settingstarget_link_libraries( my_board_driver PRIVATE AFR::compiler::mcu_port# Or use your own target if you already have it.

13

Page 17: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서CMakeLists.txt 템플릿

# PRIVATE ${compiler_settings_target})

target_include_directories( my_board_driver PRIVATE "include_dirs_for_private_usage" PUBLIC "include_dirs_for_public_interface")

또는 드라이버 코드에 대한 INTERFACE 라이브러리 대상을 만들 수 있습니다.

# No need to specify compiler settings since kernel target has them.add_library(my_board_driver INTERFACE ${driver_sources})

Note

INTERFACE 라이브러리 대상에는 빌드 출력이 없습니다. INTERFACE 라이브러리 대상을 사용하면 드라이버 코드가 커널 라이브러리로 컴파일됩니다.

2. FreeRTOS 이동식 계층을 구성합니다.

add_library(freertos_port INTERFACE)target_sources( freertos_port INTERFACE "${AFR_MODULES_DIR}/freertos_kernel/portable/GCC/ARM_CM4F/port.c" "${AFR_MODULES_DIR}/freertos_kernel/portable/GCC/ARM_CM4F/portmacro.h" "${AFR_MODULES_DIR}/freertos_kernel/portable/MemMang/heap_4.c")target_include_directories( freertos_port INTERFACE "${AFR_MODULES_DIR}/freertos_kernel/portable/GCC/ARM_CM4F" "${include_path_to_FreeRTOSConfig_h})

Note

또한 이 소스 파일과 포함 디렉터리를 AFR::kernel::mcu_port 대상에 직접 지정하여FreeRTOS 이동식 계층을 구성할 수도 있습니다.

3. 커널 이동식 계층 대상을 만듭니다.

# Bring in driver code and freertos portable layer dependency.afr_mcu_port(kernel DEPENDS my_board_driver freertos_port)

# If you need to specify additional configurations, use standard CMake functions with# AFR::kernel::mcu_port as the target name.target_include_directories( AFR::kernel::mcu_port INTERFACE "${additional_includes}" # e.g. board configuration files)target_link_libraries( AFR::kernel::mcu_port INTERFACE "${additional_dependencies}")

4. 목록 파일과 구성을 테스트하려면 FreeRTOS 커널 포트를 사용하는 간단한 애플리케이션을 작성하면됩니다. CMake를 사용한 FreeRTOS 애플리케이션 개발 및 빌드에 대한 자세한 내용은 단원을 참조하십시오.CMake를 사용하여 FreeRTOS 빌드 (p. 17).

14

Page 18: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서CMakeLists.txt 템플릿

5. 데모를 만든 후 목록 파일에 add_executable 및 target_link_libraries 호출을 추가하고 정적라이브러리로 커널을 컴파일하여 커널 이동식 계층이 올바르게 구성되었는지 확인합니다.

add_executable( my_demo main.c)target_link_libraries( my_demo PRIVATE AFR::kernel)

FreeRTOS 모듈의 이식 대상 설정커널에 이동식 계층 대상을 추가한 후에는 다른 FreeRTOS 모듈에 대한 이동식 계층 대상을 추가할 수 있습니다.

예를 들어, Wi-Fi 모듈에 이동식 계층을 추가하려면 다음을 수행합니다.

afr_mcu_port(wifi)target_sources( AFR::wifi::mcu_port INTERFACE "${AFR_MODULES_DIR}/vendors/vendor/boards/board/ports/wifi/iot_wifi.c")

이 Wi-Fi 모듈 이동식 계층 예제에는 드라이버 코드를 기반으로 하는 구현 파일이 하나만 있습니다.

FreeRTOS 보안 소켓 모듈에 이동식 계층을 추가하려는 경우 모듈은 TLS에 따라 달라집니다. 따라서 해당이동식 계층 대상이 Wi-Fi 모듈보다 약간 더 복잡하게 됩니다. FreeRTOS 는 연결할 수 있는 mbedTLS 기반으로 기본 TLS 구현을 제공합니다.

afr_mcu_port(secure_sockets)target_sources( AFR::secure_sockets::mcu_port INTERFACE ${portable_layer_sources})target_link_libraries( AFR::secure_sockets::mcu_port AFR::tls)

이 예제 코드에서 표준 CMake 함수 target_link_libraries는 보안 소켓 이동식 계층이 AFR::tls에종속되어 있음을 나타냅니다.

대상 이름을 사용하여 모든 FreeRTOS 모듈을 참조할 수 있습니다.AFR::module_name. 예를 들어,FreeRTOS-Plus-TCP에 대한 종속성을 기술하기 위해 동일한 구문을 사용할 수도 있습니다.

target_link_libraries( AFR::secure_sockets::mcu_port AFR::freertos_plus_tcp AFR::tls)

Note

플랫폼이 TLS만 처리하는 경우 드라이버 코드를 직접 사용할 수 있습니다. 드라이버 코드를 TLS에직접 사용하면 를 호출할 필요가 없습니다.target_link_libraries모든 FreeRTOS 모듈은 드라이버 코드가 포함된 커널에 암시적으로 종속되기 때문입니다.

15

Page 19: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서CMakeLists.txt 템플릿

모든 비 커널 FreeRTOS 모듈은 암시적으로 커널에 종속되기 때문에, 해당 이식 계층에 대해 커널을 종속성으로 지정할 필요가 없습니다. 그러나 POSIX 모듈은 선택적 커널 모듈로 정의됩니다.POSIX를 사용하려면 명시적으로 커널 이동식 계층에 포함시켜야 합니다. 다음 예를 참조하십시오.

# By default, AFR::posix target does not expose standard POSIX headers in its public# interface, i.e., You need to use "freertos_plus_posix/source/FreeRTOS_POSIX_pthread.c" instead of "pthread.h".# Link to AFR::use_posix instead if you need to use those headers directly.target_link_libraries( AFR::kernel::mcu_port INTERFACE AFR::use_posix)

FreeRTOS 데모 및 테스트템플릿 파일의 마지막 섹션에서는 FreeRTOS 에 대한 데모 및 테스트 대상을 정의합니다. 종속성 요구 사항을 만족하는 각 데모 및 테스트에 대해 CMake 대상이 자동으로 만들어집니다.

이 섹션에서는 add_executable 함수를 사용하여 실행 가능 대상을 정의합니다. 테스트를 컴파일하는 경우 대상 이름으로 aws_tests를 사용하거나 데모를 컴파일하는 경우 aws_demos를 사용하십시오. 링커 스크립트 및 빌드 후 명령과 같은 다른 프로젝트 설정을 제공해야 할 수도 있습니다. 다음 예를 참조하십시오.

if(AFR_IS_TESTING) set(exe_target aws_tests)else() set(exe_target aws_demos)endif()

set(CMAKE_EXECUTABLE_SUFFIX ".elf")add_executable(${exe_target} "${board_dir}/application_code/main.c")

그런 다음 target_link_libraries를 호출하여 사용 가능한 CMake 데모 또는 테스트 대상을 실행 가능한 대상에 연결합니다.

Note

데모 및 테스트를 활성화하려면 여전히 aws_demos/config_files/aws_demo_config.h 및aws_tests/config_files/aws_test_runner_config.h를 수정해야 합니다.

빌드 후 명령 실행

빌드 후 명령 실행에 대한 자세한 내용은 add_custom_command를 참조하십시오. 두 번째 서명을 사용합니다. 다음 예를 참조하십시오.

# This should run an external command "command --arg1 --arg2".add_custom_command( TARGET ${exe_target} POST_BUILD COMMAND "command" "--arg1" "--arg2")

Note

CMake는 디렉터리를 만들고 파일을 복사하는 등 플랫폼에 독립적인 많은 공통 작업을 지원합니다.CMake 명령줄 작업에 대한 자세한 내용은 CMake command-line tool reference를 참조하십시오.기본 제공 변수 ${CMAKE_COMMAND}를 사용하여 CMake 목록 파일에서 CMake 명령줄 도구를 참조할 수 있습니다.

16

Page 20: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서CMake를 사용하여 FreeRTOS 빌드

CMake를 사용하여 FreeRTOS 빌드CMake는 기본적으로 호스트 운영 체제를 대상 시스템으로 사용합니다. 교차 컴파일에 CMake를 사용하려면 사용할 컴파일러를 지정하는 도구 체인 파일을 제공합니다. freertos/tools/cmake/toolchains에서 몇 가지 예제를 찾아볼 수 있습니다.

FreeerTO와 함께 제공하는 것과 다른 컴파일러를 사용하는 경우 CMake로 FreeRTOS 를 빌드하기 전에 이 도구 체인 파일을 작성합니다. 또한 CMake에서 최상위 수준 CMakeLists.txt 파일을 읽기 전에CMAKE_TOOLCHAIN_FILE 변수를 설정해야 합니다. CMAKE_TOOLCHAIN_FILE 변수는 사용할 컴파일러를지정하고 시스템 이름 및 기본 검색 경로와 같은 일부 CMake 변수를 설정합니다. CMake를 사용한 교차 컴파일에 대한 자세한 내용은 공식 CMake wiki의 Cross Compiling을 참조하십시오.

CMakeLists.txt 및 도구 체인 파일은 올바른 위치에 있어야 합니다. CMake로 FreeRTOS 를 빌드하기 전에 로컬 시스템에 FreeRTOS OS 디렉터리 구조를 설정했는지 확인하십시오.GitHub. 자세한 내용은README.md 파일을 참조하십시오.

CMake 기반의 프로젝트를 빌드하려면

1. CMake를 실행하여 Make 또는 Ninja와 같은 네이티브 빌드 시스템용 빌드 파일을 생성합니다.

CMake 명령줄 도구 또는 CMake GUI를 사용하여 네이티브 빌드 시스템용 빌드 파일을 생성할 수 있습니다.

FreeRTOS 빌드 파일 생성에 대한 자세한 내용은 단원을 참조하십시오.빌드 파일 생성(CMake 명령줄도구) (p. 17)및빌드 파일 생성(CMake GUI) (p. 18).

2. 네이티브 빌드 시스템을 호출하여 프로젝트를 실행 파일로 만듭니다.

FreeRTOS 빌드생성된 빌드 파일에서 FreeRTOS 빌드 (p. 20).

빌드 파일 생성(CMake 명령줄 도구)CMake 명령줄 도구 (cmake) 를 사용하여 FreeRTOS 빌드 파일을 생성할 수 있습니다.

빌드 파일을 생성하려면 cmake를 실행합니다. DVENDOR 옵션의 경우 공급업체를 지정합니다. DBOARD 옵션의 경우 보드를 지정합니다. DCOMPILER 옵션의 경우 컴파일러를 지정합니다. S 옵션을 사용하여 소스 코드의 위치를 지정합니다. B 옵션을 사용하여 생성된 파일을 쓸 위치를 지정합니다.

Note

컴파일러는 시스템의 PATH 변수에 있어야 하며 그렇지 않은 경우 컴파일러의 위치를 지정해야 합니다.

예를 들어, 공급업체가 Texas Instruments이고 보드가 CC3220 Launchpad이며 컴파일러가 ARM용 GCC인경우, 다음 명령을 실행하여 현재 디렉터리에서 build-directory 디렉터리로 소스 파일을 빌드할 수 있습니다.

cmake -DVENDOR=ti -DBOARD=cc3220_launchpad -DCOMPILER=arm-ti -S . -B build-directory

Note

Windows를 사용하는 경우 CMake가 기본적으로 Visual Studio를 사용하기 때문에 네이티브 빌드시스템을 지정해야 합니다. 다음 예를 참조하십시오.

17

Page 21: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서CMake를 사용하여 FreeRTOS 빌드

cmake -DVENDOR=ti -DBOARD=cc3220_launchpad -DCOMPILER=arm-ti -S . -B build-directory -G Ninja

Or:

cmake -DVENDOR=ti -DBOARD=cc3220_launchpad -DCOMPILER=arm-ti -S . -B build-directory -G "Unix Makefiles"

정규 표현식 ${VENDOR}.* 및 ${BOARD}.*는 일치하는 보드를 검색하는 데 사용되므로 VENDOR 및 BOARD옵션에 대해 공급업체 및 보드의 전체 이름을 사용할 필요가 없습니다. 일치하는 항목이 하나만 있는 경우 이름의 일부만 사용해도 됩니다. 예를 들어, 다음 명령은 동일한 소스에서 동일한 빌드 파일을 생성합니다.

cmake -DVENDOR=ti -DCOMPILER=arm-ti -S . -B build-directory

cmake -DBOARD=cc3220 -DCOMPILER=arm-ti -S . -B build-directory

cmake -DVENDOR=t -DBOARD=cc -DCOMPILER=arm-ti -S . -B build-directory

기본 디렉터리 cmake/toolchains에 없는 도구 체인 파일을 사용하려면 CMAKE_TOOLCHAIN_FILE 옵션을 사용할 수 있습니다. 다음 예를 참조하십시오.

cmake -DBOARD=cc3220 -DCMAKE_TOOLCHAIN_FILE='/path/to/toolchain_file.cmake' -S . -B build-directory

도구 체인 파일이 컴파일러에 대한 절대 경로를 사용하지 않고 컴파일러를 PATH 환경 변수에 추가하지 않은 경우 CMake가 해당 경로를 찾을 수 없습니다. CMake가 도구 체인 파일을 찾을 수 있게 하려면AFR_TOOLCHAIN_PATH 옵션을 사용합니다. 이 옵션은 bin 아래에서 지정된 도구 체인 디렉터리 경로와 도구 체인의 하위 폴더를 검색합니다. 다음 예를 참조하십시오.

cmake -DBOARD=cc3220 -DCMAKE_TOOLCHAIN_FILE='/path/to/toolchain_file.cmake' -DAFR_TOOLCHAIN_PATH='/path/to/toolchain/' -S . -B build-directory

디버깅을 활성화하려면 CMAKE_BUILD_TYPE을 debug로 설정합니다. 이 옵션을 활성화한 경우 CMake는디버그 플래그를 컴파일 옵션에 추가하고 디버그 기호로 FreeRTOS 를 빌드합니다.

# Build with debug symbolscmake -DBOARD=cc3220 -DCOMPILER=arm-ti -DCMAKE_BUILD_TYPE=debug -S . -B build-directory

CMAKE_BUILD_TYPE을 release로 설정하여 컴파일 옵션에 최적화 플래그를 추가할 수도 있습니다.

빌드 파일 생성(CMake GUI)CMake GUI를 사용하여 FreeRTOS 빌드 파일을 생성할 수 있습니다.

CMake GUI를 사용하여 빌드 파일을 생성하려면

1. 명령줄에서 cmake-gui를 실행하여 GUI를 시작합니다.2. Browse Source(소스 찾아보기)를 선택하고 소스 입력을 지정한 다음 Browse Build(빌드 찾아보기)를 선

택하고 빌드 출력을 지정합니다.

18

Page 22: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서CMake를 사용하여 FreeRTOS 빌드

3. 구성을 선택하고 Specify the build generator for this project(이 프로젝트에 대한 빌드 생성기 지정)에서생성된 빌드 파일을 빌드하는 데 사용할 빌드 시스템을 찾아서 선택합니다.

4. Specify toolchain file for cross-compiling(교차 컴파일을 위한 도구 체인 파일 지정)을 선택하고 다음을선택합니다.

5. 도구 체인 파일(예: freertos/tools/cmake/toolchains/arm-ti.cmake)을 선택하고 완료를 선택합니다.

FreeRTOS 의 기본 구성은 이동식 계층 대상을 제공하지 않는 템플릿 보드입니다. 결과적으로 Error inconfiguration process 메시지와 함께 창이 나타납니다.

6. GUI는 이제 다음과 같아야 합니다.

19

Page 23: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서CMake를 사용하여 FreeRTOS 빌드

AFR_BOARD를 선택하고 보드를 선택한 다음 구성을 다시 선택합니다.7. 생성을 선택합니다. CMake는 빌드 시스템 파일(예: makefiles 또는 ninja 파일)을 생성하며, 이러한 파일

은 첫 번째 단계에서 지정한 빌드 디렉터리에 나타납니다. 다음 단원의 지침에 따라 이진 이미지를 생성합니다.

생성된 빌드 파일에서 FreeRTOS 빌드출력 바이너리 디렉터리에서 빌드 시스템 명령을 호출하여 네이티브 빌드 시스템으로 FreeRTOS 를 빌드할수 있습니다. 예를 들어, 빌드 파일 출력 디렉터리가 build이고 네이티브 빌드 시스템으로 Make를 사용하는경우 다음 명령을 실행하세요.

cd build-directorymake -j4

CMake 명령줄 도구를 사용하여 FreeRTOS 를 빌드할 수도 있습니다. CMake는 네이티브 빌드 시스템을 호출하기 위한 추상 계층을 제공합니다. 다음 예를 참조하십시오.

20

Page 24: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서오픈 소스 라이선스

cmake --build build-directory

다음은 CMake 명령줄 도구의 빌드 모드를 사용하는 몇 가지 일반적인 사례입니다.

# Take advantage of CPU cores.cmake --build build-directory --parallel 8

# Build specific targets.cmake --build build-directory --target afr_kernel

# Clean first, then build.cmake --build build-directory --clean-first

CMake 빌드 모드에 대한 자세한 내용은 CMake 설명서를 참조하십시오.

코드에 대한 오픈 소스 라이선스 제공검증을 위해 이식된 FreeRTOS 코드에 대한 오픈 소스 라이선스를 제공합니다. 사용할 라이선스를 결정하려면 Open Source Initiative 웹 사이트의 License and Standards를 참조하십시오.

21

Page 25: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서

FreeRTOS 검증 체크리스트다음 체크리스트를 사용하여 검증 항목을 추적할 수 있습니다.

이러한 각 항목을 전달해야AWS파트너 디바이스 카탈로그.

• FreeRTOS 를 디바이스로 포팅하기 위해 수행해야 하는 단계를 검토합니다. 이러한 단계는 요약된FreeRTOS 이식 순서도. 자세한 내용은 단원을 참조하십시오.FreeRTOS 이식 안내서.• FreeRTOS 검증 커널 아키텍처를 이식해야 하며 자체적으로 수정할 수 없습니다. 자세한 내용은 단원을

참조하십시오.FreeRTOS 커널 포트 구성의FreeRTOS 이식 안내서.• 다음을 사용하여 FreeRTOS 포트 유효성 검사AWS IoT디바이스 테스터

• DQP (Device Qualification Portal) 제출 시 성공적인 IDT 로그 (하나의 로그로 전달되는 모든 테스트 그룹 포함) 가 필요합니다.

• 모든 검증 제출은 APN Partner Central의 Device Listing Portal을 통해 이루어져야 합니다.• Hello World 데모를 만듭니다.

• Hello World 데모 설정 (p. 5)를 참조하십시오.• 만들기시작 안내서(GSG) 를 위한

• 디바이스용 FreeRTOS 안내서 만들기 (p. 7)를 참조하십시오.• 코드와 함께 적절한 오픈 소스 라이선스 텍스트 파일을 만들어 배치합니다.

• FreeRTOS 아래에 배포됩니다.MIT 라이선스.• 코드를 다운로드할 수 있는 액세스 가능한 위치를 제공합니다.

• GitHub 저장소를 사용하는 것이 좋지만 개인 GitHub 저장소를 사용하지 않는 것이 좋습니다. 공식 회사GitHub 저장소를 사용하십시오.

• 난수 생성기 (RNG) 와 관련하여 다음과 같은 위협을 완화합니다.• 무단 데이터 공개를 초래할 수 있는 네트워크 스푸핑 및 중간자 (man-in-the-middle) 공격의 위험을 완

화하기 위해 FreeRTOS 검증에 진정한 하드웨어 난수 생성기 (TRNG) 가 필요합니다. TRNG는 DHCP,DNS, TCP/IP, TLS와 같은 프로토콜을 구현하는 FreeRTOS 라이브러리에서 권장됩니다. NIST에서 게시한 지침에 따라 보드의 TRNG는 FreeRTOS 에서 표준 구현 CTR_DRBG의 엔트로피 소스로 사용합니다. 자세한 내용은 50페이지를 참조하세요.분류: NIST.

NIST SP 800-90B 설명에 따라 TRNG는 링 진동자와 같이 “독립적이고 동일하게 분산된"(IID) 샘플(섹션5)을 생성하는 “물리적 노이즈 소스"(섹션 2.2.1)입니다.

• BOM 비용을 관리하기 위해 일부 고객 사용 사례에 대한 특정 보드에는 전용 TRNG가 없습니다. 이러한 보드를 검증하는 경우 파일의 헤더에 다음 권고 사항을 추가하십시오.core_pkcs11.h를 위해 포팅한분류: 코어포즈API. 유사한 보드의 예제는 변경 로그를 참조하십시오.

Note

보안 모범 사례를 위해 무작위로 결정되고FreeRTOS 검증 체크리스트. 실리콘 공급업체에서이 파일에 제시한 난수 생생기 방법은 본질적으로 무작위가 아닙니다. 구현 방법에 대한 자세한내용은 실리콘 공급업체에 문의하십시오.

• OTA를 받을 자격이 있는 경우OTA 라이브러리 이식의FreeRTOS 이식 안내서.

FreeRTOS 의 LTS (장기 지원) 버전을 지원하는 것으로 지정하려면AWS파트너 디바이스 카탈로그에서매니페스트 파일을 제공해야 합니다. 이는 표준 자격에 필요하지 않습니다. LTS 버전의 FreeRTOS 를사용해야 하며manifest.yml파일을 루트 디렉터리에 추가합니다. 매니페스트 파일에 대한 요구 사항은FreeRTOS 매니페스트 파일 지침 (p. 23)로 제공되며 템플릿은예: .yml (p. 25). FreeRTOS 저장소에는 기본적으로 호환되는 매니페스트 파일이 포함되어 있습니다.

온라인 구성 마법사에 나열하려면 APN 담당자에게 연락하여 다음 항목을 제공하십시오.

22

Page 26: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서매니페스트 파일

• CMake 목록 파일을 만들고 이 파일로 테스트 및 데모 애플리케이션을 빌드합니다.• 지침은 플랫폼용 CMakeLists.txt 파일 생성 (p. 9)을 참조하십시오.

Note

CMake 목록 파일은 보드를 검증할 필요가 없습니다.AWS디바이스 검증 프로그램. 이 파일은FreeRTOS 콘솔의 디바이스 나열에만 필요합니다.

• 디바이스에 대한 다음 하드웨어 정보를 제공합니다.• 최적화를 위한 컴파일러 옵션입니다.• 지원되는 최신 버전 번호와 함께 지원되는 IDE입니다.• 대상 실행 파일을 빌드하기 위한 CLI 명령입니다.• 대상을 플래시하기 위한 CLI 명령입니다.

FreeRTOS 매니페스트 파일 지침모든 LTS 기반 FreeRTOS 프로젝트에 매니페스트 파일이 필요합니다. 이 파일은 고객이 사용 중인 종속성버전, LTS인 라이브러리 및 고객이 소프트웨어를 보다 빠르게 평가하고 사용할 수 있도록 도와주는 기타 메타데이터를 구분할 수 있도록 도와줍니다.

파일은 다음 요구 사항을 충족해야 합니다.

• 명명 된manifest.yml

• 에 배치freertos/vendors/vendor/boards/board/directory• YAML 형식으로하고YAML 1.2 사양

매개 변수는 순서에 관계없이 사용할 수 있지만 최적의 가독성을 위해 아래 나열된 순서대로 매개 변수를 배치하는 것이 좋습니다. 고객이 패키지를 사용하거나 이해하는 데 도움이 되는 설명을 파일에 추가합니다.

파일 경로

패키지 또는 라이브러리의 루트에 있습니다. 패키지 당 매니페스트 하나만 있습니다. 가져온 종속성에는자체 매니페스트 파일이 있을 수 있습니다.

Parametersname

패키지의 이름입니다. 모든 공백은 밑줄 (_) 로 교체해야 합니다. 예,My project name - 2020로변경해야 합니다.My_project_name_-_2020.• 유형: 문자열• 필수: true• MinLength: 1• MaxLength 40

version

패키지의 버전입니다. 버전은 릴리스 버전 또는 버전 태그일 수 있습니다.• 유형: 문자열• 필수: true• MinLength: 1• MaxLength 30

description

패키지에 대한 사람이 읽을 수 있는 설명입니다. 설명은 패키지가 무엇인지, 무엇을 제공하는지 명확하게 설명해야합니다.

23

Page 27: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서매니페스트 파일

• 유형: 문자열• 필수: true• MinLength: 30• MaxLength 255

dependencies

사용자가이 패키지를 성공적으로 빌드하는 데 필요하며 Git, Subversion 또는 Mercurial 소스 코드호스트에서 검색 할 수있는 모든 첫 번째 수준 종속성 목록입니다. Git, SVG 또는 hg를 통해 사용할수없는 종속성을 포함하지 마십시오. 테스트, 문서 생성 또는 개발에 사용되는 종속성을 포함하지마십시오. 일반 대중에게 좋은 환경을 제공하려면 게이트 또는 비공개 종속성을 나열하지 않는 것이좋습니다.• 형식: 배열• 필요: false• MinLength: 0종속성 [] .name

종속성의 패키지 이름입니다. 이것은 종속성의name파라미터.• 유형: 문자열• 필수: true• MinLength: 1• MaxLength 40

종속성 [] .버전

종속성의 버전입니다. 버전은 릴리스 버전 또는 버전 태그일 수 있습니다. 패키지 자체에 종속성이 포함되어 있는 경우 버전은 종속성에 있는 매니페스트 파일과 일치해야 합니다.• 유형: 문자열• 필수: true• MinLength: 1• MaxLength 30

종속성 [] .저장소

종속성 소스 코드의 위치를 설명합니다.• 형식: 사전• 필수: true

종속성 [] .저장소.유형

리포지토리 유형입니다.• 유형: 문자열• 필수: true• 열거 형: [자식, svn, hg]

종속성 [] .저장소.url

리포지토리 위치의 URL입니다. 프로토콜 접두사가 있는 전체 URL이어야 합니다 (예: https://github.com/모모 모모/REPO_NAME).• 유형: 문자열• 필수: true

종속성 [] .저장소.분기

사용되는 종속성의 분기입니다. 패키지가 기본 기본 기본 분기를 사용하는 경우 매니페스트의길이를 최소한으로 유지하기 위해이 매개 변수를 포함하지 마십시오.• 유형: 문자열

24

Page 28: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서매니페스트.yml

• 필요: false라이선스

라이브러리의 SPDX 라이센스 식별자입니다. 전체 목록은 단원을 참조하십시오.https://spdx.org/licenses/. 그것은 일치해야 합니다.LICENSE파일이 있는 경우 저장소의 루트에 포함되어 있습니다.• 유형: 문자열• 필수: true

예: .yml---# This is an example of the manifest file that is included at the root of all FreeRTOS repos.

name : "Project_Name"version: "202012.00-LTS"description: "Clear concise description of this project."

dependencies: - name: "dependency_1" version: "v1.0.0" repository: type: "git" url: "https://github.com/account/dependency_1" branch: "1.x" - name: "dependency_2" version: "v1.0.1_LTS" repository: type: "git" url: "https://github.com/account/dependency_1"

license: "MIT"

25

Page 29: FreeRTOS - 검증 안내서 · 2020. 11. 21. · FreeRTOS 검증 안내서 검증 FAQ Amazon 파트너 네트워크에 속해 있으면 AWS Device Qualification Program을 사용하여

FreeRTOS 검증 안내서

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

xxvi