

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

# Amazon-FreeRTOS Github 리포지토리 마이그레이션 가이드
<a name="github-repo-migration"></a>

 현재 사용되지 않는 amazon-freertos 리포지토리를 기반으로 하는 기존 FreeRTOS 프로젝트가 있는 경우 다음 단계를 따릅니다.

1.  공개적으로 사용 가능한 최신 보안 수정을 확인합니다. [FreeRTOS LTS 라이브러리](https://www.freertos.org/lts-libraries.html) 페이지에서 업데이트를 확인하거나 [FreeRTOS-LTS](https://github.com/FreeRTOS/FreeRTOS-LTS) GitHub 리포지토리를 구독하여 중요 및 보안 버그 수정이 포함된 최신 LTS 패치를 받습니다. 필요한 최신 FreeRTOS LTS 패치를 개별 GitHub 리포지토리에서 직접 다운로드하거나 복제할 수 있습니다.

1.  네트워크 전송 인터페이스 구현을 리팩터링하여 하드웨어 플랫폼을 최적화하는 것을 고려합니다. 최신 [coreMQTT](https://www.freertos.org/mqtt/index.html) 라이브러리에는 [보안 소켓](https://docs.aws.amazon.com/freertos/latest/userguide/secure-sockets.html) 및 [Wifi API](https://docs.aws.amazon.com/freertos/latest/userguide/freertos-wifi.html)와 같은 추상 API가 필요하지 않습니다. 자세한 내용은 [트랜스포트 인터페이스](https://www.freertos.org/network-interface.html)를 참조하세요.

## 부록
<a name="appendix"></a>

다음 표에서는 Amazon-FreeRTOS 리포지토리 내의 모든 데모 프로젝트, 레거시 라이브러리 및 추상 API에 대한 권장 사항을 제공합니다.


**마이그레이션된 라이브러리 및 데모**  

| 이름 | Type | 권장 사항 | 
| --- | --- | --- | 
| **coreHTTP** | 데모 및 라이브러리 | [FreeRTOS Github 조직](https://github.com/FreeRTOS)의 [coreHTTP](https://github.com/FreeRTOS/coreHTTP) 리포지토리에서 직접 coreHTTP 라이브러리를 복제하거나 다운로드합니다(git을 사용하는 경우 하위 모듈 생성). coreHTTP 데모는 [기본 FreeRTOS 배포판](https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator)에 포함되어 있습니다. 자세한 내용은 [coreHTTP 페이지](https://www.freertos.org/http/index.html)를 참조하세요. | 
| coreMQTT | 데모 및 라이브러리 | [FreeRTOS Github 조직](https://github.com/FreeRTOS)의 [coreMQTT](https://github.com/FreeRTOS/coreMQTT) 리포지토리에서 직접 coreMQTT 라이브러리를 복제하거나 다운로드합니다(git을 사용하는 경우 하위 모듈 생성). coreMQTT 데모는 [기본 FreeRTOS 배포판](https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator)에 포함되어 있습니다. 자세한 내용은 [coreMQTT 페이지](https://www.freertos.org/mqtt/index.html)를 참조하세요. | 
| coreMQTT 에이전트 | 데모 및 라이브러리  | [FreeRTOS Github 조직](https://github.com/FreeRTOS)의 [coreMQTT-Agent](https://github.com/FreeRTOS/coreMQTT-Agent) 리포지토리에서 직접 coreMQTT 에이전트 라이브러리를 복제하거나 다운로드합니다(git을 사용하는 경우 하위 모듈 생성). coreMQTT 에이전트 데모는 [coreMQTT-Agent-Demos](https://github.com/FreeRTOS/coreMQTT-Agent-Demos) 리포지토리에 있습니다. 자세한 내용은 [coreMQTT-Agent 페이지](https://www.freertos.org/mqtt-agent/index.html)를 참조하세요. | 
| device\_defender\_for\_aws | 데모 및 라이브러리  |  AWS IoT Device Defender 라이브러리는 [AWS GitHub 조직의](https://github.com/AWS) 리포지토리에 있습니다. [AWS IoT 디바이스 디펜더](https://github.com/aws/Device-Defender-for-AWS-IoT-embedded-sdk) 리포지토리에서 직접 복제하거나 다운로드합니다(git을 사용하는 경우 하위 모듈 생성). AWS IoT Device Defender 데모는 [ 기본 FreeRTOS 배포](https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/AWS/Device_Defender_Windows_Simulator/Device_Defender_Demo)판에 있습니다. 자세한 내용은 [AWS IoT 디바이스 디펜더 페이지](https://www.freertos.org/iot-device-defender/index.html)를 참조하세요. | 
| device\_shadow\_for\_aws | 데모 및 라이브러리  |  AWS IoT 디바이스 섀도우 라이브러리는 [AWS GitHub 조직의](https://github.com/AWS) 리포지토리에 있습니다. [AWS IoT 디바이스 섀도우](https://github.com/aws/Device-Shadow-for-AWS-IoT-embedded-sdk) 리포지토리에서 직접 복제하거나 다운로드합니다(git을 사용하는 경우 하위 모듈 생성). AWS IoT 디바이스 섀도우 데모는 [ 기본 FreeRTOS 배포](https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/AWS/Device_Shadow_Windows_Simulator)판에 있습니다. 자세한 내용은 [AWS IoT 디바이스 섀도우 페이지](https://www.freertos.org/iot-device-shadow/index.html)를 참조하세요. | 
| jobs\_for\_aws | 데모 및 라이브러리  |  AWS IoT 작업 라이브러리는 [AWS GitHub 조직의](https://github.com/AWS) 리포지토리에 있습니다. [AWS IoT 작업](https://github.com/aws/Jobs-for-AWS-IoT-embedded-sdk) 리포지토리에서 직접 복제하거나 다운로드합니다(git을 사용하는 경우 하위 모듈 생성). AWS IoT Jobs 데모는 [ 기본 FreeRTOS 배포](https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/AWS/Jobs_Windows_Simulator/Jobs_Demo)판에 있습니다. 자세한 내용은 [AWS IoT 작업 페이지](https://www.freertos.org/iot-jobs/index.html)를 참조하세요. | 
| OTA | 데모 및 라이브러리  |  AWS IoT Over-The-Air(OTA) 업데이트 라이브러리는 [AWS GitHub 조직의](https://github.com/AWS) 리포지토리에 있습니다. [AWS IoT OTA](https://github.com/aws/ota-for-aws-iot-embedded-sdk) 리포지토리에서 직접 복제하거나 다운로드합니다(git을 사용하는 경우 하위 모듈 생성). AWS IoT OTA 데모는 [ 기본 FreeRTOS 배포](https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS-Plus/Demo/AWS/Ota_Windows_Simulator)판에 있습니다. 자세한 내용은 [AWS IoT OTA 페이지](https://www.freertos.org/ota/index.html)를 참조하세요. | 
| CLI 및 FreeRTOS\_Plus\_CLI  | 데모 및 라이브러리  | WinSim에서 실행되는 CLI 예제가 하나 있습니다. 자세한 내용은 [FreeRTOS 플러스 명령 라인 인터페이스](https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_CLI/FreeRTOS_Plus_Command_Line_Interface.html) 페이지를 참조하세요. [ NXP i.MX RT1060](https://github.com/FreeRTOS/iot-reference-nxp-rt1060/tree/main/examples/common/cli) 및 [ STM32U5](https://github.com/FreeRTOS/iot-reference-stm32u5/tree/main/Common/cli) 플랫폼용 추천 FreeRTOS IoT 참조 통합은 실제 하드웨어에 대한 CLI 예제도 제공합니다. | 
| 로깅  | 매크로 | 일부 FreeRTOS 라이브러리에서 사용하는 특정 하드웨어 플랫폼에 대한 로깅 매크로 구현이 있습니다. 로깅 매크로를 구현하는 방법은 [로깅 페이지](https://www.freertos.org/logging.html)를 참조하세요. 실제 하드웨어에서 실행되는 예제는 [FreeRTOS 추천 IoT 참조 중 하나](https://github.com/FreeRTOS/iot-reference-nxp-rt1060/tree/main/examples/common/logging)를 참조하세요. | 
| greengrass\_connectivity  | 데모 | [마이그레이션 진행 중]이 데모 프로젝트에서는 AWS IoT Greengrass 디바이스에 연결하기 전에 클라우드 연결을 사용할 수 있다고 가정했습니다. 로컬 인증 및 검색 기능을 시연하는 새 프로젝트가 개발 중입니다. 새 데모 프로젝트가 [FreeRTOS Github 조직](https://github.com/FreeRTOS)에 곧 게시될 예정입니다. | 


**더 이상 사용되지 않는 라이브러리 및 데모**  

| 이름 | Type | 권장 사항 | 
| --- | --- | --- | 
| BLE | 도구 및 라이브러리 | FreeRTOS BLE 라이브러리는 전용 MQTT 프로토콜을 구현하며 프록시 디바이스(예: 휴대폰)를 통해 Bluetooth Low Energy(BLE)를 이용한 MQTT 주제 게시 및 구독을 지원합니다. 더 이상 필수 사항이 아닙니다. 자체 BLE 스택이나 [NimBLE](https://mynewt.apache.org/latest/network/)과 같은 타사 옵션을 사용하여 프로젝트를 최적화하세요. | 
| dev\_mode\_key\_provisioning | 데모 | [NXP i.MX RT1060](https://github.com/FreeRTOS/iot-reference-nxp-rt1060/blob/main/examples/common/cli/cli.c), [ STM32U5](https://github.com/FreeRTOS/iot-reference-stm32u5/blob/main/Common/cli/cli_pki.c) 또는 [ ESP32-C3](https://github.com/FreeRTOS/iot-reference-esp32c3/blob/main/GettingStartedGuide.md) 플랫폼용 추천 FreeRTOS IoT 참조 통합은 CLI를 사용한 중요한 프로비저닝의 예를 제공합니다. | 
| posix | 추상화 및 데모 | 사용을 권장하지 않습니다. | 
| wifi\_provisioning | 예제 | 이 예제에서는 Amazon-FreeRTOS BLE 라이브러리를 사용하여 디바이스에서 WiFi 보안 인증 정보를 프로비저닝하는 방법을 보여줍니다. BLE를 통한 WiFi 프로비저닝의 예는 [ESP32C3 플랫폼](https://github.com/FreeRTOS/iot-reference-esp32c3)용 FreeRTOS 추천 IoT 참조를 참조하세요. | 
| 레거시 추상화 API | code | 이러한 API는 다양한 공급업체의 다양한 타사 소프트웨어 스택, 연결 모듈 및 MCU 플랫폼을 위한 추상 인터페이스를 제공하기 위해 작성된 인터페이스입니다. 예를 들어 WiFi 추상화, 보안 소켓 등을 위한 인터페이스가 있습니다. 이러한 인터페이스는 Amazon-FreeRTOS 리포지토리에서 지원되며 `/libraries/abstractions/` 폴더에 있습니다. [FreeRTOS LTS 라이브러리](https://www.freertos.org/lts-libraries.html)를 사용할 때는 이러한 API가 필요하지 않습니다. | 

위 표의 라이브러리 및 데모에는 보안 패치 또는 버그 수정이 제공되지 않습니다.

**타사 라이브러리**

Amazon FreeRTOS의 데모가 타사 라이브러리를 사용하는 경우 타사 리포지토리에서 직접 하위 모듈을 만드는 것이 좋습니다.
+ **CMock**: [Cmock](https://github.com/ThrowTheSwitch/CMock) 리포지토리에서 직접 복제합니다(git을 사용하는 경우 하위 모듈 생성).
+ **jsmn**: 권장되지 않으며 더 이상 지원되지 않습니다.
+ **lwip**: [lwip-tcpip](https://github.com/lwip-tcpip/lwip) 리포지토리에서 직접 복제합니다(git을 사용하는 경우 하위 모듈 생성).
+ **lwip\_osal**[: 하드웨어 플랫폼/보드에 lwip\_osal을 구현하는 방법은 [i.MX RT1060](https://github.com/FreeRTOS/iot-reference-nxp-rt1060) 또는 STM32U5](https://github.com/FreeRTOS/iot-reference-stm32u5)용 FreeRTOS 추천 참조 통합을 참조하세요.
+ **mbedtls**: [Mbed-TLS](https://github.com/Mbed-TLS/mbedtls) 리포지토리에서 직접 복제합니다(git을 사용하는 경우 하위 모듈 생성). mbedtls 구성 및 유틸리티는 재사용할 수 있습니다. 이 경우에는 로컬 복사본을 만드세요.
+ **pkcs11**: [corePKCS11](https://github.com/FreeRTOS/corePKCS11) 라이브러리 또는 [OASIS PKCS 11](https://github.com/oasis-tcs/pkcs11) 리포지토리에서 직접 복제합니다(git을 사용하는 경우 하위 모듈 생성).
+ **tinycbor**: [tinycbor](https://github.com/intel/tinycbor) 리포지토리에서 직접 복제합니다(git을 사용하는 경우 하위 모듈 생성).
+ **tinycrypt**: 가능한 경우 MCU 플랫폼의 암호화 가속기를 사용하는 것이 좋습니다. tinycrypt를 계속 사용하려면 [tinycrypt](https://github.com/intel/tinycrypt) 리포지토에서 직접 복제합니다(git을 사용하는 경우 하위 모듈 생성).
+ **tracealyzer\_recorder**: Percepio의 [트레이스 레코더](https://github.com/percepio/TraceRecorderSource) 리포지토리에서 직접 복제합니다(git을 사용하는 경우 하위 모듈 생성).
+ **unity**[: ThrowTheSwitch/Unity](https://github.com/ThrowTheSwitch/Unity) 리포지토리에서 직접 복제합니다(git을 사용하는 경우 하위 모듈 생성).
+ **win\_pcap**: win\_pcap은 더 이상 유지 관리되지 않습니다. 대신 libslirp, libpcap(posix) 또는 npcap을 사용할 것을 권장합니다.

**이식 테스트 및 통합 테스트**

FreeRTOS 라이브러리 통합을 검증하는 데 필요한 `/tests` 폴더 아래의 모든 테스트가 [FreeRTOS-Libraries-Integration-Tests](https://github.com/FreeRTOS/FreeRTOS-Libraries-Integration-Tests) 리포지토리로 마이그레이션되었습니다. 이러한 테스트를 사용하여 PAL 구현 및 라이브러리 통합을 테스트할 수 있습니다. AWS IoT 디바이스 테스터(IDT)는 [AWS FreeRTOS용 디바이스 검증 프로그램에](https://docs.aws.amazon.com/freertos/latest/qualificationguide/afr-qualification.html) 동일한 테스트를 사용합니다.