'2018/01/12'에 해당되는 글 2건

  1. 2018.01.12 STM32 MCU 누클레오 보드
  2. 2018.01.12 Arduino vs. mbed 1


매우 저렴한 STM32 누클레오(Nucleo) 보드는 STM32 MCU를 사용하여 사용자의 새로운 아이디어를 시도하고 빠르게 프로토타입을 생성하게 합니다. 동일한 커넥터를 사용하여 STM32 누클레오 보드 시리즈는 다양한 특화된 애플리케이션 하드웨어 애드온(add-on)(Nucleo-64는 Arduino Uno rev3와 ST morpho 커넥터를 포함하고, Nucleo-32는 Arduino Nano 커넥터를 포함합니다) 방식으로 쉽게 확장할 수 있습니다.


Arduino UNO R3 and ST morpho connector


STM32 누클레오 보드는 ST-Link 디버거/프로그래머를 동일 보드에 구현하였기 때문에 별도이 프로브가 필요하지 않습니다.


다양한 소프트웨어 예제와 함께 이해가 쉬운 STM32 소프트웨어 HAL 라이브러리가 STM32 누클레오 보드와 함께 제공되며, IAR EWAEM, Keil MDK-ARM, mbed 그리고 GCC/LLVM-based IDE를 포함한 넓은 범위의 개발 환경에서 완벽하게 동작합니다.


모든 STM32 누클레오 사용자는 www.mbed.org에서 mbed 온라인 리소스(compiler, C/C++ SDK, and 개발자 커뮤니티)에 자유롭게 접근할 수 있으며 불과 수분 내에 완성된 애플리케이션의 제작이 가능합니다.


다음의 ST사에서 STM32 누클레오 보드의 구분입니다.



다음은 누클레오 보드의 주문 코드와 탑재된 STM32 MCU의 목록입니다.



다음은 누클레오 보드의 주문코드에 대한 의미를 나타낸 예제입니다.



'Embedded Programming > STM32 Cortex-M4' 카테고리의 다른 글

NUCLEO-F446RE 보드 스펙  (0) 2018.01.13
STM32F4 시리즈  (1) 2018.01.13
Discovery vs. Nucleo board  (1) 2018.01.11
STM32F4 시리즈의 소자 구별 방법  (0) 2018.01.03
STM32F405xx 스펙 요약  (0) 2017.11.17
Posted by Nature & Life


영국의 ARM사가 주도하는 mbed는 ARM-cortex기반의 MCU를 사용하여 IoT제품이나 여러 전자제품의 프로토타이핑(prototyping)을 쉽게 제작하고 Cloud 서비스 테스트까지 할수 있는 플랫폼으로, Arduino와 같은 해에 시작하고 2009년에 베타서비스를 시작했지만 2013년에야 mbed를 오픈하기로 결정하고 주변 디바이스, API, 기판 설계 데이터, 펌웨어 등을 공개하면서 주목받기 시작하였습니다.



사실 기존에는 Arduino라는 가볍고 쉬운 AVR이 존재했지만 ARM 계열에서는 Arduino Due 제외하고는 가볍고 쉬운 AVR은 없었고 대부분 전문 컴파일러를 사용하여 제작하였기 때문에 전문가가 아니면 사용하기가 어려웠었습니다. 그렇기 때문에 ARM에서도 Arduino와 같이 접근성이 좋고 빠르게 개발이 가능하도록 만든 소프트웨어가 바로 "mbed"라는 것입니다. 아직까지 국내에서는 Arduino보다 인지도가 적은 편이지만 Ardunio보다 더 좋은 성능으로 IoT개발 보드 시장 영역을 넓혀가고 있다는 것입니다.


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


웹브라우저를 통한 온라인 컴파일 및 소스 버전 관리 기능(Web-IDE)을 제공하여 어떤 OS에서든 웹브라우저에서 온라인으로 컴파일이 가능하고, 프로그램 업로드는 별도 장비없이 USB에 연결만 하면 가능하도록 되어 있다는 것입니다. 게다가 커뮤니티를 통한 라이브러리 공개 및 방대한 개인 위키 페이지 제공으로 협업에 유익하고 무엇보다, 모든 사용자가 기본적으로 같은 하드웨어를 이용하고 있기에 확장 보드가 아닌 이상 바로 적용 가능하다는 것입니다.



mbed의 장점으로는 기본적으로 MCU의 성능이 Arduino보다 좋기 때문에 고성능으로 더 높은 사양대를 커버할 수 있지만, Ardunio에 비해 상대적으로 사용자가 적다는 단점이 있습니다. 온라인 컴파일러에서 브레이크 포인터를 사용하여 스텝별 실행 및 내부 레지스터, 변수 등의 디버깅은 불가능하고 프로그램 업로드 방식에 있어서도 파일을 추출하고 이 파일을 다시 보드에 업로드 시켜야하는 상대적으로 Arduino에 비해 귀찮은 과정도 단점으로 여겨질 수 있습니다.


Arduino와 mbed 차이점으로, 모든 Arduino는 Atmel MCU 사용하여 작은 메모리와 제한된 기능을 가지고 있으며 느리다는 것입니다. 대부분의 Arduino 보드들은 ATmega328이고, Mega보드는 ATmega2560이며, 새로운 Due보드는 ARM Cortex-M3를 사용한다. 반면에 mbed 플랫폼은 더 빠르고, 메모리도 크고, 더 많은 기능을 가진 ARM Cortex MCU를 사용합니다. 사실 공식적인 mbed 플랫폼들은 Cortex-M0, M3와 M4를 기반으로 만들어진다는 것입니다.


프로토타입을 만드는데는 둘 다 우수하지만 프로토타입을 만든 후에 생산을 하고자 할 때는 mbed가 더 scalable한 플랫폼이기 때문에 더 낮고, 아주 간단한 응용제품을 제외하고는 ARM MCU들이 같거나 더 싼 가격에 더 낮은 전력 소모를 하며, 더 많은 기능을 가지고 있기 때문에 그 입지가 점점 좁아지고 있다는 것입니다.



Posted by Nature & Life