프로젝트

나도 메이커! 메이커스 여러분들의 작품/프로젝트를 공유하는 공간입니다.

mbed 사용해보기

2015-09-04 08:28:14

mbed란?

 

영국의 ARM사가 주도하고 있는 Mbed는 ARM-cortex기반의 MCU를 사용하여 IoT제품이나 여러 전자제품의 프로토타이핑을 쉽게 제작하기 위한 플랫폼입니다.

아두이노와 같은 해에 시작하고 2009년에 베타서비스를 시작했지만 2013년에야 Mbed를 오픈하기로 결정하고 주변 디바이스, API, 기판 설계 데이터, 펌웨어 등을 공개하면서 주목받기 시작하였습니다.

기존에는 Arduino라는 가볍고 쉬운 AVR이 존재했지만 ARM계열에서는 Arduino Due말고는 가볍고 쉬운 AVR은 없었고 대부분 전문 컴파일러를 사용하여 제작하였기 때문에 전문가가 아니면 사용하기가 어려웠던것이 사실입니다.

그렇기 때문에 ARM에서도 아두이노와 같이 접근성이 좋고 빠르게 개발이 가능하도록 만든 소프트웨어가 Mbed입니다.

 

 

 

아직까지 국내에서는 Arduino보다 인지도가 적은편이지만 아두이노보다 더 좋은 성능으로 IoT개발 보드 시장 영역을 넓혀가고 있습니다.

 

 

mbed의 장점과 단점

 

mbed는 아두이노와 달리 기본적으로 기본적으로 MCU의 성능이 아두이노보다 좋기 때문에 고성능으로 더 높은 사양대를 커버할 수 있습니다.

 

 

 

또 가장 큰 강점인 온라인 컴파일러를 제공하기 때문에 별다른 프로그램 설치가 없더라도 인터넷이 되는 곳이면 어디든지 ARM mbed 사이트에서 Web-IDE를 통해 mbed 프로그래밍이 가능합니다. 온라인에서 작업환경이 꾸려지기 때문에 라이브러리 또한 온라인으로 제공되며 업데이트 또한 자동으로 쉽게 적용되는것도 장점입니다.

이러한 Web-IDE를 통해 라이브러리와 여러 유저들의 릴리즈된 소스들이 자유롭게 공유되기 때문에 개발자들은 rapid Prototyping이 가능하며, mbed사이트에서 IoT device개발부터 Cloud 서비스 테스트까지 할 수 있다는 점이 가장 큰 장점입니다.

개인프로젝트가 아닌 여러명의 협업 프로젝트의 경우 온라인으로 코드가 공유되기 때문에 손쉬운 작업이 가능 합니다.

 

하지만 아두이노에 비해 상대적으로 유저가 적다는 점은 단점입니다. 온라인 컴파일러에서 브레이크 포인터를 사용하여 스텝별 실행 및 내부 레지스터, 변수 등의 디버깅은 불가능 하고 프로그램 업로드 방식에 있어서도 파일을 추출하고 이 파일을 다시 엠베드에 업로드 시켜야하는 상대적으로 아두이노에 비해 귀찮은 과정을 가지고 있는거 또한 단점으로 볼 수 있습니다.
 

 

FreeScale의 FRDM-K64F보드

 

프리스케일의 FRDM-K64F보드는 키네티스 시리즈에 속하는 제품으로 MBED플랫폼에 속하는 제품입니다.

 키네티스(Kinetis) K 시리즈 MCU는 웨어러블 제품, 게임기, IoT 게이트웨이 및 단말기, POS 시스템, 스마트 그리드 인프라, 홈 오토메이션 제품, 공장 자동화 시스템 등 저전력의 처리 효율이 뛰어난 광범위한 임베디드 애플리케이션을 대상으로 합니다.

 

ARM사의 cortex-M4를 MCU로 사용하고 있으며 IoT에서 가장 중요한 화두인 전력문제에 있어서 저전력기술을 활용함으로써, 100 ~ 180MHz로 동작하는 동안 매우 낮은 동적 전력 사용량을 제공하며, 경쟁사 유사제품에 비해 7배 낮은 정적 소비 전력을 보여줍니다. 

