[IoT] 또하나의 IoT 플랫폼 ARM M-bed를 소개합니다.

M-bed를 먼저 소개하기전에 ARM이라는 회사에 대해 간략하게 소개를 드리려고 합니다.

ARM은 (Advanced RISC Machine) 약자이며 1985년 영국 캠브릿지 대학의 연구진들이 시작한 벤처 기업으로 시작한 회사입니다. ARM은 반도체 회사지만 반도체를 직접 만들지 않는 팸리스 회사이며, MCU의 아키텍처 개발만 하는 전문 회사입니다.

 

타 반도체 회사에서 ARM IP(아키텍처)를 갖고 자신만의 반도체를 만드는 회사가 대표적으로 TI, STM, 삼성, 프리스케일, Nvidia, 퀄컴 등이 있습니다. 그리고, ARM2016년에 일본 소프트뱅크에서 36조원 전액 현금으로 인수한 회사 이기도 합니다.

 

ARM은 우리가 갖고 있는 스마트폰 안에 사용되고 있는 반도체들은 ARM Architecture로 만들어진 반도체로 이루어져 있습니다. 스마트폰의 메인 반도체로는 삼성전자 엑스녹스, 애플 A Series, 퀄컴 스냅드레곤 같은 AP들이 ARM IP를 사용 되어지고 있습니다. 통계적으로 전세계 스마트폰의 90% 이상이 ARM 반도체로 만들어져 있습니다.

 

 

 

스마트폰 뿐만 아니라, 태블릿, 스마트 와치, 저장장치 컨트롤러, 차량용 메인 컨트롤러, 무선통신기기등 다양한 사업군의 기기에서 ARM 반도체로 사용되고 있는데, 다양한 산업군에 사용되고 있는 ARM Architecture의 종류로는 Cortex A, Cortex R, Cortex M 포트폴리오로 갖고 있습니다.

 

Cortex-A Application Processor로 구동될 수 있는 OS로는 Linux, Android, MS Windows등 구동시킬 수 있는 고성능 프로세서 입니다.

Cortex-RRealtime로 실시간 프로세서 용도인 하드디스크 컨트롤러, 자동차 파워 트레인과 무선 통신의 데이터를 실시간 처리가 가능한 프로세서 입니다.

Cortex-M MicroController로 저전력으로 설계되어 소형 IoT제품에 사용되고 Embedded MCU 입니다.

 

Cortex-M를 구동시킬 수 있는 OSMbed OS 입니다.

 

 

[이미지 출처 : ARM]

 

 

Mbed OS는 단수 RTOS가 아닌, IoT를 위한 Platform이라고 말씀 드리고 싶습니다. Embedded RTOS는 타사에도 비슷하게 제공해 주고 있습니다. 하지만 예를 들어 무료 OS, 상업용 OS 또는 Vendor사에서 제공해주는 SDK를 가지고 개발을 진행해야 한다면, 이 소프트웨어는 기본적으로 RTOS Kernel 부분만 제공 되는게 일반적입니다. 나머지 부분인 보안이나, 파일시스템은 ThirdParty를 이용해야 하며, 네트웍 연결을 위해서 Cellular, WiFi, GPS 기능들은 새롭게 개발 해야 합니다.

 

그리고 특정 클라우드 서비스 이용하려면 해당 클라우드 종속적인 Library Porting해야 합니다. 말하자면, RTOS Kernel 이외의 부분들을 Thirdparty, Vendor, 신규 개발건으로 Porting 해야 하는 많은 어렵이 접하게 됩니다.

 

하지만, Mbed OS는 이런 어려운 부분들을 실리콘 Vendor Component Vendore들과 함께 Ecosystem를 통해 유기적으로 Mbed OS 만들어 놓았으며, 무료로 사용 가능합니다.

 

 

 

 

기본적으로 Cortex-M RTOS Kernel 제공하고 있으며, 이 말은 Keil CMSIS를 사용하고 있기 때문에 Cortex-M위한 RTOS라고 보시면 됩니다. 150여개 되는 EVM Board 지원하고 있으며, 10개가 되는 실리콘밴더사들과 유기적으로 협업하여 유연하게 드라이버들을 제공 하고 있습니다. 보안적으로 본다면 Mbed OS에서 가장 많은 부분 차지 하고 있으며, TLS보안 솔루션을 사용하고 있습니다.

 

또한, Mbed OS는 다양한 네트웍 연결을 위해서 Ethernet, WIFI, Cellular, BLE, LoRaWan등 다양한 Connectivity Stack를 포함하고 있습니다. Device관리는 위해서 Mbed Cloud Client가 포함 되어 있어 ARM Pelion Device Management와 연동이 가능합니다.

 

소프트웨어 개발을 위해서 다양한 개발 툴 기본적인 제공해 주며 Compiler은 사용자의 개발 환경에 따라 Windows, MAC, Linux 환경을 제공해 주고 있습니다. Mbed OSARM 혼자서 개발 되고 유지 되는 것이 아니라, 70여개의 벤더사 들이 참여 하는 Partner Ecosystem를 통해 Mbed OS 개발에 긴밀하게 참여하고 있습니다.

 

 

 

 

40만명이 되는 일반 개발자 활동과 함께 Mbed OS를 유지 하고 있습니다. 이러한 Mbed OSOpen source 기반인 Apache 2.0 License 이므로 Source 수정과 재배포 가능하며 소스코드를 공개할 의무가 없어 상업적으로 제안을 두지 않으며, Mbed OSMbed.com 사이트 통해 자유럽게 무상으로 Download를 받을 수 있습니다.