본문 바로가기

학부_대학원/임베디드 리눅스

(13)
chip off ,rework 정리 보호되어 있는 글입니다.
낸드 플레시 물리 덤프 분석 방법 정리 보호되어 있는 글입니다.
tcpdump cross compile libpcap, tcpdump source download cross toolchain arm, mips gcc 설치 ex) gcc-arm-linux-gnueabi sudo apt-get install gcc-arm-linux-gnueabi $cd libpcap $CC="arm-linux-gnueabi-gcc -static -fPIC" ./configure --host=arm-linux --prefix=/home/$USER/crosscompile/crossroot/ --disable-shared $make && make install $cd tcpdump $CC="arm-linux-gnueabi-gcc -fpic" CFLAGS=-static CPPFLAGS=-static LDFLAGS=-static ./..
MTD 및 파일시스템 정리 -1 MTD(Memory Technology Device) --> A Memory Technology Device (MTD) is a type of device file in Linux for interacting with flash memory. 기존 리눅스에서 디바이스를 처리할 때 character device 또는 block device 형태로 디바이스를 처리한다. 하지만 flash memory라는 형태의 디바이스를 처리하는데 있어서 character, block 형태로 처리하기 어렵다. 애매한 이유는 다음과 같다. - 캐릭터 디바이스는 seek를 지원하지 않는다. - A Character ('c') Device is one with which the Driver communicates by sendin..
[임베디드 정리] 부트로더에서 printenv해서 그냥 보통 수정할만한 내용은 initrd 가 가장 바뀔 가능성이 높음 메인 메모리 그리고 접근하도록 하자. 추천 참고 레퍼 사이트 : embedded crazy boy ioctl —> 제어 데이터를 핸들링 write —> 실질적인 데이터를 핸들링 디바이스 드라이버의 데이터 제어 데이터 실질적인 데이터 ioctl 구성 32bit로 구성 [2] [ 14(데이터 크기) ] [ 8 (매직넘버) ] [ 8(구분번호) ] 매직넘버 : 아스키값도 가능 사이즈만 넘지 않자 cmd 명령의 해석 매크로 함수 _IOC_NR : 구분 번호 필드 값을 읽는 매크로 _IOC_TYPE : 매직 넘버 필드값을 읽는 매크로 _IOC_SIZE : 데이터의 크기 필드값을 읽는 매크로 _IOC_DIR : 읽..
(임베디드)리눅스 커널 모듈 - IOCTL ioctl 구성 32bit로 구성 [2] [ 14(데이터 크기) ] [ 8 (매직넘버) ] [ 8(구분번호) ] 매직넘버 : 아스키값도 가능 사이즈만 넘지 않자 cmd 명령의 해석 매크로 함수 _IOC_NR : 구분 번호 필드 값을 읽는 매크로 _IOC_TYPE : 매직 넘버 필드값을 읽는 매크로 _IOC_SIZE : 데이터의 크기 필드값을 읽는 매크로 _IOC_DIR : 읽기와 쓰기 속성 필드값을 읽는 매크로 cmd 명령의 작성 매크로 함수 _IO : 부가적인 데이터가 없는 명령을 만드는 매크로 _IOR : 데이터를 읽어오기 위한 명령을 작성 _IOW : 데이터를 써 넣기 위한 명령을 작성 _IOWR : 디바이스 드라이버에서 읽고 쓰기위한 명령을 작성하는 매크로 해당 프로그램은 보드에 led를 제어하는..
(임베디드)리눅스 커널 모듈 - 인터럽트, 플랫폼 디바이스 드라이버 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121/******************************************************************** * * elv210_keybutton.c * ELV210 key button device driver * * EINT1 (GPH0_..
Platform Device Driver Built In[플랫폼 디바이스 드라이버 빌트인] 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118[step7 : Keybutton Driver (LDM platform_driver) ] [1] ~/arch/arm/mach-s5pv210/mach-elv210.c //cpu//board///* tip * 보드는 누군가의 보드를 보고 만듬, 그래서 참고한 부분이 꼭 존재함..