커널을 arm용으로 컴파일을 하시면 asm-arm 이 asm으로 링크가 걸리게 됩니다.

그러면 에러가 안날 것입니다.

그리고 gpio안에 있는 메이크 파일에서 자신이 컴파일한 커널 디렉토리로 바꾸
어 주셔야 합니다.

디바이스 드라이버는 커널에 아주 민감합니다.

암용으로 커널을 먼저 컴파일 하시고, 그 후에 디바이스 드라이버를 컴파일 해
보세요.

그리고, org같은것을 만들어 주는 이유는 패치파일을 만들기 위함 입니다.


이강준 wrote..
: 제가 시행한 컴파일러 설치와 커널설치의 과정을 적어보았습니다.
:
: CDROM에 있는 cross_compiler의 패키지를 HOW_TO문서에 있는대
: 로 /ez/cross_compiler 폴더안에 복사한후 패키지를 설치하였습니다.
: binutil 패키지 설치, 암용 라이브러리 설치, 암용 크로스 컴파일러 설치.
:
: 그랬더니 /usr/arm-linux 밑에 bin, include, lib 이렇게 세 개의 폴더가 생 기
: 더군여.. 그리고 /usr/bin 폴더밑에 arm-linux-addr2line,arm-linux-ar,
: arm-linux-as, ... , arm-linux-gcc, ...등등 암용 파일들이 생겼습니다.
: 그리고 /usr/arm-linux/bin 으로 패스를 잡아주었구여..
:
: 그런데 /usr/arm-linux/bin 안에는 ar,as,ld,nm,ranlib,strip 5개의 파일만 들
: 어있더군여..
: 컴파일러를 이렇게 설치하는게 맞는지여..??
:
: 커널설치또한 HOW TO문서에 있는대로 맨 처음 /ez/sw/kernel위치에서 linux-
: 2.4.10.tar.bz를 압축을 풀었더니 linux란 폴더가 생성되었습니다. 그다음 순
: 서대로 알랜콕스용을 패치하고, ARM용 패치, StrongARM용 패치, 이지보드패 치
: 순으로 하였습니다.
:
: 그런데 ARM용 패치에서 HOW TO문서에는 ARM패치하기 전에 rm -rf linux-
: org1/, ...., cp -dpR linux linux-ac11-org, ........ 등등 4개의 명령을
: 더 넣어주던데 이것은 왜 해주는 것인지여???
: 전 이것은 안해주었습니다.
:
: 이렇게 커널을 패치시켰더니, /ez/sw/kernel 안에 linux폴더가 생겼습니다.
: 그래서 Makefile에서 INCLYDEDIR = /ez/sw/kernel/linux/include 이렇게 해 주
: 었구여.. CC = arm-linux-gcc 이렇게 해주었습니다.
:
: 이렇게 해주는것인 맞는지여??
:
: 이렇게 해주고 게시판에 있는 gpio예제소스를 컴파일해 보았는데 gpio.o를 만
: 드는데 있어서 오류가 발생합니다.
:
: 물론 test프로그램은 gcc로 그냥 컴파일 하여 실행파일을 생성할 수 있었고
: 여..
:
: 몇일째 들여다 봐도 왜 그런지 모르겠네여... ㅡㅡ
: 바쁘시더라도 답변 부탁드릴게여...
:
: 참, 그리고 gpio.c에 보니까 헤더파일 정의에서 asm으로 되어있던
: 데 /ez/sw/kernel/linux/include안에는 asm은 없더군여.. 그래서 asm-arm으 로
: 바꾸어 주었습니다.
:
: 첨부파일로 컴파일시 나타나는 상황(오류)을 올렸습니다.
:
: [root@sch test]# make
: arm-linux-gcc -D__KERNEL__ -DMODULE -Wall -O2 -I.. -
: l/ez/sw/kernel/linux/include -c -o gpio.o gpio.c
: In file included from /ez/sw/kernel/linux/include/linux/ext3_fs_i.h:19,
: from /ez/sw/kernel/linux/include/linux/fs.h:302,
: from gpio.c:10:
: /ez/sw/kernel/linux/include/linux/rwsem.h:27:
: asm/rwsem.h: ?? ???? ????? ??
: In file included from /ez/sw/kernel/linux/include/asm-arm/uaccess.h:7,
: from gpio.c:15:
: /ez/sw/kernel/linux/include/linux/sched.h:20:
asm/mmu.h: ?? ???? ????? ??
: In file included from /ez/sw/kernel/linux/include/linux/sem.h:4,
: from /ez/sw/kernel/linux/include/linux/sched.h:24,
: from /ez/sw/kernel/linux/include/asm-arm/uaccess.h:7,
: from gpio.c:15:
: /ez/sw/kernel/linux/include/linux/ipc.h:21:
: asm/ipcbuf.h: ?? ???? ????? ??
: In file included from /ez/sw/kernel/linux/include/linux/sched.h:24,
: from /ez/sw/kernel/linux/include/asm-arm/uaccess.h:7,
: from gpio.c:15:
: /ez/sw/kernel/linux/include/linux/sem.h:35:
: asm/sembuf.h: ?? ???? ????? ??
: make: *** [gpio.o] 오류 1
: [root@sch test]#