반응형

전체 글 821

Buildroot란 무엇인가?

Buildroot란 무엇인가?Buildroot는 임베디드 리눅스 시스템을 위한 크로스 컴파일 환경을 손쉽게 구축할 수 있도록 도와주는 오픈 소스 도구입니다. 특정 하드웨어를 대상으로 하는 최소한의 파일 시스템, 커널, 그리고 사용자 공간 애플리케이션을 빌드할 수 있으며, 간단한 설정만으로 전체 시스템을 자동으로 구성할 수 있습니다.임베디드 시스템 개발에서는 필요한 패키지만 포함하여 경량화된 루트 파일 시스템을 구성하는 것이 중요합니다. Buildroot는 이를 위해 크로스 컴파일러 툴체인을 자동으로 구성하고, 패키지를 선택적으로 포함하여 최적화된 임베디드 시스템 이미지를 생성할 수 있도록 합니다.Buildroot와 Yocto의 비교Buildroot와 Yocto는 모두 임베디드 리눅스 시스템을 위한 빌드 ..

Linux/buildroot 2025.04.02

AWS Lambda와 AWS DynamoDB를 활용한 데이터 저장 및 분석

AWS Lambda와 AWS DynamoDB를 활용한 데이터 저장 및 분석1. 개요AWS IoT 서비스를 활용하면 IoT 디바이스에서 수집한 데이터를 효율적으로 관리할 수 있습니다. 특히, AWS Lambda와 AWS DynamoDB를 활용하면 데이터를 서버 없이 실시간으로 처리하고 저장할 수 있습니다. 본 포스팅에서는 AWS IoT Core를 통해 수집된 온도 데이터를 AWS Lambda를 이용해 처리하고, DynamoDB에 저장한 후 이를 분석하는 방법을 설명합니다. 2. AWS IoT 시스템 아키텍처아래는 IoT 디바이스에서 데이터를 수집하고 이를 분석하는 전체 아키텍처입니다. ESP32 IoT 디바이스: 온도 센서를 통해 주기적으로 데이터를 측정하고 MQTT 프로토콜을 이용해 AWS IoT C..

AWS IoT 2025.04.01

Android Framework의 SQLite 라이브러리 분석

Android Framework의 SQLite 라이브러리 분석1. 서론SQLite는 Android의 주요 데이터 저장소로 사용되는 관계형 데이터베이스 관리 시스템(RDBMS)입니다. Android Framework 내에서 SQLite는 android.database.sqlite 패키지를 통해 제공되며, 다양한 API를 통해 데이터베이스 조작이 가능합니다. 본 포스팅에서는 SQLite 라이브러리의 구조와 주요 클래스, 그리고 AOSP(Android Open Source Project) 코드 분석을 통해 Android에서 SQLite가 어떻게 동작하는지 살펴보겠습니다.2. SQLite 개요SQLite는 가볍고, 독립적이며, 트랜잭션을 지원하는 관계형 데이터베이스 시스템입니다. 파일 기반 데이터베이스로 작동하..

Android/Framework 2025.04.01

Multimedia 처리 드라이버 개발: Audio Codec 드라이버 포팅 및 테스트

Multimedia 처리 드라이버 개발: Audio Codec 드라이버 포팅 및 테스트안녕하세요! 오늘은 Rockchip RK3399 플랫폼에서 Audio Codec 드라이버를 포팅하고 테스트하는 방법에 대해 다뤄보겠습니다. Embedded Linux Kernel에서 멀티미디어 처리 드라이버를 작성하고 포팅하는 것은 시스템의 성능과 기능에 큰 영향을 미치는 중요한 작업입니다.이 글에서는 Audio Codec 드라이버를 개발하고, RK3399 플랫폼에 포팅한 후, 이를 테스트하는 과정을 단계별로 설명하겠습니다.1. Audio Codec 드라이버 개요Audio Codec은 아날로그 오디오 신호를 디지털 신호로 변환(ADC)하거나 디지털 신호를 아날로그 신호로 변환(DAC)하는 하드웨어 장치입니다. Linux..

Linux/Kernel Driver 2025.04.01

AWS IoT Rule Engine을 활용한 데이터 처리

AWS IoT Rule Engine을 활용한 데이터 처리AWS IoT는 사물 인터넷(IoT) 디바이스가 클라우드와 효율적으로 상호작용할 수 있도록 다양한 기능을 제공합니다. 그중 AWS IoT Rule Engine은 IoT 디바이스에서 수집된 데이터를 필터링하고 변환하여 다른 AWS 서비스로 전달하는 역할을 합니다. 본 포스팅에서는 AWS IoT Rule Engine의 개념과 활용 방법을 설명하고, ESP32 IDF와 AWS IoT Device SDK for Embedded C를 이용하여 데이터를 AWS IoT Core로 전송하는 예제, 그리고 Python을 활용한 AWS IoT Rule Engine 설정을 다루겠습니다.1. AWS IoT Rule Engine이란?AWS IoT Rule Engine은 M..

