Blog
[STM32F4] C++ 프로젝트 튜토리얼 – Step 5-1
SPI 기반 M95M04 Serial Flash 읽기/쓰기 앞선 글에서는 SPI 인터페이스의 기본 구조와 장치별 확장 클래스 설계 방식을 다루었습니다.이번 글에서는 이를 실제 예제로 확장하여, M95M04 Serial Flash 장치를 C++ 클래스로 구현하고, SPI를 통해 데이터를 읽고 쓰는 과정을 설명합니다. M95M04 Serial Flash의...
더보기SPI 기반 M95M04 Serial Flash 읽기/쓰기 앞선 글에서는 SPI 인터페이스의 기본 구조와 장치별 확장 클래스 설계 방식을 다루었습니다.이번 글에서는 이를 실제 예제로 확장하여, M95M04 Serial Flash 장치를 C++ 클래스로 구현하고, SPI를 통해 데이터를 읽고 쓰는 과정을 설명합니다. M95M04 Serial Flash의...
더보기C++에서 SPI Peripheral 사용하기 SPI(Serial Peripheral Interface)는 임베디드 시스템에서 센서, 외부 메모리, 디스플레이 등 다양한 장치와 고속 통신을 하기 위해 널리 사용되는 인터페이스입니다.UART와 달리 마스터/슬레이브 구조를 가지고, 클럭 신호를 포함한 4선(SCLK, MOSI, MISO, CS)을 통해 동작합니다. 이번 단계에서는 SPI를 클래스...
더보기C++에서 UART Peripheral 사용하기 UART(Universal Asynchronous Receiver/Transmitter)는 임베디드 시스템에서 가장 널리 사용되는 통신 장치 중 하나입니다. 디버깅, 로그 출력, 외부 장치와의 데이터 교환 등 다양한 목적으로 활용되며, 단순하면서도 신뢰성 높은 통신 수단을 제공합니다. 이번 단계에서는 UART를 클래스 기반 구조로 구현하는...
더보기이번 단계에서는 프로젝트 전체에서 동작하는 Task와 Timer를 관리하는 구조를 설계합니다. 이를 위해 BasicFunctions라는 관리 객체를 만들고, 이 객체 안에서 Task와 Timer를 통합적으로 제어할 수 있도록 구성합니다. 또한 예제로 RUNLEDTask를 추가하여 LED가 1초 간격으로 점멸(blinking)되는 동작을 확인해보겠습니다. 1. Task와 Timer 개념 더보기…
STM32F4 보드에서 C++ 기반 프로젝트를 시작할 때 필요한 초기 세팅 과정을 정리해 보았습니다. 이번 단계에서는 프로젝트 생성 → 기본 환경 설정 → ConsoleTask 구성 → 빌드 및 디버깅까지의 흐름을 설명합니다. 작업 범위 1. Project 생성(자동 Pin 할당) STM32CubeMX로 미리 작성해 더보기…
MCU Pin Map 아래 그림은 TW100PC 보드의 MCU Pin Map을 보여줍니다. 즉, 기반 프로젝트를 진행할 때는 내부 할당된 핀을 반드시 사용해야 하며, 추가적인 기능을 구현할 때는 MiniPCI 영역을 활용할 수 있습니다. 내부 핀 설정 다음 그림은 내부적으로 할당된 핀들의 세부 더보기…
A step-by-step guide to building a Python GUI application using PySide6, from UI design to event handling.
With proper error handling, the system stays responsive, even when large bursts of data arrive via UART during boot or normal operation.
To achieve fast, non-blocking, and lossless data exchange using SPI Communication between two MCUs
TW101DB는 1채널 Serial-to-Ethernet 컨버터 모듈입니다. 이 포스트에서는 TW101DB를 처음 사용하는 분들을 위해 기본적인 연결 및 설정 방법을 설명합니다. 준비물 하드웨어 연결 기본 설정 절차 twareLAB Config Tool을 이용해서 아래와 같은 기본 설정값을 확인한다. 통신 테스트를 위해 Hercules 프로그램을 실행한다. (다운로드) 더보기…
이번 포스팅에서는 testX Flasher와 1개의 인터페이스 보드를 이용해서 WIZnet의 WIZ750SR 모듈 다섯 대에 대한 일괄 펌웨어 다운로드 및 동작 시험을 하는 예제를 설명한다. 먼저 WIZ750SR 모듈의 Pinout을 알아야 testX Flasher와 연결을 구성할 수 있다. WIZ750SR 모듈 Pinout (source: https://docs.wiznet.io/Product/S2E-Module/WIZ750SR/datasheet) 위 더보기…
배경 임베디드 디바이스를 생산하면 MCU에 펌웨어를 다운로드하는 과정이 반드시 필요하다. 생산성을 높이기 위해서 Gang Programmer 같은 것을 이용해서 PCB 조립전에 다운로드 하는 경우도 있지만 SMT 등 보드 조립후에 In System Programming(이하 ISP) 이 필요한 경우도 있다. ISP는 생산 후에 펌웨어 더보기…
이 포스트는 twareLAB의 HW, FW customizing 사례를 설명한다.
STM32F4 사용자를 위한 CPP 라이브러리인 libtwlab_stm32f4.a는 root 영역을 포함 총 5개의 영역으로 구성되어 있다. 본 포스트에서는 각 폴더에 포함된 헤더 파일을 설명하고 각 파일에서 제공하는 기본 기능에 대해서 상세하게 서술한다. 라이브러리 위치: https://github.com/twarelab/STM32F4_CPP_Library 폴더 구성 libtwlab_stm32f4.a는 twarelabType.h 파일과 BaseClass/, Common/, 더보기…
머리말 많은 임베디드 시스템 개발자들에게 친숙한 MCU는 STMicro의 STM32 시리즈라고 할 수 있다. ARM Cortex Core를 사용하고 다양한 Peripheral이 안정적이라는 점이 중요한 이유이겠지만 무료로 사용할 수 있는 IDE 툴과 Flash 다운로드 툴 등 개발환경 구축에 비용이 들지 않는다는 점도 사용자의 더보기…
This explains various methods and procedures for checking debug messages in TW100xx series products.
EEPROM 제어 및 시스템 정보 저장하기 이번 포스트에서는 EEPROM을 이용해 특정 정보를 읽고 쓰는 방법을 다룹니다. 임베디드 시스템 개발에서 EEPROM은 단순한 데이터 저장소 이상의 역할을 합니다. 전원이 꺼져도 유지되어야 하는 설정 값이나, 부팅 시 불러와야 하는 시스템 초기화 데이터 등을 더보기…
임베디드 장치를 사용하다 보면 가끔은 재부팅(Reset) 이나 공장 초기화(Factory Reset) 가 필요할 때가 있습니다.TW101DB는 이 두 가지 기능을 지원하며, 크게 두 가지 방법으로 사용할 수 있습니다. 아래에서 각각의 방법을 살펴보겠습니다. 1. 하드웨어 핀을 이용한 방법 TW101DB 보드 하단에는 SW Input 더보기…