본문 바로가기

Embedded/Kernel Programing10

특정문자열을 가지고 있는 파일들 리스트 출력명령어 find ./ -type f | Xargs grep 문자열내욜 위와 같이 작성하면 된다. 2010. 7. 26.
Makefile 옵션중에서...는 make clobber make smdk6410_config make make clobber는 생성되어 있는 설정파일을 지우고,생성된 바이너리 이미지와 오브젝트파일을 삭제한다. make ******_config 는 컴파일을 위한 설정파일을 *****_config 이름으로 생성한다. 이 명령어를 실행하면, mkconfig_scripts를 실행하여서, "include/config.h" 와 "include/config.mk" 파일을 생성한다. 그리고 옵션중 prefix=PREFIX 의 용도는아키텍쳐에 독립적인 파일을 PREFIX에 설치한다. 2010. 6. 28.
struct module 리눅스에서 디바이스 장치별 모듈을 사용하는데 있어서, 사용되는 모듈 구조체에 대한 내용이다. 모듈 구조체에 대한 내용은 현재의 커널 버젼밑에 /include/linux/module.h에 정의되어 있다. (현재 커널버젼을 확인하는 명령어는 uname -r 이다.) struct module { enum module_state state; //현재 모듈의 상태값을 저장하는 변수. /* Member of list of modules */ struct list_head list; /* Unique handle for this module */ char name[MODULE_NAME_LEN]; /* Sysfs stuff. */ struct module_kobject mkobj; struct module_attrib.. 2010. 4. 22.
커널 컴파일 과정 Fredora 12 버젼 기준. 0. /boot 디렉토리 백업 1. www.kernel.org 에서 원하는 커널을 다운받는다. ex) 받은 커널 linux-2.6.33.2.tar.gz 2. 받은 커널을 /usr/src/ 로 이동한다. 3. tar xvfz linux-2.6.33.tar.gz (압축을 해제한다) 4. cd /usr/src/linux-2.6.33 (압축 해제된 디렉토리로 이동) 5. make mrproper (이전 오브젝트 파일 삭제) 6. make menuconfig (원하는 환경으로 설정) 7. make 또는 time make | tee make.log ( /usr/src/linux-2.6.33/arch/i386/boot 디렉토리에 bzImage를 생성하는 커널 컴파일 과정 수행) ( m.. 2010. 4. 19.
vi에서 소스 자동정렬 방법 코드에서 Ctrl + V를 누른상태로, 방향키 아래로 눌러서, 소스 전체를 블록화 한다. 그 다음에 ' = '키를 누르면 코드가 자동정렬된것을 확인할수 있다. 2010. 3. 9.
Exception 처리과정 전체 적인 예외처리 순서 Exception가 발생하면, 현재 프로세스 상태(CPSR, Current Processor Status Register)의 값을 저장해주기 위해, SPSR(Saved Processor Status Register)에 저장된다. 그 다음 CPSR 레지스터의 비트를 수정해준다. 2010. 3. 5.