본문 바로가기

분류 전체보기266

Linux4Android 5th Afternoon Linux MultiMedia관련 library. artoolkit (마커) opencr(마커리스) camera AR(오브제) framebuffer를 볼 때에는 include/linux/fb.h를 봐라. samsung은 drivers/video/samsung/s3cfb.c를 보라. arch/arm/plat-s5pc1xx/ 아래에 dev-fb.c를 참고. ffmpeg이나 혹은 mplay를 분석, 포팅하고자 한다면 buildroot를 이용하자.(http://buildroot.uclibc.org) linphone을 arm으로 포팅할 경우 필요 라이브러리 수가 30개 이상. MPEG-4나 H.264(263) 코덱을 이해해야 하며, stagefright 혹은 opencore를 이해해야 한다. tar zxvf ff.. 2010. 11. 12.
Linux4Android 5th Morning 임베디드 시스템의 전망. 카메라는 여러 앱이 동시에 열수 없다. 그래서 꼭 사용후엔 닫아주어야 한다. http://busybox.sf.net 상당히 유용한 임베디드 개발용툴 Video4Linux는 버전이 v2이다. 커널에서 UBIFS는 MTD에 있다. 1) linux-2.6/arch/include/asm/mach/arch.h machine_desc, MACHINE_START, END linux-2.6/arch/arm/mach-s5pc100/mach-smdkc100.c 파일내에서 호출 ==> platform_device 구조체(include/linux/platform_device.h)를 기반으로 주변장치를 등록 linux-2.6/arch/arm/tools/mach-types 머신ID, U-boot와 일치되.. 2010. 11. 12.
Linux4Android 4th Afternoon 이젠 kernel_program.tar.gz와 drivers.tar.gz를 가지고 실습한다! drivers.tar.gz kernel_program.tar.gz driver만들때 include해야할 헤더파일 init.h module.h fs.h slab.h -> kmalloc(); kfree(); uaccess.h -> 커널에 있는 데이터를 사용자 스페이스와 갖다 쓰고 싶을 때. cdev.h 혹은 bdev.h 안드로이드는 major 넘버를 254까지만 인식을 한다. MYDEV_NAME은 driver name이다. Makefile을 새롭게 만들자. 위치는 ~/SOLUTION/s_02/ 아래에 한다고 했을 때. vi Makefile Makefile vi lab1_chrdrv.c lab1_chrdrv.c 커널 .. 2010. 11. 11.
Linux4Android 4th Morning http://code.google.com/p 각 구글에 대한 프로젝트 코드를 참고할 수 있다. micro kernel - NT, Message Q monolithic kernel - Linux zImage - 통합형커널 자주사용하지 않는 것들을 모듈화 시킨다. $ lsmod 명령어 Linux Kernel의 모듈을 볼 수 있게 해준다. 커널코드하고 사용카 코드는 다르다. strace 명령어를 쓰면 intruction에 대한 추적을 할 수 있다. 참고로 ls 명령어를 추적할 수 있으면 커널에 대한 이해를 어느정도 하고 있다고 볼 수 있을 정도이다. Linux는 모든 것을 파일로 취급한다. 단 네트워크 장치만 인터페이스 이름으로 인식을 한다. libpcap -> tcpdump를 할 수 잇다. http://nt.. 2010. 11. 11.
Linux4Android 3rd Afternoon arch/arm/boot/compressed로 이동. 커널엔 main()코드가 없다. misc.c에 main()이 있다는 것은 일반코드라는 의미이다. 커널에서는 init만 한다. MMU가 설정되면 리눅스 커널은 가상주소를 기준으로 메모리맵을 사용한다. arch/arm/tools/mach-types.h Processor ID값은 cp15의 레지스터 0에 명시되어있다. mach-types.h 파일은 arch/arm/tools/mach-types를 바탕으로 자동 생성 init kernel thread에서 sys_dup()는 system call이다. Redhat이나 Ubuntu는 System V init을 쓴다. rc = Run Command의 의미이다. ↗ 파일 init=/init ↘ __setup()에 선.. 2010. 11. 10.
반응형