AWS IoT 2025.03.31

Android OpenGL 라이브러리 분석

Android OpenGL 라이브러리 분석1. OpenGL 개요OpenGL(Open Graphics Library)은 크로스 플랫폼 그래픽스 API로, 2D 및 3D 그래픽을 렌더링하는 데 사용됩니다. Android에서는 OpenGL ES(OpenGL for Embedded Systems) 버전을 지원하며, 이는 모바일 및 임베디드 환경에서 최적화된 경량 API입니다.Android에서 OpenGL ES는 NDK 및 Java API를 통해 접근할 수 있으며, 주요 컴포넌트로 EGL(Embedded-System Graphics Library), GLES(Graphics Library), 그리고 하드웨어 가속을 위한 드라이버가 있습니다.2. OpenGL ES의 주요 구성 요소2.1 EGL (Embedded-S..

Android/Framework 2025.03.31

Multimedia 처리 드라이버 개발 및 Video Codec 드라이버 포팅 및 테스트

Multimedia 처리 드라이버 개발 및 Video Codec 드라이버 포팅 및 테스트소프트웨어 공장에서는 오늘 Rockchip RK3399 시스템을 기반으로 Multimedia 처리 드라이버를 개발하고 Video Codec 드라이버를 포팅 및 테스트하는 방법을 소개합니다. 이 글은 임베디드 리눅스 개발자들이 실제 시스템에서 동작하는 드라이버를 작성하고 문제를 해결할 수 있도록 돕는 실용적인 가이드입니다.1. Rockchip RK3399 개요RK3399는 Rockchip에서 개발한 고성능 SoC(System on Chip)로, 다양한 멀티미디어 기능을 지원합니다. 주요 특징은 다음과 같습니다:Dual Cortex-A72 + Quad Cortex-A53 Big.LITTLE 구조Mali-T860MP4 GP..

Linux/Kernel Driver 2025.03.31

AWS IoT Policy 설정: 디바이스와 서버 간의 권한 제어

AWS IoT Policy 설정: 디바이스와 서버 간의 권한 제어AWS IoT를 활용하여 IoT 디바이스와 서버 간의 통신을 구축할 때, 보안 정책을 적절히 설정하는 것은 필수적입니다. AWS IoT Policy는 MQTT, HTTP, WebSocket 등의 프로토콜을 통해 디바이스와 서버 간의 통신을 제어하며, 디바이스가 수행할 수 있는 작업을 제한할 수 있습니다. 본 포스팅에서는 AWS IoT Policy를 생성하고, ESP32 IDF를 사용하는 IoT 디바이스와 Python 기반의 AWS IoT 서버 간의 권한을 설정하는 방법을 설명합니다.1. AWS IoT Policy란?AWS IoT Policy는 AWS IoT Core에서 디바이스와 애플리케이션이 리소스에 접근할 수 있는 권한을 정의하는 JSO..

AWS IoT 2025.03.30

Bionic libc 개요

Bionic libc 개요Android는 리눅스 커널을 기반으로 하지만, 표준 C 라이브러리로 glibc 대신 Bionic libc를 사용합니다. Bionic은 성능과 효율성을 고려하여 Android에 최적화된 경량 C 라이브러리로, 제한된 리소스를 사용하는 모바일 환경에서 빠른 실행 속도와 낮은 메모리 사용량을 목표로 설계되었습니다. 본 글에서는 Bionic libc의 구조, 주요 특징, AOSP(Android Open Source Project) 코드 분석, 그리고 Bionic의 주요 구성 요소에 대해 설명합니다.1. Bionic libc의 특징Bionic은 기존의 glibc와 비교하여 다음과 같은 차별점을 가집니다.경량성: 메모리 사용량을 최소화하도록 설계되어 Android와 같은 임베디드 시스템에..

Android/Framework 2025.03.30

Embedded System에서 네트워크 인터페이스 구현

Embedded System에서 네트워크 인터페이스 구현Embedded Linux 환경에서 네트워크 인터페이스를 구현하고 네트워크 드라이버를 포팅 및 설정하는 과정은 많은 Embedded 시스템 개발자들에게 필수적인 기술입니다. 이번 포스팅에서는 Rockchip RK3399를 기반으로 네트워크 드라이버를 포팅하고 설정하는 방법에 대해 설명합니다.1. 네트워크 드라이버의 기본 개념네트워크 드라이버는 네트워크 인터페이스 카드(Network Interface Card, NIC)와 상호작용하여 데이터를 송수신하는 소프트웨어입니다. Linux 커널에서 네트워크 드라이버는 주로 net_device 구조체를 통해 네트워크 인터페이스와 통신하며, 주요 작업은 다음과 같습니다:하드웨어 초기화데이터 송수신 처리하드웨어 설..

Linux/Kernel Driver 2025.03.30
반응형