linux教程之Linux操纵体系驱动编译与运转
只要了解了Linux的基础之后,应该就可以很轻易的解决掉这方面的问题。而有些朋友们常常一接触Linux就是希望构架网站,根本没有想到要先了解一下Linux的基础。这是相当困难的。1、手工加载测试
1、insmod./key_test.ko加载驱动模块到内核
2、cat/proc/modules|grepkey_test检察key_test模块在内核中的地点,不加过滤器能够看到全体加载的模块。
3、lsmod显现模块,这时候能够看到一切的模块名字,前面跟的是主设备号和次设备号。
4、rmmodkey_test把模块从内核里卸载。
2、静态加载
1、把key_test.c源代码放到内核源代码的/drives/char/下,由于这是属字符型驱动,放在这编译到zImage中。
2、这时候我们makemenuconfig编译内核是看不到key_test这个选项的。我们把这个选项写到菜单内里才行。在内核源代码的/drives/char/下有一个Kconfig文件,翻开
(1)viKconfig加几行到内里:
configConFig_key_test
bool"keytest"//后面谁人bool换成tristate就是撑持模块化编译
下面句是在makemenuconfig时会呈现keytest这个选项在drive/char子菜单下,bool后面是TAB键
------help----------这句是呈现在菜单选项上面的
Thiskeytesthelp.这句是你的驱动的申明会呈现在help内里
(2)在/drivers/char目次下的Makefile文件里加上一句:
obj-$(CONFIG_key_test)+=key_test.o
下面这句是让Make时把key_test编译到内核中。
(3)makemenuconfig把key_test选项拔取上
(4)makezImage
天生zImage文件,重启动加载这个新编的内核。
3、lsmod就可以看到key_test了,可是还不克不及用,没有接口,也就是/dev上面没有
4、mknod/dev/key_testc1210这是创立设备到/dev下,使一般程序能够挪用了,121是在源代码里界说的它的主设备号,0是次设备号。
5、cat/dev/key_test这是相称于open这个设备了,大概写一个程序间接挪用open、write等函数。
fd=("/dev/key_test",ORW);
</p>
按照它们在系统中的作用分成几个部分介绍给大家,通过这些基础命令的学习我们可以进一步理解Linux系统: 随着Linux技术的更加成熟、完善,其应用领域和市场份额继续快速增大。目前,其主要应用领域是服务器系统和嵌入式系统。然而,它的足迹已遍布各个行业,几乎无处不在。 甚至目前许多应用软件都是基于它的。可是没有哪一个系统是十分完美的。 通过一条缓慢的调制解调器线路,它也能操纵几千公里以外的远程系统。 熟悉并掌握安装Linux,安装是学习的前提。目前较常见的安装方法有二种: 尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助. 如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。 我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是2000,后来又有了XP,上大学时又有了win7。
页:
[1]