FRDM-K64F제품말고도 프리스케일에서는 수십, 수백여개의 IoT지원 디바이스를 생산하기 때문에 다양한 모듈을 사용하여 여러가지 IoT제품군을 개발 및 제작할 수 있는 보드입니다.

 

mbed 시작하기

 

mbed.org는 약 7만명의 mbed 개발자들로 구성된 커뮤니티 웹사이트로서, 하드웨어 개발 킷, 재사용 가능한 소프트웨어 컴포넌트 저장소, 레퍼런스 어플리케이션, 문서 및 웹 기반 개발 툴을 포함한 포괄적인 데이터베이스를 제공하며 아래와 같이 안정적으로 운영되고 있습니다.

- 작년 한 해 동안 약 100만개의 프로젝트 진행,
- 30개 이상의 공식 게시판 개설
- 8년간 IoT 서버 및 6LowPan 제품 관련 제품화
- 24/7 클라우드 서비스 관련 5년 이상의 운용
- 9,000개 이상의 프로젝트 발표

 

 

먼저 https://developer.mbed.org/에 접속합니다.

접속해서 compiler를 사용하기 위해서는 로그인이 필요합니다. 빨간상자를 클릭해서 로그인을 시도합니다.

 

 

 

기존에 아이디가 존재하는 사용자는 그냥 로그인을 하면 되지만 아이디가 없는 사용자는 아래의 signup 버튼을 클릭하여 회원가입을 진행합니다.

회원가입 과정은 간단하기 때문에 1~2분 이내로 완료할 수 있습니다.

회원가입을 완료하면 로그인을 합니다.

 

 

 

로그인을 진행하면 메인화면에서 컴파일러 버튼을 클릭합니다.

 

 

 

오른쪽 상단의 빨간색 상자를 클릭합니다.

사실 저 위치는 mbed의 device를 선택하는 버튼입니다. 저 같은 경우는 freescale보드를 사용하였기 때문에 그 보드 이름인 FRDM-K64F가 선택되었지만 초기 사용자는 저 위치에 No Device Selected라고 적혀 있습니다.

mbed를 사용하기 위해서는 사용하는 디바이스를 선택해주어야 합니다.

 

 

 

Add Platform을 클릭하여 자신이 사용하는 mbed보드를 선택합니다.

 

 

 

클릭하면 mbed를 지원하는 여러 보드를 볼 수 있습니다. 이 중에서 자신이 현재 사용하는 보드를 선택하면 됩니다.

 

 

 

자신이 사용하는 보드까지 선택했다면 이제 아래 사진과 같이 오른쪽 상단에는 선택한 보드의 이름이 뜨게 됩니다.

보드 선택까지 끝났다면 이제는 New버튼을 눌러 파일을 만듭니다.

 

 

 

New 버튼을 누르면 아래와 같은 창을 볼 수 있습니다.

가장 기본적인 예제를 실행해 봅시다. OK버튼을 클릭합니다.

 

 

 

코드를 열고 컴파일 버튼을 눌러줍니다.

컴파일을 간단히 설명하자면 고급언어로 작성된 코드를 기계가 읽을 수 있는 저급언어로 바꿔주는 역할을 하는 프로그램을 말합니다.

여기서는 Web-IDE에서 작성된 아래의 코드를 고급언어라 하고 이 언어를 mbed가 알아들을 수 있게 하는 프로그램을 컴파일이라 합니다.

 

 

 

컴파일 버튼을 누르면 아래 과정을 거쳐 파일을 생성합니다.

 

 

 

생성된 파일입니다. 이 파일을 mbed와 연결하였을 때 생기는 드라이브에 넣어주시고 리셋버튼을 클릭하면 업로드가 완료됩니다.

 

 

 

아래 사진은 MBED를 연결했을 때 볼 수 있는 외장 드라이브입니다. 이 곳에 위 파일을 넣어주시면 됩니다.

 

 

수박쨈

mbed, ARM, freescale, freedom board, cortex