SoC 설계 원리와 실용 사례

SoC(System on Chip)는 현대 전자 시스템의 핵심 구성 요소로, 하나의 칩에 전체 시스템 기능을 통합한다. 스마트폰부터 자동차 제어 장치, 산업용 로봇까지 다양한 분야에서 활용되며, 제품의 소형화, 저전력화, 고신뢰성 구현에 기여한다. 1. SoC 기본 아키텍처 SoC는 다음과 같은 주요 블록으로 구성된다. 1.1 프로세서 코어 SoC의 중앙 처리 장치로, 단일 코어 또는 ...

9월 8일 01:10에 게시됨

STM32 기반 SSD1306 OLED 드라이버 구현: 하드웨어 제어에서 그래픽 렌더링까지

I2C 프로토콜과 SSD1306 제어를 통한 임베디드 디스플레이 시스템 설계 OLED 디스플레이는 고대비, 얇은 두께, 낮은 전력 소모 등의 장점으로 인해 IoT 장치, 웨어러블 기기, 산업용 HMI 등 다양한 분야에서 널리 사용되고 있다. 특히 SSD1306 칩셋을 탑재한 128x64 해상도의 모노크롬 OLED는 STM32 계열 마이크로컨트롤러와의 호환성이 뛰어나며, 별도의 그래픽 컨트롤러 ...

7월 11일 22:39에 게시됨

wolfMQTT 기반 임베디드 MQTT 클라이언트 개발 가이드

소개 wolfMQTT는 경량 임베디드 환경에 최적화된 MQTT 클라이언트 라이브러리로, wolfSSL 팀이 개발한 C 기반 구현체입니다. 이 라이브러리는 MQTT v3.1.1과 v5.0 사양을 모두 지원하며, 센서 네트워크용 확장인 MQTT-SN도 포함하고 있어 다양한 IoT 장치에서 활용 가능합니다. 주요 특징은 다음과 같습니다: 경량 설계: 약 3.6KB의 메모리 사용으로 제한된 자원의 디 ...

7월 8일 03:39에 게시됨

Qt5 ARM64 플랫폼 이식 가이드: RK3566의 듀얼 경로 전략

### 1. Qt5 ARM64 이식 기술 적용: RK3566 플랫폼을 위한 듀얼 경로 솔루션 임베디드 Linux 시스템에서 Qt 그래픽 인터페이스 애플리케이션을 배포하는 것은 산업용 HMI, 스마트 터미널 및 인간-기계 상호작용 장치 개발에서 중요한 부분입니다. 본 문서는 Rockchip RK3566 SoC 플랫폼을 기반으로 하여, ARM64 아키텍처에서 Qt5.12.10과 Qt5.15.2 두 가지 주요 버전의 전 ...

7월 3일 02:47에 게시됨

STM32 FSMC 버스를 통한 ILI9341 디스플레이 전원 재시작 시 문제 해결

STM32 마이크로컨트롤러의 FSMC(Flexible Static Memory Controller)를 사용하여 ILI9341 TFT LCD를 구동할 때 발생하는 일반적인 문제는 전원을 껐다가 다시 켰을 때 디스플레이가 정상적으로 작동하지 않는 현상이다. 이 문제는 코드가 처음 실행되거나 디버깅 중에는 잘 동작하나, 전원 사이클 이후에는 예기치 못한 동작을 보인다. 다음은 FSMC 인터페이스 설정에 사 ...

6월 29일 17:58에 게시됨

ODrive 컨트롤러 알고리즘 맞춤형 개발: 아키텍처 분석부터 실전 구현까지

ODrive 컨트롤러의 고도화된 제어 알고리즘 설계 접근법 ODrive는 오픈소스 기반의 고성능 모터 제어 플랫폼으로, 기본적인 PID 제어 외에도 사용자가 직접 제어 로직을 확장할 수 있도록 설계된 유연한 아키텍처를 제공합니다. 본 문서에서는 컨트롤러 계층 구조를 분석하고, 실제 사례를 통해 맞춤형 제어 알고리즘을 개발하는 전 과정을 안내합니다. 왜 맞춤형 제어가 ...

6월 27일 21:34에 게시됨

CAN 버스 프로토콜 및 임베디드 구현 가이드

CAN 통신 원리와 신호 표현 CAN(Controller Area Network)은 두 개의 차동 신호선인 CAN_H와 CAN_L로 구성됩니다. 이는 높은 신뢰성과 실시간성을 요구하는 자동차 및 산업 제어 시스템에 널리 사용됩니다. 통신 시 CAN_H와 CAN_L 사이의 전압 차이는 다음과 같은 논리 상태를 나타냅니다: 지배적 수준(Dominant): 논리 0 비지배적 수준(Recessive): 논리 1 ISO11898 표 ...

6월 25일 00:20에 게시됨

크론을 활용한 프로세스 메모리 사용량 주기적 모니터링 구현

크론 작업 계획 설정 시스템의 crontab -e 명령어를 실행하면 기본 텍스트 에디터가 열리며, 여기에 정기적으로 수행할 작업을 입력합니다. 저장 후 /var/spool/cron/crontabs/ 디렉터리에 사용자 이름으로 된 파일이 생성됩니다. 작업 스케줄링 포맷 설명 각 줄은 6개의 필드로 구성되며, 형식은 다음과 같습니다: minute hour day month weekday command *: 모든 ...

6월 23일 18:40에 게시됨

STM32 상전원 후 부트로더 동작 과정: 하드웨어 초기화에서 애플리케이션 실행까지

임베디드 시스템 개발을 시작하는 순간, STM32 마이크로컨트롤러의 LED가 처음 깜빡일 때 우리는 성취감을 느낀다. 하지만 전원이 인가되고 첫 번째 명령어가 실행되기까지 칩 내부에서 어떤 일이 벌어질까? 이 글에서는 STM32가 전원을 받은 후 부트로더를 통해 어떻게 소프트웨어를 안정적으로 구동하는지 단계별로 살펴본다. 1. 전원 인가와 초기 하드웨어 준 ...

6월 10일 17:46에 게시됨

MATLAB Simulink 모델 기반 임베디드 코드 생성 및 최적화 프로세스

MATLAB Simulink를 활용한 모델 기반 설계(Model-Based Design)는 복잡한 제어 알고리즘을 임베디드 타겟 보드에서 실행 가능한 C/C++ 코드로 자동 변환하는 핵심 프로세스입니다. 이 과정은 단순한 변환을 넘어 메모리 할당, 실행 속도, 코드 가독성 등을 고려한 체계적인 설정이 요구됩니다. 1. 개발 환경 및 타겟 하드웨어 설정 코드 생성을 위해서는 MATLAB 및 Simuli ...

6월 9일 20:04에 게시됨