개요
최근 ROSMASTER 글을 작성하면서 임베디드 분야를 다시 접하게 되었는데, 아무래도 전문적인 교육을 받은 것도 아니고 잠깐 혼자 독학했던 분야라 그런지 다양한 용어들이 생소하게 느껴졌다.
예전에 공부할 때나 지금이나 시중에 최신 임베디드 서적이 그렇게 많지도 않을 뿐더러 존재한다고 해도 대부분 Arduino 나 Atmel Studio 제품에 관한 책이며 다양한 분야의 지식을 요구하기 때문에, 이 분야의 진입 장벽이 다른 분야에 비해 꽤 어려운 것 같다. 임베디드 시리즈를 소개하는 글에서 가장 처음에 언급하는 것이 적절한가 싶긴 하지만 이런 뉴스도 나왔다.
그럼에도 임베디드 분야는 컨트롤러가 들어간 모든 기기에서 없어서는 안될 핵심 요소이기 때문에 이 분야를 공부하고 싶어졌다. ROSMASTER로 공부하려다보니 디버깅도 안되고 굉장히 불편했는데, Nucleo 보드를 ST 사에서 저렴하게 생산하여 판매하는 것을 알게 되었다.
Nucleo 64 개발보드
STM32F103 Nucleo-64 보드는 Arduino 의 확장보드와도 호환되어 다양한 기능을 쉽게 구현할 수 있고, ROSMASTER 시리즈에서 사용하는 보드와는 다르게 디버깅 기능인 ST-LINK 가 내장되어 있어서 공부용으로도 적합하다. 이 보드를 자세히 보면 톡 치면 부러질 것 같은 부분을 기준으로 상단부와 하단부로 나뉘는데, 상단부가 디버깅 기능을 수행하는 ST-LINK 부분이고 하단부가 MCU와 연결되어 기능을 수행하는 부분이다. 개발이 완료되면 ST-LINK 부분을 똑 떼다가 하단부만 사용한다고 한다.
Nucleo 보드는 ST마이크로일렉트로닉스(이하 ST) 사에서 제작한 32 bit 마이크로컨트롤러로, 나무위키에 따르면 ARM 기반 마이크로 컨트롤러를 선정할 때 가장 먼저 검토하는 제품이다. STM32는 ST 사의 32 bit 마이크로컨트롤러 중 ARM Cortex-M 기반의 MCU 를 사용하는 제품군을 통틀어 말한다. STM32 제품은 아래의 표와 같이 나뉜다.
우리가 사용할 Nucleo 보드는 STM32F103RBT6 64 MCU를 사용하기 때문에 최대 72 MHz의 Cortex M3 프로세서임을 확인할 수 있다.
Nucleo 보드 제품의 특징을 몇 가지 정리하면 다음과 같다. 각 특징에 대한 설명은 조금씩 풀어나갈 예정이다.
- 최대 72 MHz의 Arm Cortex M3 core
- 128 Kbytes의 플래시 메모리
- 20 Kbytes의 SRAM
- LQFP64 Package 제공
- 3개의 LED
- USB Communication (LD1), User LED (LD2), Power LED (LD3)
- 2개의 Push button
- USER and RESET
- 2 가지의 Expansion types
- Arduino Uno V3와의 호환성
- ST morpho extension pin header footprints for full access to all STM32 I/Os (?)
- SWD connector로 연결 가능한 ST-LINK/V2-1 디버거/프로그래머 내장
- 다양한 방식의 Board Power 공급
- USB VBUS 또는 External source (3.3V, 5V, 7-12V)
- Power management access point
- USB re-enumeration capability. Three different interfaces supported on USB
- Virtual COM port
- Mass storage
- Debug port
- Comprehensive free software libraries and examples available with the STM32Cube MCU Package
- Arm Mbed (see http://mbed.org)
'임베디드 > STM32 실습' 카테고리의 다른 글
[STM32 실습] 2-1. STM32CubeIDE 개발환경 구축 (0) | 2022.10.24 |
---|