

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

# 기술 참조
<a name="managedintegrations-sdk-device-appendix"></a>

**Topics**
+ [참조: 지원되는 플랫폼](#managedintegrations-sdk-device-appendixA)
+ [참조: 기술 요구 사항](#managedintegrations-sdk-device-appendixB)
+ [참조: 공통 API](#managedintegrations-sdk-device-appendixC)

## 참조: 지원되는 플랫폼
<a name="managedintegrations-sdk-device-appendixA"></a>

다음 표에는 SDK에 지원되는 플랫폼이 나와 있습니다.


**지원하는 플랫폼**  

| 플랫폼 | 아키텍처 | 운영 체제 | 
| --- | --- | --- | 
| Linux x86\_64 | x86\_64 | Linux | 
| Ambarella | ARMv8(AArch64) | Linux | 
| AmebaD | Armv8-M 32비트 | FreeRTOS | 
| ESP32S3 | Xtensa LX7 32비트 | FreeRTOS | 

## 참조: 기술 요구 사항
<a name="managedintegrations-sdk-device-appendixB"></a>

다음 표에는 RAM 공간을 포함한 SDK의 기술 요구 사항이 나와 있습니다. End 디바이스 SDK 자체는 동일한 구성을 사용할 때 약 5\~10MB의 ROM 공간이 필요합니다.


**RAM 공간**  

| SDK 및 구성 요소 | 스페이스 요구 사항(사용된 바이트) | 
| --- | --- | 
| 디바이스 SDK 자체 종료 | 180KB | 
| 기본 MQTT 에이전트 명령 대기열 | 480바이트(구성 가능) | 
| 기본 MQTT 에이전트 수신 대기열 | 320바이트(구성 가능) | 

## 참조: 공통 API
<a name="managedintegrations-sdk-device-appendixC"></a>

이 섹션은 클러스터에만 국한되지 않는 API 작업 목록입니다.

```
/* return code for data model related API */
enum iotmiDev_DMStatus
{
  /* The operation succeeded */
  iotmiDev_DMStatusOk = 0,
  /* The operation failed without additional information */
  iotmiDev_DMStatusFail = 1,
  /* The operation has not been implemented yet. */
  iotmiDev_DMStatusNotImplement = 2,
  /* The operation is to create a resource, but the resource already exists. */
  iotmiDev_DMStatusExist = 3, 
}

/* The opaque type to represent a instance of device agent. */
struct iotmiDev_Agent;

/* The opaque type to represent an endpoint. */
struct iotmiDev_Endpoint;

/* A device agent should be created before calling other API */
struct iotmiDev_Agent* iotmiDev_create_agent();

/* Destroy the agent and free all occupied resources */
void iotmiDev_destroy_agent(struct iotmiDev_Agent *agent);

/* Add an endpoint, which starts with empty capabilities */
struct iotmiDev_Endpoint* iotmiDev_addEndpoint(struct iotmiDev_Agent *handle, uint16 id, const char *name);

/* Test all clusters registered within an endpoint.
   Note: this API might exist only for early drop. */
void iotmiDev_testEndpoint(struct iotmiDev_Endpoint *endpoint);
```