

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

# FreeRTOS 라이브러리
<a name="dev-guide-freertos-libraries"></a>

FreeRTOS 라이브러리는 FreeRTOS 커널 및 내부 라이브러리에 추가 기능을 제공합니다. 임베디드 애플리케이션의 네트워킹 및 보안을 위해 FreeRTOS 라이브러리를 사용할 수 있습니다. 또한 FreeRTOS 라이브러리를 사용하면 애플리케이션이 AWS IoT 서비스와 상호 작용할 수 있습니다. FreeRTOS에는 다음을 위한 라이브러리가 포함되어 있습니다.
+ MQTT 및 디바이스 섀도우를 사용하여 디바이스를 AWS IoT 클라우드에 안전하게 연결합니다.
+  AWS IoT Greengrass 코어를 검색하고 연결합니다.
+ Wi-Fi 연결을 관리합니다.
+ [FreeRTOS 무선 업데이트(OTA)](freertos-ota-dev.md)를 수신하고 처리합니다.

`libraries` 디렉터리에는 FreeRTOS 라이브러리의 소스 코드가 들어 있습니다. 라이브러리 기능의 구현을 지원하는 헬퍼 함수가 있습니다. 이 헬퍼 함수를 변경하지 않는 것이 좋습니다.

## FreeRTOS 이식 라이브러리
<a name="dev-guide-freertos-porting-libraries"></a>

