仓酷云
标题:
来看看:linux驱动编译与加载
[打印本页]
作者:
金色的骷髅
时间:
2015-1-16 12:40
标题:
来看看:linux驱动编译与加载
如果你想在以后的生涯中在软件行业工作的话,学习linux是一项基本技能,所以打从你打算学习linux那天起,放弃windows吧!因为它除了能给你带来片刻的娱乐,别无其他;
编译驱动源码,modpost总是堕落,因而进进/usr/src/`uname-r`目次下
#makescripts
接着再编译源码,之前的毛病消散了。呈现了新的毛病:
**1.c:1052:error:voidvaluenotignoredasitoughttobe
**1.c源代码中的1052行是:
ret=unregister_chrdev(MAJOR,DEVICE_NAME);
当刊出此行时能够编译经由过程,找到linux/fs.h头文件,内里界说了unregister_chrdev()函数:
externvoidunregister_chrdev(unsignedint,constchar*);
此处界说的为void范例函数,而在程序中将其赋值给了ret,这就形成了编译毛病。
因而正文了响应的代码,用unregister_chrdev(MAJOR,DEVICE_NAME);取代便可。如许就可以经由过程编译了。又呈现了新的成绩:
**2.c:474:’SA_INTERRUPT’undeclared(firstuseinthisfunction)//{本来头文件里没有SA_INTERRUPT了,一样平常利用IRQF_SHARED了。}
头文件为/usr/src/linux-2.6.26.8RedHawk5.2.4/include/linux下的interrupte.h
**2.c:474:’SA_SHIRQ’undeclared(firstuseinthisfunction)//{SA_SHIRQ已不撑持了,用IRQF_SHARED}
因而修正了这行,经由过程编译。
新的成绩又呈现了:
**3.c:57:error:’POLL_IN’undeclared(firstuseinthisfunction)
思索一定是因为头文件的成绩,间接刊出此行,先编译经由过程再说,编译乐成!
终究天生了**.ko的模块!
可是,新的成绩又呈现了,一直加载不了该模块
在/lib/modules/2.6.26.8-RedHawk-5.2.4-Moxa/kernel中新建文件夹extra
将天生的**.ko文件复制到该文件下
#depmod
#modprobe**.ko
FATAL:Module**.konotfound.
再用insmod命令尝尝
#insmod**.ko
Insmod:errorinserting‘**.ko’:-1Wrongmediumtype
利用命令#dmesg:
最初两行显现:
[PCI-**]:Errorinfind_device:nocard
[PCI-**]:Errorinfind_device:nocard
由于没有拔出板卡而至
</p>
开发linux发行版的人都是通读过linux内核代码,对linux原理极其精通的人。
作者:
老尸
时间:
2015-1-18 09:53
熟读Linux系统有关知识,如系统目录树,有关内容可购书阅读或搜索论坛。
作者:
精灵巫婆
时间:
2015-1-25 10:27
Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。
作者:
不帅
时间:
2015-2-2 21:51
如果上面的措施没有解决问题,此时你就需要Linux社区的帮助了。 Linux的使用者一般都是专业人士,他们有着很好的电脑背景且愿意协助他人。
作者:
透明
时间:
2015-2-8 07:49
熟悉系统的基本操作,Linux的图形界面直观,操作简便,多加上机练习就可熟悉操作,在Linux下学习办公软件等常用软件。
作者:
若相依
时间:
2015-2-25 02:20
Linux?最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以Linux操作系统有着广泛的应用空间。
作者:
爱飞
时间:
2015-3-7 16:21
硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。
作者:
仓酷云
时间:
2015-3-15 09:45
我学习Linux的心得体会 ,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2