| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- DMA
- 디스크립터
- makefile
- fprintf
- 프레임버퍼
- jenkins
- 젠킨스
- 멀티프로세싱
- Shared Folder
- interrupt handler
- 문자형 디바이스 파일
- 디스크 축소
- memcmp
- layouts
- usb2.0
- activities
- 소캣
- fscanf
- ubuntu
- sprintf
- pagefile.sys
- gparted
- intents
- 환경 변수
- context switch
- HDR
- interrupt context
- context
- sscanf
- 속도저하
- Today
- Total
목록분류 전체보기 (78)
do{학습}while
Yocto는 실제로 소스를 직접 포함하지 않고, 어떻게 빌드할지를 정의한 데이터 (즉, 메타데이터)를 사용해서 이미지를 만드는 방식이야.✅ Yocto 메타데이터(Metadata)란?패키지를 어떻게 다운로드하고, 빌드하고, 설치하고, 패키징할지 정의한 모든 설정 파일들을 의미해.이 메타데이터는 주로 레시피, 설정 파일, 클래스, 레이어 구성 등으로 구성돼.📁 메타데이터 디렉토리 예시meta/ ├── conf/ ← 설정 파일들 (layer.conf, distro.conf 등) ├── recipes-core/ ← 레시피 모음 (busybox, init 등) ├── classes/ ← 클래스 (.bbclass) ├── files/ ← 패치/설정 파일🧩 메타데이터의 주요 파일 종류파일 확장자설..
실제 레시피(.bb), 설정 파일(local.conf, layer.conf) 등에서 자주 등장하고, 빌드 동작, 패키징, 이미지 구성에 큰 영향을 주는 핵심 변수들이야.🧱 1. 📦 패키지/레시피 관련 변수변수설명예시PN레시피 이름 (Package Name)"busybox"PV버전 (Package Version)"1.35.0"PR수정 릴리즈 번호 (Package Revision)"r0"LICENSE라이선스 종류"GPLv2"SUMMARY짧은 설명"Small utilities for embedded systems"DESCRIPTION긴 설명"BusyBox combines tiny versions of many common UNIX utilities..."HOMEPAGE프로젝트 URL"https://busy..
Yocto에서 소스 코드를 어디에서 가져와서(fetch), 어떻게 패치하고 사용하는지는 실무에서 반드시 이해해야 할 내용이야.✅ 1. Source Mirror (소스 미러)💡 개념: 이미 누군가 다운로드해둔 소스 코드 파일을 로컬 또는 내부 서버에서 가져오는 방식.DL_DIR ?= "/path/to/shared/downloads"PREMIRRORS += " \ http://.*/.* file:///mnt/mirror/downloads/ \n \ "📦 예시file:///mnt/nfs/downloads/http://yocto.local/mirror/✅ 장점네트워크 의존성 없음 → 속도 빠름사내 보안 유지 가능🔧 용도사내 빌드 서버에서 외부 접속 없이 빌드하고 싶을 때여러 팀이 공용 다운로드 캐시를 쓸 ..
✅ Yocto 빌드 시간 단축 방법 총정리1️⃣ DL_DIR 공유 (소스 다운로드 캐시)모든 패키지의 소스 코드(.tar.gz, git 등)를 저장하는 디렉토리한 번 다운로드한 파일은 다시 다운받지 않음 DL_DIR ?= "/shared/yocto/downloads"🟢 효과: do_fetch 속도 향상🟡 대상: 모든 개발자 공유 가능2️⃣ SSTATE_DIR 공유 (컴파일 결과 캐시)빌드된 결과물(오브젝트, 바이너리)을 재사용동일한 버전/설정이면 다시 빌드하지 않음SSTATE_DIR ?= "/shared/yocto/sstate-cache"🟢 효과: do_compile, do_install 등의 중복 제거🟡 대상: 협업/CI 환경에서 엄청 유용3️⃣ TMPDIR 백업 및 재활용 (개인용 속도 개선)..
🚀 YOCTO란?Yocto Project는 임베디드 리눅스 시스템을 만들기 위한 오픈소스 빌드 시스템이야.조금 더 쉽게 말하면…"내가 원하는 구성으로 리눅스를 처음부터 직접 만들어주는 공장 같은 도구"야.🧠 왜 YOCTO가 필요할까?일반적인 리눅스(Ubuntu, Debian 등)는 누군가 만들어 놓은 완성품을 설치해서 쓰는 방식이야.하지만 임베디드 시스템은 다르지:디바이스 성능이 낮아 → 불필요한 것 빼야 함커널/드라이버를 바꿔야 함 → 직접 수정해야 함보드마다 구성 다름 → 맞춤형 시스템이 필요함이런 걸 가능하게 해주는 게 바로 Yocto야.🔧 Yocto가 해주는 일Yocto는 내부적으로 이런 걸 자동화해줘:단계설명fetch소스 코드 다운로드 (예: 커널, busybox 등)unpack압축 풀기p..
SPI는 마이컴과 주변 장치(센서, 디스플레이, 메모리 장치) 간에 데이터를 교환하기 위한 고속 동기식 직렬 통신 프로토콜입니다.SPI의 주요 특징고속SPI는 MHz부터 수십 MHz까지 클럭 속도에 데이터 송수신이 가능합니다.Full-Duplex 방식으로 동시에 데이터 송수신이 가능합니다.동기식클럭 신호에 따라 데이터 전송 및 명령 수행되는 통신 방식을 의미합니다.직렬클럭 신호 한 주기(1 tick)에 1비트를 전송할 수 있습니다.반대 개념 : 병렬 = 한 주기에 여러 비트의 데이터를 전송할 수 있습니다.마스터-슬레이브SPI는 하나의 마스터, 여러개의 슬레이브 간에 통신합니다.마스터 : 통신 타이밍을 맞추기 위한 클럭을 생성합니다.슬레이브 : 타이밍에 따라 데이터를 송수신 합니다.SPI 신호 라인 SCL..
WIFI란?Wi-Fi(Wireless Fidelity)는 무선 네트워크 기술로, 인터넷이나 다른 네트워크에 무선으로 연결할 수 있게 해주는 표준입니다.임베디드 디바이스와의 WIFI 연결wifi 통신을 하기 위해서는 2개의 객체가 필요합니다. AP(Access Point), 클라이언트(Client)입니다. AP는 무선 로컬 네트워크를 제공하는 장치를 의미합니다. 로컬 네트워크의 중심이 되는 디바이스입니다.AP 역할 디바이스에 여러 대의 클라이언트 디바이스가 연결될 수 있습니다. 그 밖에 용어...SSID: 사람이 읽을 수 있는 Wi-Fi 이름BSSID: AP를 구별하는 고유 MAC 주소 형태의 IDBSS: 무선 네트워크를 구성하는 단위 통신 흐름클라이언트 디바이스 AP에 연결클라이언트 디바이스는 로컬 네트..
픽셀 & 서브픽셀디스플레이 화면의 이미지를 구성하는 최소 단위 그리고 하나의 픽셀 안에 기본 색상(primary color: Red, Green, Blue)을 표현할 수 있는 서브픽셀로 구성되어 있습니다.해상도디스플레이 화면을 이루는 픽셀의 수를 수치로 표현한 것입니다. 해상도에는 정해진 가로 픽셀 x 세로 픽셀마다 이름이 존재합니다. 우리가 일상 생활에서 자주 볼 수 있는 해상도로는 SD (Standard Definition): 640x480 (4:3 비율)HD : 1280x720 (720p, 16:9 비율)Full HD (FHD): 1920x1080 (1080p, 16:9 비율)Quad HD (QHD): 2560x1440 (1440p, 16:9 비율)4K UHD (Ul..
mkdir {} : 여러개의 디렉토리를 생성해주는 명령어mkdir -p {hello,world}/{1,2,3}cd - : 빠르게 이전에 위치했던 디렉토리로 이동바로 이전의 디렉토리로 이동(cd .. 와 다름)touch with a range to create multiple files at once.touch log{1..10}.txtlog1.txt, log2.txt ...tail -f : 실시간으로 로그를 주적tail error_file.log | grep "error"history (num) : 최근 사용했던 명령어를 num 갯수만큼 출력 참고https://medium.com/gitconnected/5-linux-command-tricks-that-will-change-your-life-as-a-p..
이번에는 Jenkins로 안드로이드 앱을 지속적으로 빌드할 수 있게 환경을 만들어보겠습니다. 안드로이드 SDK 설치빌드 시 안드로이드 SDK를 사용함으로 Jenkins가 실행되고 있는 환경 내에 안드로이드 SDK를 설치해주어야 합니다.https://i5i5.tistory.com/1192 (작성중) [Android] Linux환경에서 cmd-line tools 설치 및 SDK manager 이용하기개요 먼저 이 글을 소개하기 앞서, 이 글의 목적을 밝히려 한다. 리눅스 환경에서 Android를 개발하려면 SDK manager와 cmd-line tools를 설치하여 사용해야한다. 이를 위해, (1) cmd-line tools을 직접 설치해i5i5.tistory.com 안드로이드 SDK 디렉토리 권한 설정Je..