반응형

전체 글 823

Embedded Linux Kernel 설정 - Kernel Configuration

Embedded Linux Kernel 설정: Kernel ConfigurationEmbedded Linux를 개발할 때 가장 중요한 작업 중 하나는 Kernel Configuration입니다. 이 과정은 시스템의 요구사항에 맞는 기능과 드라이버를 선택하여 Kernel 설정 파일(.config)을 작성하고 조정하는 작업을 포함합니다. 이번 포스팅에서는 Rockchip RK3399 플랫폼을 예제로, Embedded 환경에 적합한 Kernel 설정 과정을 설명합니다.Kernel Configuration 기본 개념Kernel Configuration은 Linux 커널이 특정 시스템에 최적화되도록 설정을 조정하는 단계입니다. .config 파일은 이러한 설정의 결과물로, 컴파일 시 커널이 어떤 기능을 포함할지를..

Linux/Kernel Driver 2025.03.14

Deflate 알고리즘 (Gzip, zlib)

Deflate 알고리즘 (Gzip, zlib)1. 개요데이터 압축은 저장 공간 절약과 네트워크 전송 속도 향상을 위해 필수적인 기술입니다. Deflate 알고리즘은 이러한 목적을 위해 설계된 대표적인 압축 알고리즘 중 하나로, Gzip과 zlib 같은 다양한 압축 포맷에서 사용됩니다. 본 글에서는 Deflate 알고리즘의 개념과 Gzip 및 zlib과의 관계를 설명하고, Java와 C를 이용한 구현 예제를 소개하겠습니다.2. Deflate 알고리즘이란?Deflate는 1993년 Phil Katz에 의해 개발된 압축 알고리즘으로, 다음 두 가지 주요 기술을 조합하여 높은 압축률과 빠른 처리 속도를 제공합니다.LZ77(Lempel-Ziv 1977) 압축: 중복된 문자열을 참조하여 데이터를 효율적으로 저장합니..

Android의 역사와 발전 과정

Android의 역사와 발전 과정1. 서론Android는 현재 전 세계에서 가장 널리 사용되는 모바일 운영체제입니다. 2003년 Android Inc.에서 시작된 이 프로젝트는 2005년 Google이 인수하면서 본격적인 개발이 이루어졌으며, 2008년 최초의 상용 버전이 출시되었습니다. 이후 꾸준한 발전을 거쳐 스마트폰뿐만 아니라 태블릿, 스마트 TV, 웨어러블 기기, 자동차 등 다양한 분야로 확장되었습니다. 본 글에서는 Android의 역사와 주요 발전 과정을 AOSP 코드와 함께 살펴보고자 합니다.2. Android의 탄생과 초기 개발 (2003 - 2008)2.1 Android Inc.의 설립2003년, Andy Rubin, Rich Miner, Nick Sears, Chris White는 모바일..

Android/Framework 2025.03.14

Embedded Linux Kernel: Bootloader 설정 및 커스터마이징

Embedded Linux Kernel: Bootloader 설정 및 커스터마이징임베디드 시스템 개발에서 부트로더(Bootloader)는 시스템의 초기화를 담당하며, 커널과 사용자 애플리케이션으로의 전이를 관리하는 중요한 역할을 합니다. 이번 포스팅에서는 Rockchip RK3399 플랫폼을 기준으로 부트로더인 U-Boot을 포팅하고, 설정 및 환경 변수를 조정하는 방법을 알아보겠습니다.1. Bootloader란 무엇인가?Bootloader는 하드웨어 초기화와 운영체제 로딩을 위한 프로그램입니다. 부트로더는 주로 다음과 같은 단계로 동작합니다:1단계 부트로더: CPU 및 메모리 초기화.2단계 부트로더: 운영체제 커널 로드.U-Boot은 임베디드 시스템에서 가장 널리 사용되는 오픈소스 부트로더 중 하나입니..

Linux/Kernel Driver 2025.03.13

MP3 (오디오 압축)

MP3 (오디오 압축)1. MP3란?MP3(MPEG-1 Audio Layer 3)는 오디오 데이터를 효율적으로 압축하는 손실 압축 방식의 포맷입니다. 1993년 MPEG(Moving Picture Experts Group)에서 개발하였으며, 높은 압축률과 비교적 우수한 음질로 인해 널리 사용되고 있습니다. MP3는 인간의 청각 특성을 활용하여 들을 수 없는 소리를 제거하거나, 인지하기 어려운 주파수 대역을 줄여 파일 크기를 줄이는 방식으로 동작합니다.2. 손실 압축의 품질과 압축률 조정손실 압축에서는 품질과 압축률을 조절할 수 있습니다. MP3에서는 주로 비트레이트(Bit Rate)를 설정하여 이를 조정하며, 비트레이트가 높을수록 음질이 좋아지고 파일 크기도 커집니다.2.1. 비트레이트(Bit Rate)..

CAN 데이터를 활용한 머신러닝 기반 예측 시스템(실전 프로젝트)

