2009년 8월 7일 금요일

mBed - 임베디드 프로토타이핑을 위한 최적의 보드

NXP Semiconductor가 ARM7 TDMI-S 기반의 LPC236x를 사용해서 mBed라는 재미있는 보드를 만들었다.


Circuit Cellar라는 잡지의 기사(위의 사진을 클릭하면 그 기사를 pdf로 볼 수 있다.)에서 발견하고 바로 구해보았다.


40핀 DIP form-factor(0.1" pitch, 0.9" pin spacing, 44mm x 26mm)에 LPC 236x, 512KB Flash, 32KB SRAM, 2KB NV SRAM 메모리를 가지고 있고 GPIO이외에도 위의 사진에서 볼 수 있는것처럼 매우 다양한 인터페이스를 가지고 있다. 특히 이더넷의 경우 별도의 추가 트랜스포머 없이 RJ-45에 직접 연결하면 된다. 전원 역시 외부에서 공급받는것 이외에 USB포트에서 공급받을 수도 있다.

이 보드의 가장 재미있는 부분은 펌웨어이다. 컴퓨터와 USB로 연결하면 컴퓨터는 이 보드를 USB디스크로 인식한다. 다운로드 하려는 바이너리 파일을 이 디스크에 복사해주고 리셋버튼을 누르면 그 이미지가 실행된다.

또한 웹기반의 개발환경을 제공하기 때문에 맥/윈도우/리눅스 모두에서 사용할 수 있다.



웹사이트(http://mbed.co.uk)의 우측 상단에 있는 Compiler라는 링크를 누르면 개발환경이 열린다.

새 프로그램을 추가하려면 My Programs에서 마우스 오른쪽 버튼을 클릭해 준다.

New Program...을 선택한다.

프로그램 이름을 넣어주고 OK 버튼을 눌러준다.

프로그램이 추가되고 기본적 템플릿이 만들어진다.

화면 오른쪽이 에디터로 프로그램을 입력/수정해주면 된다. 컴파일은 화면 위쪽의 Compile 버튼을 눌러주면 된다.

화면 아래쪽의 상태창에 컴파일 결과가 나타난다. 에러 없이 정상적으로 컴파일이 끝나면 위와 같은 출력이 나오게 된다.

정상적으로 컴파일이 끝나면 생성된 바이너리 파일을 컴퓨터로 다운받을 수 있다. Download 버튼을 눌러주면 된다.

바이너리 파일을 컴퓨터에 저장해 준다.

위에서 이야기 했던것 처럼 이 보드는 컴퓨터에게 'MBED'라는 이름의 USB 디스크로 인식된다. 왼쪽에 방금 다운받은 TEST.bin 파일이 보인다.

위에서 다운받은 파일을 'MBED' 디스크에 복사해주면 된다.

복사가 끝나면 보드 가운데 있는 파란색 리셋버튼을 눌러주면 프로그램이 실행된다. 디스크에 이미지 파일이 여러개 있어도 상관없고 리셋버튼을 누르면 가장 최근에 집어넣은 이미지가 실행된다.




개발환경은 인터페이스를 쉽게 사용할 수 있는 다양한 라이브러리를 기본으로 제공해주고 있다.


각 링크를 클릭하면 해당 인터페이스에 대한 설명과 사용법, 예제코드가 나온다.

디지털 출력포트의 경우이다. 샘플코드에서 볼 수 있는것처럼 arduino와 상당히 유사하다.

가장 장점중에 하나로 이더넷의 경우 별도의 트랜스포머 없이 RJ-45에 위의 4개의 핀을 직접 연결해주면 된다.

총 4개의 시리얼 포트를 제공해 준다. (3개는 물리적 포트, 1개는 USB를 통한 가상 시리얼 포트)

이 역시 mBed보드의 장점중에 하나로 컴퓨터와 usb로 연결해주면 mBed보드가 USB 드라이브로 인식될 뿐 아니라 가상 시리얼포트도 만들어지기 때문에 추가 시리얼 케이블이 없어도 시리얼 콘솔을 사용할 수 있다. 맥의 경우 /dev/tty.usbmodem*, 리눅스의 경우는 /dev/ttyACM* 이라는 디바이스가 자동으로 만들어진다.


Arduino보다 크기는 더 작아도 빠른 프로세서(코어는 72MHz로 동작한다), 훨씬 큰 메모리, 다양한 인터페이스를 제공해주기 때문에 임베디드 프로토타입용으로 최적의 보드라고 생각된다.


댓글 3개:

  1. 보드가 가격만 저렴하면 괜찮겠네요



    보드도 보드지만 개발환경을 웹에서 제공하다니...

    재미있는 개념이네요.



    아두이노나, avr같은 경우 어차피 개발환경도 무료인데 여기저기 깔기도 귀찮고 정말 웹에서 컴파일 된다면 좋겠는데...ㅜㅜ

    답글삭제
  2. 이야! 좋은데요!!

    이미 구입해 보셨다니, 혹시 구입처를 알 수 있을까요?

    답글삭제
  3. @suapapa - 2009/10/08 17:08
    http://mbed.org/order/



    여기서 현재 pre-order를 받고 있습니다.

    답글삭제