Chinaunix

标题: 编译helloworld模块,不过,请T-Bagwell 帮忙,多谢! [打印本页]

作者: armips    时间: 2010-10-26 15:19
标题: 编译helloworld模块,不过,请T-Bagwell 帮忙,多谢!
在网上搜索相关信息,发现了T-Bagwell去年的帖子,信息一样啊,怎么解决的?谢谢!
Makefile:
------------------------------------------------------------------------
CROSS_COMPILE=arm-linux-
ARCH:=arm
CC:=$(CROSS_COMPILE)gcc
LD:=$(CROSS_COMPILE)ld
obj-m = led_driver.o
module-objs = led_driver.o

KDIR = /home/dingf/linux-2.6.36/
PWD = $(shell pwd)
default:
        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
        rm -rf  *.o *.ko *~

---------------------------------------------------------------------------
[root@vmpc led_driver]#  make
make -C /home/dingf/linux-2.6.36/ SUBDIRS=/home/dingf/led_driver modules
make[1]: Entering directory `/home/dingf/linux-2.6.36'
  CC [M]  /home/dingf/led_driver/led_driver.o
cc1: error: unrecognized command line option "-m64"
cc1: error: unrecognized command line option "-mno-red-zone"
cc1: error: unrecognized command line option "-mcmodel=kernel"
cc1: error: unrecognized command line option "-maccumulate-outgoing-args"
make[2]: *** [/home/dingf/led_driver/led_driver.o] 错误 1
make[1]: *** [_module_/home/dingf/led_driver] 错误 2
make[1]: Leaving directory `/home/dingf/linux-2.6.36'
make: *** [default] 错误 2
[root@vmpc led_driver]#
作者: armips    时间: 2010-10-26 15:30
搞定了:命令行上要把arch 和cross_compile指定
我得kernel就是这么编译的

[root@vmpc led_driver]# make ARCH=arm CROSS_COMPILE=arm-linux-
make -C /home/dingf/linux-2.6.36/ SUBDIRS=/home/dingf/led_driver modules
make[1]: Entering directory `/home/dingf/linux-2.6.36'
  CC [M]  /home/dingf/led_driver/led_driver.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/dingf/led_driver/led_driver.mod.o
  LD [M]  /home/dingf/led_driver/led_driver.ko
make[1]: Leaving directory `/home/dingf/linux-2.6.36'
[root@vmpc led_driver]#




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2