반응형

분류 전체보기 877

이미지 배포 및 보드 플래싱

이미지 배포 및 보드 플래싱이 글에서는 Yocto를 이용해 생성한 이미지를 타겟 보드에 배포하고 플래싱하는 방법에 대해 설명합니다. 주로 Rockchip RK3399 보드를 기준으로 설명하지만, 다른 보드에서도 기본적인 과정은 유사합니다. SD 카드와 eMMC에 이미지를 쓰는 방법, U-Boot 환경 설정 및 부트로더 디버깅 방법도 함께 다루겠습니다.1. Yocto 이미지 준비먼저 Yocto 빌드를 통해 생성된 이미지가 필요합니다. 기본적으로 아래와 같은 파일들이 빌드 결과로 생성됩니다.bootloader: u-boot.rom 또는 u-boot.imgkernel: Image 또는 zImagedevice tree: *.dtbroot filesystem: core-image-minimal-.rootfs.ex..

Linux/yocto 2025.05.26

Android 사용자 정의 Framework Service 만들기

Android 사용자 정의 Framework Service 만들기1. 개요Android 시스템에서 사용자 정의 Framework Service를 만드는 것은 AOSP(Android Open Source Project) 내부의 SystemServer에서 동작하는 새로운 서비스를 정의하는 과정입니다. 이를 통해 Android 플랫폼에서 기본적으로 제공하지 않는 기능을 시스템 서비스로 추가하여 활용할 수 있습니다. 본 글에서는 사용자 정의 Framework Service를 설계하고 개발하는 방법을 상세히 설명합니다.2. 사용자 정의 Framework Service 설계 및 개발 준비2.1 요구사항 분석사용자 정의 서비스는 Android의 시스템 서비스로 동작하며, 기본적으로 SystemServer에서 관리됩니..

Yocto 실무 예제: 멀티미디어 및 네트워킹

Yocto 실무 예제: 멀티미디어 및 네트워킹이번 포스팅에서는 Yocto 환경에서 멀티미디어와 네트워킹 기능을 구현하는 방법을 다룹니다. 특히, GStreamer를 활용한 비디오 스트리밍과 MQTT 및 HTTP 클라이언트를 통해 IoT와 연동하는 방법을 실무 예제를 통해 설명하겠습니다.1. GStreamer를 활용한 비디오 스트리밍1.1 GStreamer 개요GStreamer는 멀티미디어 처리 프레임워크로, 오디오와 비디오 스트리밍, 녹화, 재생 등을 파이프라인 방식으로 처리할 수 있습니다. Yocto에서는 gstreamer와 관련 플러그인을 메타 레이어를 통해 손쉽게 빌드할 수 있습니다.1.2 Yocto에서 GStreamer 구성local.conf에 다음과 같이 GStreamer와 관련 플러그인을 추가..

Linux/yocto 2025.05.24

AOSP에서 Framework Service가 동작하는 방식

AOSP에서 Framework Service가 동작하는 방식Android Open Source Project(AOSP)에서 Framework Service는 시스템의 핵심 기능을 수행하는 중요한 구성 요소입니다. Android 프레임워크는 다양한 시스템 서비스를 제공하며, 이들 서비스는 SystemServer 프로세스에서 관리됩니다. 본 포스팅에서는 AOSP에서 Framework Service가 동작하는 방식과 기본적으로 제공되는 주요 서비스에 대해 설명하고, frameworks/base 디렉터리 구조 및 SystemServer 초기화 과정도 다루겠습니다.1. AOSP에서 Framework Service 개요Framework Service는 Java로 작성된 시스템 서비스로, Android의 핵심적인 기..

Yocto 애플리케이션 개발

Yocto 애플리케이션 개발이 글에서는 Yocto 기반으로 Rockchip RK3399 플랫폼에서 애플리케이션을 개발하는 방법을 다룹니다. 특히 GPIO, UART, I2C와 같은 주변 장치를 제어하는 방법과 간단한 웹 서버, 데이터 로깅 애플리케이션을 구현하는 과정을 설명합니다. 이를 통해 실무 환경에서도 활용 가능한 애플리케이션을 작성하는 방법을 익히실 수 있을 것입니다.1. RK3399 기반 애플리케이션 개발 개요RK3399는 강력한 성능과 다양한 주변 장치를 지원하는 ARM 기반 프로세서입니다. Yocto 프로젝트를 통해 임베디드 리눅스를 빌드하면 다음과 같은 환경에서 애플리케이션을 개발할 수 있습니다.C/C++ 기반의 네이티브 애플리케이션: 성능 최적화가 필요할 때 유용합니다.Python 기반의..

Linux/yocto 2025.05.23

