关于在Helper2416开发板编译内核和驱动的问题总结

关于在Helper2416开发板编译内核和驱动的问题总结


1. 先说编译内核

    1> 官方提供的3.2版本内核是.tar格式需要用如下命令才能解压:

tar -xvJf  HELPER2416-KERNEL3.2-V110.tar -C /opt
    解压内核到/opt目录下。

    2> 首先要配置一下内核,不能直接make,要不然一堆问题,哪怕是只输入一下这个配置命令:    

make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig
    然后退出会自动保存.config文件,且记不能直接make menuconfig。

    3> 编译内核时也要指定平台和交叉工具链,命令如下:

make ARCH=arm CROSS_COMPILE=arm-linux- zImage
    这样就不会出现什么错误了,编译通过!就可以进行驱动编译了!


2. 驱动模块编译

    编写了简单的hello world内核模块想测试一下,make之后总是出错:
    /xxxx/xxx_hello.c:1: 错误:代码模式‘kernel’在 32 位模式下不受支持
    /xxxx/xxx_hello.c:1: 对不起,尚未实现:未编译入对 64 位模式的支持
    make[2]: *** [hello.o] 错误 1
    make[1]: *** [module] 错误 2

   

    原因是因为在makefile中未指定平台和交叉编译器,下面是正确的makefile:

obj-m := webee210_hello.o
KDIR := /opt/s3c-linux.jyx
all:
	make -C $(KDIR) M=$(shell pwd) modules  <span style="color:#ff0000;">ARCH=arm CROSS_COMPILE=arm-linux-</span>
clean:
	rm -f *.ko *.o *.mod.o *.mod.c *.symvers
上面编译内核时也指定了嘛,所以这里要注意,这样的话再编译就没什么问题啦 !


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值