CAN 데이터를 활용한 머신러닝 기반 예측 시스템(실전 프로젝트)1. 개요자동차와 산업용 기기에서 사용되는 CAN(Controller Area Network) 통신은 다양한 센서 및 제어 데이터를 실시간으로 전송하는 중요한 네트워크입니다. 이 데이터를 활용하면 차량의 상태를 분석하고, 머신러닝 및 딥러닝 기술을 통해 고장 예측 및 유지보수 자동화 시스템을 구축할 수 있습니다.이번 포스팅에서는 CAN 데이터를 기반으로 머신러닝 및 딥러닝을 활용한 고장 예측 모델을 개발하는 방법을 설명합니다. 또한, 실제 자동차 유지보수를 위해 AI 기반 분석 시스템을 구축하는 절차를 소개합니다.2. CAN 데이터를 활용한 고장 예측 모델 개발2.1 데이터 수집 및 전처리머신러닝 기반 고장 예측 모델을 구축하려면 먼저 CA..

CAN/CAN 기초 2025.03.13

자동차 ECU와 CAN 통신(실전 프로젝트)

자동차 ECU와 CAN 통신(실전 프로젝트)1. 개요자동차는 다양한 전자제어장치(ECU, Electronic Control Unit)로 구성되어 있으며, 이러한 ECU들은 차량 내부에서 CAN(Controller Area Network) 통신을 통해 서로 데이터를 주고받습니다. 이번 포스팅에서는 OBD-II(On-Board Diagnostics) 포트를 통해 차량의 실시간 데이터를 읽고, 이를 활용하여 차량 진단 및 데이터 로깅 시스템을 개발하는 방법을 설명하겠습니다.2. 자동차 OBD-II 포트와 CAN 통신2.1 OBD-II 포트란?OBD-II 포트는 차량의 ECU와 통신하기 위한 인터페이스로, 차량의 센서 데이터 및 진단 정보를 얻을 수 있도록 설계되었습니다. 1996년 이후 생산된 모든 차량에는 ..

CAN/CAN 기초 2025.03.13

CAN 기반 센서 네트워크 구축 (실전 프로젝트)

CAN 기반 센서 네트워크 구축 (실전 프로젝트)1. 개요CAN(Controller Area Network)은 자동차, 산업용 장비, 로봇 및 다양한 임베디드 시스템에서 널리 사용되는 통신 프로토콜입니다. 이번 포스팅에서는 여러 개의 센서를 CAN 네트워크로 연결하고 데이터를 수집 및 분석하는 시스템을 구축하는 방법을 설명하겠습니다. 또한, Python과 PCAN을 활용하여 데이터를 로깅하는 실습도 함께 진행하겠습니다.2. 프로젝트 목표여러 개의 센서를 CAN 네트워크로 연결데이터를 실시간으로 수집하고 분석하는 시스템 구축Python과 PCAN을 활용하여 데이터 로깅 및 모니터링3. 준비물이 프로젝트를 진행하기 위해 다음과 같은 장비와 소프트웨어가 필요합니다.3.1 하드웨어CAN 인터페이스 장치 (예: ..

CAN/CAN 기초 2025.03.13

Board Support Package (BSP) 이해

Board Support Package (BSP) 이해임베디드 시스템 개발에서 Board Support Package (BSP)는 필수적인 요소 중 하나입니다. 이번 포스팅에서는 BSP의 개념, 중요성, 그리고 기존 BSP를 수정하거나 새로운 BSP를 작성하는 방법에 대해 알아보겠습니다. 이를 통해 Rockchip RK3399 시스템을 기준으로 실질적인 BSP 작성 과정을 살펴보겠습니다.1. BSP란 무엇인가?BSP(Board Support Package)는 특정 하드웨어 보드에서 운영 체제를 실행하기 위해 필요한 소프트웨어 계층입니다. BSP는 다음과 같은 주요 구성 요소로 이루어져 있습니다:부트로더(Bootloader): 시스템을 초기화하고 커널을 로드하는 역할을 합니다. 예: U-Boot디바이스 드..

Linux/Kernel Driver 2025.03.12

JPEG 압축 (DCT 기반 압축)

JPEG 압축 (DCT 기반 압축)1. JPEG 압축 개요JPEG(Joint Photographic Experts Group) 압축은 디지털 이미지 데이터를 효율적으로 저장하고 전송하기 위해 널리 사용되는 손실 압축 방식입니다. 이 압축 방식은 사람이 시각적으로 인식하기 어려운 정보를 제거하여 높은 압축률을 달성할 수 있도록 설계되었습니다. JPEG 압축은 주로 DCT(Discrete Cosine Transform, 이산 코사인 변환)를 기반으로 작동하며, 이를 통해 이미지 데이터를 주파수 영역으로 변환하여 저주파 성분을 보존하고 고주파 성분을 제거합니다.2. JPEG 압축 과정JPEG 압축 과정은 다음과 같은 주요 단계로 이루어집니다.색 공간 변환 (Color Space Conversion)RGB 색 ..

반응형