고급 개발 기법: 커널 커스터마이징 및 Device Tree 수정

고급 개발 기법: 커널 커스터마이징 및 Device Tree 수정1. 개요이 포스팅에서는 Yocto 기반의 RK3399 보드에서 커널을 커스터마이징하고 Device Tree를 수정하는 방법을 설명합니다. 커널 커스터마이징은 특정 하드웨어 기능을 활성화하거나 불필요한 기능을 제거하는 과정이며, Device Tree 수정은 보드에 연결된 하드웨어 정보를 커널에 전달하는 역할을 합니다.RK3399 보드를 기준으로 Yocto 환경에서 직접 커널 설정을 변경하고, Device Tree를 수정하는 과정까지 상세히 설명하겠습니다.2. Yocto에서 커널 커스터마이징Yocto 환경에서 커널을 커스터마이징하는 과정은 다음과 같이 진행됩니다.2.1 커널 레시피 위치 확인먼저, RK3399 보드용 커널 레시피가 위치한 경로..

Linux/yocto 2025.05.22

Android 사용자 정의 Framework Service 만들기

Android 사용자 정의 Framework Service 만들기1. Framework Service 개념과 구조Android는 다양한 서비스가 유기적으로 동작하는 운영체제이며, 이 중 핵심적인 역할을 수행하는 것이 System Service와 Framework Service입니다. Android에서 특정 기능을 시스템 전반에서 사용할 수 있도록 하려면 Framework Service를 구현하여 해당 기능을 애플리케이션과 연동해야 합니다.이번 글에서는 Framework Service의 개념과 구조, System Service와의 차이점, 동작 방식 및 구성 요소, 그리고 Binder IPC를 통한 서비스 통신 개념을 설명하고, 필요한 경우 예제 코드를 함께 제공하겠습니다.2. Framework Servi..

Yocto SDK 생성과 활용

Yocto SDK 생성과 활용1. Yocto SDK란?Yocto SDK(Software Development Kit)는 특정 플랫폼과 호환되는 소프트웨어를 개발하고 테스트할 수 있도록 환경을 제공하는 도구입니다. Yocto를 사용하여 빌드된 이미지와 함께 SDK를 생성하면, 해당 보드에서 동작하는 애플리케이션과 라이브러리를 크로스 컴파일하고 디버그할 수 있습니다. 이는 특히 임베디드 시스템에서 필수적인 개발 환경입니다.이번 포스팅에서는 Yocto를 이용해 RK3399 보드를 위한 SDK를 생성하고, 이를 활용하여 크로스 컴파일 환경을 구축하는 방법을 설명합니다. 또한 생성된 SDK를 이용해 패키지를 배포하고 필드에서 업데이트하는 과정까지 다룹니다.2. Yocto SDK 생성RK3399 보드를 타겟으로 Y..

Linux/yocto 2025.05.20

Android AOSP에서 Framework Service와 System Service의 차이

Android AOSP에서 Framework Service와 System Service의 차이Android AOSP에서 서비스는 크게 Framework Service와 System Service로 구분할 수 있습니다. 두 서비스 유형은 모두 Android 시스템 내부에서 동작하며, 시스템의 핵심 기능을 담당하지만, 각각의 역할과 위치, 접근 방식에서 차이가 있습니다.1. Framework Service란?Framework Service는 Android Application Framework 레이어에서 실행되는 서비스로, 주로 앱 개발자가 사용할 수 있는 API를 제공합니다.특징Application Framework 계층에서 동작하며, 앱이 직접 호출할 수 있음frameworks/base/services/..

Yocto 고급 개발 기법: 디버깅과 성능 튜닝

Yocto 고급 개발 기법: 디버깅과 성능 튜닝Yocto 프로젝트를 활용하여 임베디드 리눅스 시스템을 개발하는 과정에서 디버깅과 성능 튜닝은 필수적인 단계입니다. Yocto의 빌드 시스템은 복잡하고, 여러 레이어와 메타데이터가 결합된 형태로 동작하기 때문에 문제가 발생했을 때 원인을 찾는 과정이 어렵기도 합니다. 이번 포스팅에서는 Yocto에서 제공하는 다양한 디버깅 도구와 성능 튜닝 방법에 대해 상세히 다뤄보겠습니다.특히 다음과 같은 주제에 초점을 맞춰 설명하겠습니다.bitbake -c devshell을 활용한 디버깅 환경 구축빌드 로그(log.do_compile 등) 분석 방법성능 튜닝을 위한 유용한 기법과 예제1. bitbake -c devshell 활용1.1 devshell이란?bitbake -c..

Linux/yocto 2025.05.19
728x90
반응형