mbed
mbed는 웹 기반의 컴파일러를 사용하는 보드로 2005년 ARM 사의 2엔지니어인 Simon(ARM R&D)과 Chris(ARM Support)가 “Rapid Prototyping for Microcontrollers”라는 비젼으로 시작을 했다. 이제는 오프라인 툴들로의 변환도 지원을 하고 활발한 커뮤니티를 가지고 있는데, 2007년 정도에 지금의 모습을 갖추었다고 한다[1]. 현재 NXP의 ARM CortexM3 칩인 LPC1768을 사용한 모듈과 M0기반인 LPC11U24을 사용한 버젼 그리고 올 2013년에 Freescale의 MKL25Z128VLK4을 사용한 Freedom FRDM-KL25Z 보드등 다양한 플랫폼(http://mbed.org/platforms/) 들이 있다.
Features
- NXP LPC1768 MCU
- High performance ARM® Cortex™-M3 Core
- 96MHz, 32KB RAM, 512KB FLASH
- Ethernet, USB Host/Device, 2xSPI, 2xI2C, 3xUART, CAN, 6xPWM, 6xADC, GPIO
- Prototyping form-factor
- 40-pin 0.1″ pitch DIP package, 54x26mm
- 5V USB or 4.5-9V supply
- Built-in USB drag ‘n’ drop FLASH programmer
- mbed.org Developer Website
- Lightweight Online Compiler
- High level C/C++ SDK
- Cookbook of published libraries and projects
- mbed회로도: http://mbed.org/media/uploads/chris/mbed-005.1.pdf
모듈의 전면에 있는 칩이 LPC1768이며, 내부에 512KB 플래시 / 32KB 램을 가지고 있으며, 핀 타입은 브레드보드에 꼽기 쉽게 2.54피치의 배수로 되어 있고 USB전원으로 동작한다. 모듈의 뒷면에는 또 다른 칩(CortexM3로 추정되며 mbed Interface라고 불린다.)과 Atmel사의 AT45DB161D 시리얼 플래시 메모리(2MB), 이더넷 PHY가 달려있다. 회로도 및 아래 그림을 보면 mbed Interface는 USB로 PC에 연결이 되어서 시리얼 플래시를 Mass Storage로 보이게 하고, 사용자가 여기에 펌웨어를 넣으면 JTAG으로 연결된 타겟( LPC1768)에 프로그래밍을 한다. Mass Storage의 파일시스템은 FAT12라고 하며, 가장 최근 파일이 프로그래밍이 된다.
mbed Interface칩의 역할을 더 자세히 알려면 CMSIS-DAP를 알아야 한다.