임베디드 시스템의 본질 - 펌웨어편 (STM32 Discovery Board)
임베디드 시스템의 본질 - 기본편에서 흐름을 이해했다면, 이제 STM32 펌웨어를 직접 구현할 차례입니다. STM32 Discovery Board를 활용해 CubeMX 설정부터 GPIO, UART, Timer, Interrupt 기반 펌웨어 구현까지 체계적으로 학습합니다. 단순히 HAL API를 사용하는 데서 끝나지 않고, 실제 프로젝트 흐름 속에서 주변장치를 연결하고 시스템을 설계하는 방법까지 다룹니다. 개별 기능 실습을 넘어, 하나의 펌웨어 시스템을 완성하는 경험을 얻을 수 있습니다.


[새소식] STM32 실습 중 막히셨다면, 이렇게 질문해주세요!
안녕하세요.
코린이 구조대 후추아빠 입니다.
STM32 실습은 코드뿐만 아니라 CubeMX 설정, 빌드 환경, Flash, 배선, 주변장치 설정 등이 함께 동작합니다. 그래서 문제가 발생했을 때 현재 어느 단계까지 정상인지 알려주시면 원인을 훨씬 빠르게 찾아볼 수 있습니다.
질문하실 때 가능하다면 아래 내용을 함께 남겨주세요.
어느 강의의 어떤 실습인지
Build와 Flash는 정상적으로 완료되는지
어디까지 정상적으로 동작하는지
기대한 동작과 실제 동작의 차이
컴파일/링크 에러가 있다면 에러 메시지 전체
관련 코드와 CubeMX 설정
하드웨어 문제라면 배선 사진
예를 들어,
❌ "LCD가 안 나옵니다."
보다는
⭕ "I2C LCD 실습 중입니다. Build와 Flash는 정상이고 HAL API에서도 에러는 발생하지 않습니다. LCD Backlight는 켜지지만 문자열이 출력되지 않습니다. CubeMX의 I2C 설정과 현재 배선은 아래와 같습니다."
또는,
❌ "PWM이 이상합니다."
보다는
⭕ "SG90 서보모터 PWM 실습 중입니다. Timer 설정 후 PWM 출력은 발생하지만 서보모터가 원하는 각도로 움직이지 않습니다. Prescaler/Period 설정은 다음과 같고 Logic Analyzer에서 측정한 주기와 Pulse Width는 다음과 같습니다."
처럼 남겨주시면 좋습니다.
특히 펌웨어에서는
Build → Flash → 주변장치 초기화 → 신호 발생 → 실제 장치 동작
중 어디까지 정상인지 하나씩 확인하는 습관이 중요합니다.
질문을 잘하는 것보다 중요한 것은 현재 알고 있는 정보와 확인한 내용을 최대한 정확하게 전달하는 것입니다. 잘 모르겠다면 아는 범위까지만 적어주셔도 괜찮습니다.
수강 중 막히는 부분은 언제든 편하게 질문 남겨주세요. :)
감사합니다.
코린이 구조대 드림




