ARM Cortex-M 개요: M0부터 M7까지
Cortex-M 코어별 차이와, ARM이 설계한 코어에 ST, NXP 같은 회사가 주변장치를 붙여 MCU 제품군을 만드는 방식.
ARM은 CPU 코어 설계를 팔고, ST·NXP·Infineon 같은 반도체 회사가 그 코어에 Flash, SRAM, 주변장치를 붙여 MCU로 만듭니다. 그래서 STM32와 NXP의 칩은 코어 명령어는 같지만 GPIO, 타이머 레지스터는 완전히 다릅니다.
| 코어 | 특징 | 대표 MCU |
|---|---|---|
| M0 / M0+ | 가장 작고 저전력, 명령어 적음 | STM32G0, RP2040 |
| M3 | 하드웨어 나눗셈, 균형 | STM32F1 |
| M4 | DSP 명령어 + 단정밀도 FPU | STM32F4, STM32G4 |
| M7 | 6단 파이프라인, 캐시, 배정밀도 FPU | STM32F7, H7 |
| M33 | M4급 + 보안(TrustZone) | STM32L5, U5 |
코어가 공통으로 주는 것
- NVIC: 인터럽트 컨트롤러
- SysTick: RTOS 틱에 쓰는 24비트 타이머
- 디버그 인터페이스: SWD
- CMSIS: 코어 레지스터를 다루는 표준 헤더
고르는 기준
모터 제어처럼 실수 계산이 많으면 FPU가 있는 M4 이상, 배터리 센서 노드라면 M0+, 그래픽과 고속 연산이 필요하면 M7입니다. 코어보다 더 중요한 것은 필요한 주변장치(고급 타이머, ADC 개수, CAN FD)가 칩에 들어 있는지입니다.