비디오 모듈이 있고 arm-eabi-gcc
크로스 컴파일러로 컴파일 중입니다. 다음 명령을 사용하여 컴파일했습니다. $ arm-eabi-gcc -O2 -DMODULE -D__KERNEL__ -W -Wall -isystem /lib/modules/
uname -r /build/include panel-xxxxxxx.c
. arm-eabi-gcc가 포함 된 크로스 컴파일 모듈
In file included from /lib/modules/3.13.0-32-generic/build/include/linux/types.h:5:0,
from /lib/modules/3.13.0-32-generic/build/include/linux/list.h:4,
from /lib/modules/3.13.0-32-generic/build/include/linux/module.h:9,
from panel-gis317.c:17:
/lib/modules/3.13.0-32-generic/build/include/uapi/linux/types.h:4:23: fatal error: asm/types.h: No such file or directory
compilation terminated.
을 가지고 그리고 구글에서 검색 한 후, 나는 하드웨어 아키텍처를 지정해야하지만 명령 행에 gcc
와 arch
를 사용할 수있는 권리 사용을 찾을 수 없습니다 것을 발견했다. 나는에 .ko
모듈의 insmod
을 위해이 일을하고있다 :
사람이 내가하는 데 사용할 수있는 어떤 플래그 나 제안하시기 바랍니다 수있는이 Makefile
주를 사용하지 않고 명령 행에서 .c
파일 (모듈)을 얻었다 크로스를 컴파일 테스트 용 하드웨어. BTW .o
파일의 도움으로
, 우리는 특정 포함 리눅스 커널 아키텍처와 .c file
'-02'는'-O2'이어야합니다. –
컴파일러 명령 행에서'uname -r' 부분과 혼동합니다. 그것은 호스트의 커널 릴리즈가 아니라 타겟에 대한 것입니다. - 저에게 잘못되었습니다. 호스트의 대상 커널 포함 파일이 필요합니다. – tofro