阐述动态的Linux添加驱动模块
创始人
2024-06-16 07:30:39
0

网络科技的时代,电脑已成为生活必不可少的物件,我们应用电脑,可我们知道电脑是怎样工作的么?电脑中必不可少的就是操作系统。现在很多人应用Linux操作系统,这里介绍Linux的知识,让你学好应用Linux系统。今天一讲Linux添加驱动模块,希望你记住Linux添加驱动模块 。

说明:原先的test键盘驱动做为实验材料,要求是通过insmod动态加载到系统中思考:要动态加载,必须先在文件系统里放入test.ko文件,.ko文件是专门的模块加载文件,那么如何生成.ko文件呢?方法就是在编译的时候生成。当然,不能把test文件单独拿到随意的地方用arm-linux-gcc -o test.ko test.c这样的语法编译,那么该怎么做呢?分析如下:

1. 把test.c文件放到YLP2440的根目录下,(和板子里用的内核相同的内核版本),YLP2440是这个内核再PC中的文件目录2. 然后修改YLP2440根目录的Makefile文件,在头部添加如下代码:

  1. obj-m :test.o  
  2. KERNELDIR := /root/test/YLP2440  
  3. PWD := $(shell pwd)  
  4. modules:  
  5. $(MAKE) -C $(KERNELDIR) M=$(PWD) modules  
  6. modules_install:  
  7. $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install 

3. make 4. make结束后生成test.ko文件,然后把它放到文件系统中,新做一个cramfs文件系统,下载到板子里5. 启动板子,然后在test.ko文件目录下输入:insmod test.ko 6. 完成

上述代码中,modules和modules_install为什么要取这个名字我也不知道,另一种代码写法是这样的:

  1. obj-m :test.o  
  2. KERNELDIR := /root/test/YLP2440  
  3. PWD := $(shell pwd)  
  4. default:  
  5. $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules 

此写法不会出现modules被覆盖这样的提示

完成以上,成功Linux添加驱动模块。

【编辑推荐】

  1. Linux UNIX系统学习经验指导
  2. 简单理论Linux ReiserFS系统分析特点与效果
  3. Linux软件安装入门学习
  4. 实操手册:恢复Linux口令
  5. 学会Linux操作系统检查邮件系统是否安装成功

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...