본문 바로가기
임베디드 관련/STM32

STM32 용어/약어 정리

by minhyeok.lee 2025. 5. 8.
반응형

필수 STM32 용어 및 약어 정리

STM32를 다룰 때 접하게 되는 주요 용어/약어들을 카테고리별로 총정리
CubeMX, HAL 드라이버, 레지스터 설정 등을 포함한 STM32 개발에 꼭 필요한 용어 중심


🧠 코어/시스템 관련

코어/시스템 관련 항목에 실제 임베디드 실무나 STM32 HAL에서 자주 쓰이는 중요한 구성요소

용어 의미 설명
NVIC Nested Vector Interrupt Controller 인터럽트 우선순위 및 활성화 제어
SysTick System Tick Timer 1ms 단위 시스템 타이머 (HAL_Delay 기반)
SCB System Control Block 예외 처리 설정, SysTick 포함
CMSIS Cortex Microcontroller Software Interface Standard ARM Cortex용 HAL 인터페이스 표준
VTOR Vector Table Offset Register 인터럽트 벡터 테이블 시작 주소 지정
MPU Memory Protection Unit 메모리 접근 권한 제어 (보안성 향상)
FPU Floating Point Unit 부동소수점 연산 하드웨어 가속기
DFSR Debug Fault Status Register 디버그용 오류 상태 플래그 저장
AIRCR Application Interrupt and Reset Control Register 소프트웨어 리셋 등 시스템 제어
PRIMASK/BASEPRI/FAULTMASK 인터럽트 마스킹 제어 레지스터들 전역/우선순위 기반 인터럽트 차단
  • MPU는 RTOS나 보안 펌웨어에서 메모리 보호에 중요
  • FPUfloat 연산 시 속도 향상에 핵심적 (STM32F4 이상에서는 기본 탑재됨)
  • VTOR부트로더 ↔ 앱 분리 구조에서 아주 자주 등장

⏱️ 타이머 / PWM 관련

용어 의미 설명
TIMx Timer x (예: TIM1, TIM3) 하드웨어 타이머 인스턴스
PSC Prescaler 타이머 입력 클럭 분주기
ARR Auto Reload Register 타이머 주기 (최대 카운트)
CCRx Capture/Compare Register PWM 듀티 및 캡처 비교 설정
CNT Counter 현재 카운터 값
PWM Pulse Width Modulation 펄스 폭 조절 방식 (모터 제어 등)
OC Output Compare 출력 신호 비교 (PWM 생성 가능)
IC Input Capture 외부 입력 신호 캡처(펄스 측정 등)
ETR External Trigger 외부 트리거 입력 핀
BDTR Break & Dead-Time 고급 타이머 전용, 보호 및 데드타임
MOE Main Output Enable PWM 출력 활성화 플래그 (BDTR 포함)
UG Update Generation 수동으로 이벤트(업데이트) 발생 시킴
UIF Update Interrupt Flag 타이머 오버플로우 발생 플래그
TIMx_UP_IRQn 타이머 인터럽트 번호 NVIC 설정 시 사용되는 인터럽트 ID
  • BDTR 레지스터PWM 브레이크 보호 회로, 전력 드라이브, H-Bridge 회로와 함께 자주 사용
  • UG(업데이트 발생)은 수동으로 타이머 이벤트를 강제로 유도하고 싶을 때 유용
  • UIF는 오버플로우 발생 감지로 타이머 인터럽트 처리 시 체크

📊 ADC / DAC 관련

용어 의미 설명
ADC Analog to Digital Converter 아날로그 신호를 디지털로 변환
DAC Digital to Analog Converter 디지털 신호를 아날로그로 출력
Resolution 해상도 (12/10/8bit) 변환 시 표현 가능한 값의 범위
VREF+ Reference Voltage 변환 기준 전압 (보통 3.3V)
Sampling Time 샘플링 시간 ADC 입력이 안정될 때까지의 대기 시간
TS_CALx Temp Sensor Calibration Value 온도 센서의 보정 상수 (공장 교정값)
Injected 외부 트리거 ADC 채널 정규 변환과는 별도로 실행 가능한 채널
Regular 정규 변환 ADC 채널 일반적인 순차 변환 채널 (polling 등)
Scan Mode 채널 자동 순회 모드 다채널 변환 시 순서대로 자동 수행
EOC End Of Conversion Flag 변환 완료 플래그 (인터럽트 등 사용)
DMA Direct Memory Access (연계) ADC 결과를 CPU 개입 없이 자동 저장
Oversampling 과샘플링 노이즈 줄이기 위해 여러 번 측정 평균
  • STM32G4나 H7 계열은 ADC 공진 모드, 오버샘플링, 심층 FIFO 등을 지원
  • HAL_ADC_Start_DMA() 같은 함수는 DMA 기반 자동 변환에 필수

