[STM32F4] C++ 프로젝트 튜토리얼 – Step 5

C++에서 SPI Peripheral 사용하기 SPI(Serial Peripheral Interface)는 임베디드 시스템에서 센서, 외부 메모리, 디스플레이 등 다양한 장치와 고속 통신을 하기 위해 널리 사용되는 인터페이스입니다.UART와 달리 마스터/슬레이브 구조를 가지고, 클럭 신호를 포함한 4선(SCLK, MOSI, MISO, CS)을 통해 동작합니다. 이번 단계에서는 SPI를 클래스 기반 구조로 설계하는 방법을 다룹니다.UART와 달리 SPI는 장치마다 프로토콜이 달라 더보기…

[STM32F4]C++ 프로젝트 튜토리얼 – Step 4

C++에서 UART Peripheral 사용하기 UART(Universal Asynchronous Receiver/Transmitter)는 임베디드 시스템에서 가장 널리 사용되는 통신 장치 중 하나입니다. 디버깅, 로그 출력, 외부 장치와의 데이터 교환 등 다양한 목적으로 활용되며, 단순하면서도 신뢰성 높은 통신 수단을 제공합니다. 이번 단계에서는 UART를 클래스 기반 구조로 구현하는 방법을 다룹니다. 기본 클래스인 BaseUART를 시작으로, 성능 요구에 따라 IntrUART(인터럽트 더보기…

[STM32F4] C++ 프로젝트 튜토리얼 – Step 3

EEPROM 제어 및 시스템 정보 저장하기 이번 포스트에서는 EEPROM을 이용해 특정 정보를 읽고 쓰는 방법을 다룹니다. 임베디드 시스템 개발에서 EEPROM은 단순한 데이터 저장소 이상의 역할을 합니다. 전원이 꺼져도 유지되어야 하는 설정 값이나, 부팅 시 불러와야 하는 시스템 초기화 데이터 등을 저장하는 핵심 메모리로 활용되기 때문입니다. 왜 EEPROM이 필요한가? EEPROM은 비휘발성 더보기…

[STM32F4]C++ 프로젝트 튜토리얼 – Step 2

이번 단계에서는 프로젝트 전체에서 동작하는 Task와 Timer를 관리하는 구조를 설계합니다. 이를 위해 BasicFunctions라는 관리 객체를 만들고, 이 객체 안에서 Task와 Timer를 통합적으로 제어할 수 있도록 구성합니다. 또한 예제로 RUNLEDTask를 추가하여 LED가 1초 간격으로 점멸(blinking)되는 동작을 확인해보겠습니다. 1. Task와 Timer 개념 Task 객체 Task는 시스템에서 반복적으로 실행되는 단위 동작을 의미합니다. 기본적으로 더보기…

[STM32F4]C++ 프로젝트 튜토리얼 – Step 1

STM32F4 보드에서 C++ 기반 프로젝트를 시작할 때 필요한 초기 세팅 과정을 정리해 보았습니다. 이번 단계에서는 프로젝트 생성 → 기본 환경 설정 → ConsoleTask 구성 → 빌드 및 디버깅까지의 흐름을 설명합니다. 작업 범위 1. Project 생성(자동 Pin 할당) STM32CubeMX로 미리 작성해 둔 .ioc 파일을 이용하면 핀과 기본 설정이 자동으로 반영됩니다. 예제 더보기…

[STM32F4]기반 하드웨어인 TW100PC Pin Map

MCU Pin Map 아래 그림은 TW100PC 보드의 MCU Pin Map을 보여줍니다. 즉, 기반 프로젝트를 진행할 때는 내부 할당된 핀을 반드시 사용해야 하며, 추가적인 기능을 구현할 때는 MiniPCI 영역을 활용할 수 있습니다. 내부 핀 설정 다음 그림은 내부적으로 할당된 핀들의 세부 구성을 보여줍니다. 이 핀들은 모듈 필수 기능에 영향을 주므로 변경 더보기…

[STM32F4] Description of libtwlab_stm32f4.a Configuration

STM32F4 사용자를 위한 CPP 라이브러리인 libtwlab_stm32f4.a는 root 영역을 포함 총 5개의 영역으로 구성되어 있다. 본 포스트에서는 각 폴더에 포함된 헤더 파일을 설명하고 각 파일에서 제공하는 기본 기능에 대해서 상세하게 서술한다. 라이브러리 위치: https://github.com/twarelab/STM32F4_CPP_Library 폴더 구성 libtwlab_stm32f4.a는 twarelabType.h 파일과 BaseClass/, Common/, ExtendedClass/, UBoot/ 등 4개의 폴더로 구성되어 있다. twarelabType.h 이 헤더 더보기…

[STM32F4] STM32F4 CPP Library 소개

머리말 많은 임베디드 시스템 개발자들에게 친숙한 MCU는 STMicro의 STM32 시리즈라고 할 수 있다. ARM Cortex Core를 사용하고 다양한 Peripheral이 안정적이라는 점이 중요한 이유이겠지만 무료로 사용할 수 있는 IDE 툴과 Flash 다운로드 툴 등 개발환경 구축에 비용이 들지 않는다는 점도 사용자의 선택을 받는데 도움이 되고 있다. 또한 많은 사용자들이 사용함으로써 참조할만한 더보기…

글쓴이 James Kim,
ko_KRKorean