2024/11/07 5

patch 명령어와 옵션

patch [option]    1.  옵션 -p[NUM] : 패치 파일에 명시되어있는 '패치할 파일의 위치'를 제대로 찾아주기 위한 "patch에서 제거할 prefix의 개수"​예를 들어보자. patch file path a/arch/x86/mm/fault.c-p0 : a/arch/x86/mm/fault.c-p1 : arch/x86/mm/fault.c-p2 : x86/mm/fault.c-p3 : mm/fault.c-p4 : fault.c​※ patch 결과를 미리 확인하는 옵션 patch --dry-run -p1 ~.diff​​   2.  patch 후, 출력 메시지​  - 패치가 성공적으로 이루어 졌을 때 :Hunk #1 Succeeded at 1 with fuzz 2  - 패치에 실패했을 때 :H..

DSI / CSI

1.  DSI / CSI 란?  DSI (Display Serial Interface) : AP(호스트)와 Display Module 사이의 고속 시리얼 인터페이스를 정의한 표준  CSI (Camera Serial interface)는 AP와 카메라를 연결하는 인터페이스에 관한 표준​ DSI (Display Serial Interface)는 디스플레이를 위한 규격이다. MIPI 물리 계층인 D-PHY를 사용하며, MIPI Display Command Set(MIPI DCS)를 사용한다.     2.  MIPI DSI / CSI   2.1  MIPI DSI & CSI 시스템 구성도     2.2  MIPI Physical Layers MIPI에서는 30개가 넘는 사양서를 정의하고 있는데, 그 중에 물리 계..

안드로이드 포팅 : AOSP 빌드 시스템

1.  안드로이드 포팅: AOSP 빌드 시스템 안드로이드 빌드 시스템의 설정방식은 안드로이드 셸 환경에서 envsetup.sh와 lunch로 동적으로 생성하거나, Buildspec.mk 파일로 미리 정의해둔 변수들을 활용할 수 있다. 또한 빌드 시스템은 소스파일과 같은위치에 객체파일 등의 중간 출력을 생성하지 않고, 모든 생성물은 out/ 디렉터리에 저장한다.   1.1  Android Build System​Envsetup.sh와 lunch는 명령을 실행한 셀에서 빌드할 땐 두 명령을 수행해야한다. 위 그림에서 묘사한대로 빌드 시스템 입장에서 타당한 진입점을 /build/core/ 디렉터리의 main.mk 파일이다. 이 파일은 최상의 Makefile을 호출한다.      1.2  Build Target..

Android OS 2024.11.07

Linux Kernel Image Header - ARM64

1.  Linux Kernel Image Header - ARM64   1.1  커널 이미지 헤더의 사용배경​ 리눅스 커널이 빌드 된 후, 커널 이미지의 헤더에 대해서 알아보도록 한다.임베디드 환경에서(통상 ARM Architecture),리눅스 커널과 같은 운영체제는 메모리에 로드가 된 후 실행된다. 그렇다면 여기서!, 드는 질문 2가지?!메모리에 적재시켜주는데... 메모리 몇 번지에 로드시켜야 하는가?커널 이미지는 누가 메모리에 로드시켜 주는가? Ⅰ. 메모리에 적재시, 메모리 몇번지에 로드시켜야 할까?  딱히 어느 메모리에 로드웨어야 한다 이런것은 없다.  리눅스 커널은 PIC(Position Independent Code)라고 하여, 메모리 어디에 올려도 스스로 원하는 메모리 주소로 Copy해서 동..

Ubuntu에서 NDK 설치, 설정, 실행해보기

1.  Ubuntu에서 NDK 설치, 설정, 실행해보기   1.1  NDK  install1) NDK 를 다운로드 받는다. 2) .bashrc 에서 ndk 경로를 설정한다. 3) rc재실행 후 확인​​​  1.2  NDK  Build 1) ndk디렉터리 밑에 jni 디렉터리 생성  2) jni 디렉터리 안에 컴파일 할 c 파일과 Android.mk 파일 생성 - ​안드로이드 mk 파일 내용 추가 LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_CFLAGS += -fPIE -pieLOCAL_MODULE := user_processLOCAL_SRC_FILES := user_process.cinclude $(BUILD_EXECUTABLE) 3) Ndk 빌드  ..

Android OS 2024.11.07