본문 바로가기

반응형

C++/Linux & Device Driver

(6)
Platform Devices and Drivers Documentation/driver-modle/platform.txt 내용 1Platform Devices and Drivers 2~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3See for the driver model interface to the 4platform bus: platform_device, and platform_driver. This pseudo-bus 5is used to connect devices on busses with minimal infrastructure, 6like those used to integrate peripherals on many system-on-chip 7processors, or some "legacy" PC interconnects; as ..
I2C 디바이스 드라이버 I2C 서브 시스템은 간단한 I2C 프로토콜과는 다르게 굉장히 복잡하게 구현되어 있다. /devices/i2c/i2c-core.c : I2C의 일반적인 부분을 담당 /devices/i2c/algos : 알고리즘 드라이버 알고리즘 드라이버는 i2c_algorithm 구조체와 관련되어 있는데 기본적인 세가지 알고리즘은 PCF, SGI, PCA, BIT는 여기에 선언되어 있지만 대부분의 것들은 /busses 에서 함께 정의하여 사용한다. i2c_algorithm 관련해서 master_xfer 와 functionality 콜백 함수만 주로 정의한다. master_xfer는 데이터 전송을 담당하도록 되어 있다. 예를 들면 에러 발생 시에 몇번을 Retry 하는 지, 전송 전에 어떤 것을 체크하는지에 대한 내용이다..
[Device driver] printk 커널 메시지 출력 printk() 커널 함수에서 사용되는 출력 함수이다. printf와의 차이는 메시지 기록관리를 위한 로그레벨을 지정할 수 있다는 것이다. 로그레벨 명령어 의미 "" KERN_EMERG 시스템이 동작하지 않는다. "" KERN_ALERT 항상 출력 "" KERN_CRIT 치명적인 정보 "" KERN_ERR 오류 정보 "" KERN_WARNING 경고 정보 "" KERN_NOTICE 정상적인 정보 "" KERN_INFO 시스템 정보 "" KERN_DEBUG 디버깅 정보 위처럼 로그레벨을 지정하는 이유는 kernel source 내에서 원하는 정보만 출력할 수 있게 함이다. 사용법은 다음과 같다 printk(KERN_ERR"This is KERN_ERR option\n"); 다음 명령을 실행해보면 현재의 로..
[명령어] grep 1 grep 명령어 grep : 파일 전체를 뒤져 정규표현식에 대응하는 모든 행들을 출력한다. egrep : grep의 확장판으로, 추가 정규표현식 메타문자들을 지원한다. fgrep : fixed grep 이나 fast grep으로 불리며, 모든 문자를 문자 그래도 취급한다. 즉, 정규표현식의 메타문자도 일반 문자로 취급한다. 2 정규표현식을 사용하는 grep의 예제 # grep NW datafile # grep NW d* (d로 시작하는 모든 파일에서 NW를 포함하는 모든 행을 찾는다.) # grep '^n' datafile (n으로 시작하는 모든 행을 출력한다.) # grep '4$' datafile (4로 끝나는 모든 행을 출력한다.) # grep TB Savage datafile (TB만 인자이고..
[명령어] find 사용법 ~$find path operators -path : 검색 시작할 디렉토리 -operators : 옵션, 어떤 파일을 찾고자 하는지 찾고자 하는 파일의 조건 지정 가능 1. 지정한 path들 및 하부 디렉토리의 모든 파일 검색 ~$find . -print -print는 생략해도 됨 ~$find / < 파일시스템 전체에서 검색 ~$find ~ < 자신의 홈 디렉토리에서 검색 ~$find ~ /usr/local /var < 이와같이 자신의 홈 디렉토리, 및 다른 디렉토리를 대상으로 검색 2. 특정한 이름을 가진 파일을 찾는 방법 ~$find . -name < 특정한 이름을 조건으로 현재 디렉토리를 기점으로 검색 ~$find . -name abc -o -name def < 파일 여러개를 지정하려면 -o 옵션을..
PVR_K:(Error) PVR_K:(Error) 문제 해결방법 아시는 분 계시는지요? [환경 정보] 보드 : MANGO210 커널 : Linux version 2.6.35.7 OS : Android gingerbread 증상 : * PVR_K:(Error) 등의 에러메시지를 나타내며 주소내용으로보이는 알 수 없는 값이 출력됨 * 재부팅 되는 경우도 있음 [부팅로그 및 에러 로그] Starting kernel ... Uncompressing Linux... done, booting the kernel. Initializing cgroup subsys cpu Linux version 2.6.35.7 (oak@jjongspi-desktop) (gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) ) ..

반응형