카테고리: Platform Kernel

0

Linux kernel ADC Battery

ADC란?ADC란 Analog to Digital Converter의 약자로서 실생활에서 연속적으로 측정되는 신호를 프로세서가 그 값을 읽을 수 있도록 디지털 신호로 변환해주는 장치입니다. ADC 관련 용어 Sampling(표본화)아날로그 신호를 일정 주기로 추출하는 과정연속시간 → 이산시간 Quantizing[양자화, 분해능]표본화된 각각의 신호의 대

0

Android Kernel powerkey 인터럽트 설정

안드로이드를 포팅하다 잘되던 power key가 어느 순간 작동하지 않았다. 원인은 g-sensor를 인터럽트로 신호를 받았더니 power key가 동작을 하지 않는 것이다. g-sensor에 인터럽트가 필요했기 때문에 power key또한 인터럽트가 작동하도록 만드는 것이 필요했다. 일단 dts의 power-key 부분을 보면 123456789101112

0

Device Tree 문법

Device Tree란 ?단적으로 표현하면, 일정한 형식(문법)을 갖춘 텍스트를 이용하여, hardware(SoC, Board)를 기술하는 것을 말함.이와 대비되는 기존의 방식으로 platform device 기반의 board 기술 방식(C coding)이 있었음. <등장 배경 및 기존 방식의 문제점> 1) SoC 혹은 board 별로 독자적

0

Android Kernel 가상 마우스 드라이버 구현하기

개요 가상 마우스 동작 방식은 다음과 같다. App이 마우스 동작의 좌표 정보를 sysfs노드인 /sys/devices/platform/virmouse/vmevent를 거쳐 가상 마우스 드라이버(virmouse.c)에 통지한다. 가상 마우스 드라이버는 evdev를 거쳐 이동 정보를 사용자 영역으로 보낸다. evdev란 범용 입력 이벤트 드라이버를 뜻한다.

0

Android Kernel compile

make 아래 설명될 이미지를 모두 만든다. make image compress되지 않은 Kernel 이미지 arch/arm/boot/image에서 찾을 수 있음 make zImage compress된 kernel 이미지 arch/arm/boot/zImage에 존재 make clean object 파일을 지우기 위한 명령어 make module m

0

Android Kernel Moduel

Kconfig Tree 구조로 된 configuration option들의 집합이며 모든 menu entry들은 자신만의 종속성을 가지고 있다. child entry는 parent entry가 보기 가능할 때만 보여진다. → 종속성 Menu entry들은 config option을 정의하고 있다. Menu attribute 모든 config optio

0

Android Kernel 빌드 옵션

make config 텍스트 기반 설정 방식 모든 옵션을 하나씩 보여주고 yes, no, module 중에 하나의 옵션을 선택 → 많이 불편함 make menuconfig 텍스트 메뉴 방식 ncurses에 기한반 GUI툴 화살표와 스페이스 바를 이용하여 옵션 설정 편리하고 가장 많이 사용 → 실제로 거의 이 모드를 사용한다. 설정 이후 저장하게 되면

0

Android Kernel Message

printk() 메시지 기록 관리를 위한 로그 레벨의 지정이 가능하다. kernel뿐만 아니라 응용프로그램의 init process도 printk()를 사용한다. logcat은 init가 구동하기 때문에 init는 printk()를 사용. 원형 큐 구조의 관리, 출력 디바이스의 다중 지정이 가능하다. 콘솔에서 확인하거나 dmesg 명령을 사용해서 로그파

0

Android Kernel 주요 디렉토리

Kernel 주요 디렉토리Top Kernel의 Top디렉토리는 kernel을 빌드하기 위한 Makefile을 가지고 있으며 모든 빌드 동작은 이 디렉토리에서 시작된다. arch Architecture 즉 프로세서(CPU), Soc(AP) 및 타깃 보드 관련된 소스가 구현된 디렉토리이다. 각 CPU별 디렉토리를 가지고 있으며, ARM프로세스 관련 소스는 a

0

Android Kernel System Memory Model

Android System Memory Model Linux/Android에서는 가상 메모리를 각 Process 마다 4GB씩 할당 받는다.(32bit 기준) Process의 각 유저 영역은 물리 메모리에 독립적으로 지정된다. Kernel 영역은 물리 메모리에서 공유된다. 공유 가능 영역 공유 가능 영역은 Kernel 공간이기 때문에 Android에서는