免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: psp3000pes
打印 上一主题 下一主题

[驱动] 如何用arm-linux-gcc编译驱动程序,Makefile文件怎么写? [复制链接]

论坛徽章:
0
21 [报告]
发表于 2011-04-11 18:33 |只看该作者
回复 20# amarant


    哦,这样啊。不过我kernel跑的不是我五楼写的KDIR呀,因为那个KDIR所在的内核的配置是用于移植到ARM上的配置啊。。。我用过我kernel所跑的内核目录编译过 就是我在三楼写的那个:ifneq ($(KERNELRELEASE),)
obj-m:=hello.o
else
KDIR:=/lib/modules/$(shell uname -r)/build
all:
        make -C $(KDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=arm-linux-
clean:
        rm -f *.ko *.o *.mod.o *.mod.c *.symvers
endif
但是还是不通过啊??
那我现在在另一个一样的系统重新做该怎么做呢?

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
22 [报告]
发表于 2011-04-11 18:48 |只看该作者
/lib/modules/$(shell uname -r)/build
这个的是你宿主机的头文件
你必须要用你arm板子上跑的kernel的头文件

论坛徽章:
0
23 [报告]
发表于 2011-04-11 21:07 |只看该作者
回复 22# amarant


    哦,我明白了,可为什么我五楼那个却没有安装成功呢?那个错误好像是因为内核里缺少什么函数造成的?是不是这个用于编译arm驱动的内核也要怎样编译过呢?

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
24 [报告]
发表于 2011-04-11 21:22 |只看该作者
可能你代码有问题

论坛徽章:
0
25 [报告]
发表于 2011-04-11 22:18 |只看该作者
回复 24# amarant


    但是我换一个别人写好的编译还是有这个问题啊

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
26 [报告]
发表于 2011-04-11 22:50 |只看该作者
回复 23# psp3000pes


    先要把kernel  编译过才能行。

论坛徽章:
0
27 [报告]
发表于 2011-04-12 00:34 |只看该作者
回复 26# goldenfort


    kernel编译过了。我执行过make zImage、make modules、make modules_install和make install步骤了,只是是不是要用arm-linux-gcc编译的?

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
28 [报告]
发表于 2011-04-12 07:59 |只看该作者
回复 25# psp3000pes


    因为你写的模块里面有内核里面没有导出的函数,你试试写个最简单的,就是init和exit的函数都是空的试试

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
29 [报告]
发表于 2011-04-12 11:24 |只看该作者
回复 27# psp3000pes


    如果要  用arm-linux-gcc 编译 module, 应该用 arm-linux-gcc 编译kernel.

要不 arm-linux-gcc 编译出来的module, 往哪个 kernel 上加载

论坛徽章:
0
30 [报告]
发表于 2011-04-12 22:06 |只看该作者
回复 28# amarant


    不回吧。我想可能是那个ARM上跑的kernel没有包含这些头文件所致,但是现在我又用宿主机上的kernel目录来编译还是错误很多。唉. . .
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP