Embedded/Kernel Programing
-
Makefile 옵션중에서...는Embedded/Kernel Programing 2010. 6. 28. 18:25
make clobber make smdk6410_config make make clobber는 생성되어 있는 설정파일을 지우고,생성된 바이너리 이미지와 오브젝트파일을 삭제한다. make ******_config 는 컴파일을 위한 설정파일을 *****_config 이름으로 생성한다. 이 명령어를 실행하면, mkconfig_scripts를 실행하여서, "include/config.h" 와 "include/config.mk" 파일을 생성한다. 그리고 옵션중 prefix=PREFIX 의 용도는아키텍쳐에 독립적인 파일을 PREFIX에 설치한다.
-
struct moduleEmbedded/Kernel Programing 2010. 4. 22. 15:03
리눅스에서 디바이스 장치별 모듈을 사용하는데 있어서, 사용되는 모듈 구조체에 대한 내용이다. 모듈 구조체에 대한 내용은 현재의 커널 버젼밑에 /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..
-
커널 컴파일 과정Embedded/Kernel Programing 2010. 4. 19. 15:06
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..
-
PSP Hardware SpecificationsEmbedded/Kernel Programing 2010. 3. 4. 13:39
아이폰이 나오기 전까지, 음악, 동영상, 게임등을 고루 만족시켜주었던 PSP. 현재 공부하면서도, 아이폰보다는 PSP가 더 많이 보인다. 구글링을 통해서, 우연히 보게 된 PSP 스펙. 아는만큼 간략하게 풀이해서 적어보자. ===== CPU ===== * Allegrex CPU ( Allegrex 라는 CPU를 사용한다) * MIPS r4000 32-bit core 1-333mhz * 16kib I-Cache & D-Cache(프로세서 내부에, 캐쉬안에 보면 명령어 캐쉬, 데이터 캐쉬가 있다.이를 I캐쉬,D캐쉬라고 부른다.크기는 16키로바이트) * 64-byte line length * 2-way set associative, LRU * No TLB ( TLB, Translation Lookaside B..