다음 이식 라이브러리는 FreeRTOS 콘솔에서 다운로드할 수 있는 FreeRTOS 구성에 포함되어 있습니다. 이러한 라이브러리는 플랫폼에 따라 다릅니다. 라이브러리의 콘텐츠는 하드웨어 플랫폼에 따라 변경됩니다. 디바이스에 이러한 라이브러리를 이식하는 방법에 대한 자세한 내용은 [FreeRTOS 이식 안내서](https://docs.aws.amazon.com/freertos/latest/portingguide/)를 참조하세요.


**FreeRTOS 이식 라이브러리**  

| 라이브러리 | API 참조 | 설명 | 
| --- | --- | --- | 
| 블루투스 로우 에너지 |  [Bluetooth Low Energy API 참조](https://docs.aws.amazon.com/freertos/latest/lib-ref/html2/ble/index.html)  | FreeRTOS Bluetooth Low Energy 라이브러리를 사용하면 마이크로컨트롤러가 게이트웨이 디바이스를 통해 AWS IoT MQTT 브로커와 통신할 수 있습니다. 자세한 내용은 [블루투스 로우 에너지 라이브러리](freertos-ble-library.md) 단원을 참조하십시오. | 
| OTA(Over-the-Air) 업데이트 | [AWS IoT Over-the-air 업데이트 API 참조](https://docs.aws.amazon.com/embedded-csdk/latest/lib-ref/libraries/aws/ota-for-aws-iot-embedded-sdk/docs/doxygen/output/html/index.html) | FreeRTOS AWS IoT Over-the-air(OTA) 업데이트 라이브러리를 사용하면 FreeRTOS 디바이스에서 업데이트 알림을 관리하고, 업데이트를 다운로드하고, 펌웨어 업데이트의 암호화 확인을 수행할 수 있습니다.<br />자세한 내용은 [AWS IoT 무선(OTA) 라이브러리](ota-update-library.md) 단원을 참조하십시오. | 
| FreeRTOS\+POSIX | [FreeRTOS\+POSIX API 참조](https://freertos.org/Documentation/api-ref/POSIX/index.html) | FreeRTOS\+POSIX 라이브러리를 사용하여 POSIX 호환 애플리케이션을 FreeRTOS 에코시스템에 이식할 수 있습니다.<br />자세한 내용은 [FreeRTOS\+POSIX](https://freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_POSIX/index.html)를 참조하십시오. | 
| 보안 소켓 | [보안 소켓 API 참조](https://docs.aws.amazon.com/freertos/latest/lib-ref/html2/secure_sockets/index.html) | 자세한 내용은 [보안 소켓 라이브러리](secure-sockets.md) 단원을 참조하십시오. | 
| FreeRTOS\+TCP | [FreeRTOS\+TCP API 참조](https://freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/FreeRTOS_TCP_API_Functions.html) | FreeRTOS\+TCP는 FreeRTOS를 위한 확장 가능한 오픈 소스 및 스레드 세이프 TCP/IP 스택입니다.<br />자세한 내용은 [FreeRTOS\+TCP](https://freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/index.html)를 참조하십시오. | 
| Wi-Fi | [Wi-Fi API 참조](https://docs.aws.amazon.com/freertos/latest/lib-ref/html2/wifi/index.html) | FreeRTOS Wi-Fi 라이브러리를 사용하면 마이크로컨트롤러의 하위 수준 무선 스택과 연결할 수 있습니다.<br />자세한 내용은 [Wi-Fi 라이브러리](freertos-wifi.md) 단원을 참조하십시오. | 
| corePKCS11 |  | corePKCS11 라이브러리는 프로비저닝 및 TLS 클라이언트 인증을 지원하기 위한 퍼블릭 키 암호화 표준 \#11의 참조 구현입니다.<br />자세한 내용은 [corePKCS11 라이브러리](security-pkcs.md) 단원을 참조하십시오. | 
| TLS |  | 자세한 내용은 [전송 계층 보안](security-tls.md) 단원을 참조하십시오. | 
| 공통 I/O | 공통 I/O API 참조 | 자세한 내용은 [공통 I/O](common-io.md) 단원을 참조하십시오. | 
| 셀룰러 인터페이스 | 셀룰러 인터페이스 API 참조 | 셀룰러 인터페이스 라이브러리는 일관된 API를 통해 몇 가지 인기 있는 셀룰러 모뎀의 기능을 노출합니다. 자세한 내용은 [셀룰러 인터페이스 라이브러리](cellular-interface.md) 단원을 참조하십시오. | 

## FreeRTOS 애플리케이션 라이브러리
<a name="dev-guide-freertos-application-libraries"></a>

필요에 따라 FreeRTOS 구성에 다음과 같은 독립 실행형 애플리케이션 라이브러리를 포함하여 클라우드의 AWS IoT 서비스와 상호 작용할 수 있습니다.

**참고**  
일부 애플리케이션 라이브러리는 AWS IoT Device SDK for Embedded C의 라이브러리와 APIAPIs 동일합니다. 이러한 라이브러리는 [AWS IoT Device SDK C API 참조](https://docs.aws.amazon.com/freertos/latest/lib-ref/c-sdk/main/index.html)를 참조하세요. 임베디드 C용 AWS IoT 디바이스 SDK에 대한 자세한 내용은 섹션을 참조하세요[AWS IoT 임베디드 C용 디바이스 SDK](c-sdk.md).


**FreeRTOS 애플리케이션 라이브러리**  

| 라이브러리 | API 참조 | 설명 | 
| --- | --- | --- | 
| AWS IoT Device Defender |  [Device Defender C SDK API 참조](https://docs.aws.amazon.com/embedded-csdk/latest/lib-ref/libraries/aws/device-defender-for-aws-iot-embedded-sdk/docs/doxygen/output/html/index.html)  | FreeRTOS AWS IoT Device Defender 라이브러리는 FreeRTOS 디바이스를에 연결합니다 AWS IoT Device Defender.<br />자세한 내용은 [AWS IoT Device Defender 라이브러리](afr-device-defender-library.md) 단원을 참조하십시오. | 
| AWS IoT Greengrass | [Greengrass API 참조](https://docs.aws.amazon.com/freertos/latest/lib-ref/html1/aws__greengrass__discovery_8h.html)  | FreeRTOS AWS IoT Greengrass 라이브러리는 FreeRTOS 디바이스를에 연결합니다 AWS IoT Greengrass.<br />자세한 내용은 [AWS IoT Greengrass 검색 라이브러리](freertos-lib-gg-connectivity.md) 단원을 참조하십시오. | 
| MQTT | [MQTT(v1.x.x) 라이브러리 API 참조](https://docs.aws.amazon.com/freertos/latest/lib-ref/html1/aws__mqtt__lib_8h.html)<br />[MQTT(v1) 에이전트 API 참조](https://docs.aws.amazon.com/freertos/latest/lib-ref/html1/aws__mqtt__agent_8h.html)<br />[MQTT(v2.x.x) C SDK API 참조](https://docs.aws.amazon.com/freertos/latest/lib-ref/c-sdk/mqtt/index.html) | coreMQTT 라이브러리는 FreeRTOS 디바이스가 MQTT 주제를 게시 및 구독할 수 있도록 클라이언트를 제공합니다. MQTT는 디바이스가 상호 작용하는 데 사용하는 프로토콜입니다 AWS IoT.<br />coreMQTT 라이브러리 버전 3.0.0에 대한 자세한 내용은 [coreMQTT 라이브러리](coremqtt.md) 섹션을 참조하세요. | 
| coreMQTT 에이전트 | [coreMQTT 에이전트 라이브러리 API 참조](https://docs.aws.amazon.com/freertos/latest/lib-ref/embedded-csdk/libraries/standard/coreMQTT-Agent/docs/doxygen/output/html/index.html) | coreMQTT 에이전트 라이브러리는 coreMQTT에 스레드 안전성을 추가하는 상위 수준 API입니다. 이를 통해 백그라운드에서 MQTT 연결을 관리하고 다른 태스크의 개입이 필요 없는 전용 MQTT 에이전트 태스크를 생성할 수 있습니다. 이 라이브러리는 coreMQTT API와 동등한 스레드 안전 기능을 제공하므로 다중 스레드 환경에서 사용할 수 있습니다.<br />coreMQTT 에이전트 라이브러리에 대한 자세한 내용은 [coreMQTT 에이전트 라이브러리](coremqtt-agent.md) 섹션을 참조하세요. | 
| AWS IoT 디바이스 섀도우 | [디바이스 섀도우 C SDK API 참조](https://docs.aws.amazon.com/freertos/latest/lib-ref/html1/aws__shadow_8h.html) |  AWS IoT 디바이스 섀도우 라이브러리를 사용하면 FreeRTOS 디바이스가 AWS IoT 디바이스 섀도우와 상호 작용할 수 있습니다.<br />자세한 내용은 [AWS IoT 디바이스 섀도우 라이브러리](freertos-lib-cloud-shadows.md) 단원을 참조하십시오. | 

## FreeRTOS 라이브러리 구성
<a name="lib-config"></a>

FreeRTOS 및 임베디드 C용 AWS IoT 디바이스 SDK의 구성 설정은 C 프리프로세서 상수로 정의됩니다. 전역 구성 파일을 사용하거나 `gcc`의 `-D`와 같은 컴파일러 옵션을 사용하여 구성 설정을 지정할 수 있습니다. 구성 설정은 컴파일 시간 상수로 정의되어 있기 때문에 구성 설정이 변경되면 라이브러리를 다시 빌드해야 합니다.

전역 구성 파일을 사용하여 구성 옵션을 설정하려면 이름이 `iot_config.h`인 파일을 만들고 저장한 다음 이를 포함 경로에 추가합니다. 파일 내에서 `#define` 지시문을 사용하여 FreeRTOS 라이브러리, 데모 및 테스트를 구성합니다.

지원되는 전역 구성 옵션에 대한 자세한 내용은 [전역 구성 파일 참조](https://docs.aws.amazon.com/freertos/latest/lib-ref/c-sdk/main/global_library_config.html#IOT_CONFIG_FILE)를 참조하십시오.