📡 통신 관련

용어 의미 설명
UART/USART Universal Async Receiver/Transmitter 비동기 직렬 통신 인터페이스
SPI Serial Peripheral Interface 동기식 직렬 통신, 빠른 속도 지원
I2C Inter-Integrated Circuit 2선식(클럭+데이터) 마스터/슬레이브 구조
CAN/FDCAN Controller Area Network 차량/산업용 네트워크 프로토콜 (STM32G4/H7 등에서 FDCAN)
LIN Local Interconnect Network 단순 저속 단방향 통신
RS-485 Recommended Standard 485 다중 노드 차동 통신 표준
RX / TX Receive / Transmit 수신 핀 / 송신 핀
Baudrate 전송 속도 (bps) 초당 비트 전송 속도, UART 필수 설정
NSS/CS Slave Select / Chip Select SPI에서 슬레이브 선택 신호
MISO Master In Slave Out (SPI) SPI 수신 선 (Master 입장)
MOSI Master Out Slave In (SPI) SPI 송신 선 (Master 입장)
SCL Serial Clock (I2C) I2C 클럭 라인
SDA Serial Data (I2C) I2C 데이터 라인
ACK / NACK Acknowledge / Not Acknowledge I2C 통신 응답 신호
  • UART와 USART는 거의 동일하지만 USART동기식(Synchronous) 통신도 지원한다는 점에서 차이 존재
  • STM32에서 HAL_UART_Transmit(), HAL_SPI_TransmitReceive(), HAL_I2C_Master_Transmit() 등의 HAL 함수와 연결해 사용

💾 메모리 / 플래시 / 부트 관련

용어 의미 설명
FLASH 비휘발성 프로그램 저장 메모리 코드/펌웨어 저장에 사용됨
SRAM Static RAM 휘발성 메모리, 전원 차단 시 소멸
EEPROM 전자식 영구 메모리 (내장형 가능) 설정값/로그 등 비휘발성 데이터 저장
LD/MD/HD Low/Medium/High Density 플래시 용량별 STM32 제품 구분
VTOR Vector Table Offset Register 인터럽트 벡터 테이블 시작 주소 설정
Bootloader 부트 모드 (Boot ROM) 펌웨어 업데이트 및 통신 부팅 모드
Option Bytes 플래시 옵션 설정 영역 부트 모드, 리드아웃 보호, RDP 등 설정
RDP Readout Protection Level 플래시 메모리 외부 읽기 보호 기능
  • STM32는 플래시 영역에 직접 코드를 실행하는 XIP(eXecute In Place) 방식 사용
  • 일부 STM32는 내장 EEPROM이 없고, 에뮬레이션 방식으로 플래시에 저장
  • VTOR은 부트로더 → 사용자 코드 전환 시 필수 설정

🧰 툴 / 디버깅 관련

용어 의미 설명
CubeMX 초기 설정 및 코드 생성 도구 RCC, GPIO, Peripheral 설정 GUI
CubeIDE STM32 전용 통합 개발환경 Eclipse 기반의 코드 편집기/디버거
STM32 Programmer ST의 통합 프로그래밍 툴 ST-Link / UART / USB DFU 지원
ST-Link STMicro 전용 디버거 펌웨어 업로드 및 디버깅 지원
GDB GNU Debugger CLI 기반 디버깅 도구 (CubeIDE 내장)
OpenOCD Open On-Chip Debugger JTAG/SWD 디버깅용 오픈소스 백엔드
JTAG / SWD 디버그 인터페이스 (표준/단선) ST-Link 등으로 디버깅 연결 수행
STVP ST Visual Programmer Flash 메모리 수동 프로그래밍 툴
  • SWD(Serial Wire Debug)는 STM32에서 가장 널리 쓰이는 2핀 디버그 방식
  • CubeIDE 내에서 Breakpoint, Memory View, Register 확인 등 다양한 디버깅 기능을 제공

🧲 클럭 / 전원 / Reset 관련

용어 의미 설명
RCC Reset and Clock Control 시스템 클럭 및 리셋 제어 모듈
HSE High Speed External 외부 고속 클럭 (예: 8MHz 크리스탈)
HSI High Speed Internal 내부 고속 클럭 (보통 16MHz)
LSE Low Speed External 외부 저속 클럭 (32.768kHz 등)
LSI Low Speed Internal 내부 저속 클럭 (Watchdog 등에 사용)
PLL Phase Locked Loop 클럭 배율기, 고속 시스템 클럭 생성
SYSCLK System Clock MCU의 메인 시스템 클럭
AHB Advanced High-performance Bus 고속 버스 (메모리, DMA 등 연결)
APB1/2 Advanced Peripheral Bus 주변장치 연결 버스 (저속/고속)
VDD Supply Voltage MCU 동작 전압 (예: 3.3V)
VDDA Analog Supply Voltage 아날로그 회로용 전원
NRST Reset Pin 외부 리셋 입력 핀
BOR Brown-Out Reset 전압 강하 감지 후 리셋 기능
  • RCC는 모든 클럭 소스를 제어하며, CubeMX에서 주요 설정을 GUI로 조정할 수 있음
  • PLL은 HSE/HSI 등을 입력으로 받아 다양한 배수 설정이 가능해, CPU 클럭 및 주변기기 주파수를 설정

🛡️ 보안 / 부트 / 시스템 보호 관련

용어 의미 설명
WDT Watchdog Timer MCU 오작동 감지 시 자동 리셋
IWDG Independent Watchdog 독립형 감시 타이머 (시스템 안정용)
WWDG Window Watchdog 윈도우 기반 감시 타이머
BOR Brown-Out Reset 전압 강하 시 리셋 방지 기능
RDP Readout Protection 플래시 메모리 읽기 보호 레벨
TAMPER Tamper Detection 외부 침입 감지 기능 (RTC 등 연동)
OPTION BYTES 설정 비트 저장 영역 보안 / 부트 모드 등 설정 저장
BOOTx 부트 모드 핀 (BOOT0/1) 부트 소스 선택 (Flash, SRAM, 시스템)
STANDBY 초저전력 대기 모드 전원 소비 최소화, RTC 등 유지 가능
VBAT RTC 및 백업 레지스터 전원 전원 OFF 상태에서도 RTC 유지 가능
TrustZone Armv8-M 보안 영역 기능 (일부 MCU) Secure / Non-secure 영역 분리
  • WDT, IWDG, WWDG펌웨어 무한 루프 등 오류를 방지하기 위해 주기적으로 초기화(kick)해야 하며, 그렇지 않으면 자동으로 시스템 리셋이 발생
  • RDP Level을 활성화하면 디버깅 / 메모리 읽기가 차단되어 코드 보안성을 높일 수 있음
  • BOOT0 핀 설정은 MCU가 부팅 시 어떤 메모리 주소에서 실행할지를 결정

⚡ 기타 자주 등장하는 약어

약어 풀네임 의미 설명
SysTick System Tick Timer 시스템 주기 타이머 ms 단위 시간 생성 (HAL_Delay 기반)
GPIO General Purpose I/O 범용 입출력 포트 핀을 입력/출력 등 다양한 용도로 사용
RNG Random Number Generator 난수 생성기 무작위 값을 생성. 보안, 센서 노이즈 등에서 활용
CRC Cyclic Redundancy Check 순환 중복 검사 데이터 오류 검출용. 송수신 시 무결성 확인
DMA Direct Memory Access 직접 메모리 접근 CPU 개입 없이 메모리 간 데이터 전송
RTC Real Time Clock 실시간 시계 날짜/시간 유지용. 백업 배터리로 유지 가능
EXTI External Interrupt 외부 인터럽트 버튼 등 외부 신호로 인터럽트 발생
AFIO Alternate Function I/O 대체 기능 입출력 핀을 UART, SPI 등 다른 기능으로 설정
NVIC Nested Vectored Interrupt Ctrl 중첩 벡터 인터럽트 제어기 인터럽트 우선순위 관리 및 제어
SCB System Control Block 시스템 제어 블록 예외 처리, 시스템 초기화용
VTOR Vector Table Offset Register 벡터 테이블 위치 설정 인터럽트 시작 주소 변경에 사용
UID Unique ID 고유 식별 번호 MCU마다 고유한 시리얼 넘버 제공
BKP Backup Register 백업 레지스터 RTC 데이터, 재부팅 후 유지용 값 저장
WDG Watchdog Timer 워치독 타이머 시스템 멈춤 방지용 자동 리셋 타이머
PVD Programmable Voltage Detector 전압 감지기 전원 이상 감지 및 알림/리셋 트리거
  • DMA, EXTI, CRC 등은 CubeMX에서도 가장 자주 등장하는 기능 중 하나
  • 각 약어는 HAL 라이브러리 함수 이름, 레지스터 이름, CubeIDE 설정 항목 등에 그대로 쓰임
반응형

댓글