上面我们的驱动是放在了内核源码的目录下来实现的编译成驱动模块,很多时候我们都是
拿到一个驱动源码,不需要把他放到内核源码里面,而是直接把他编译成驱动模块,下面我们
来讲下实现方法,我们还是以蜂鸣器的驱动为例来讲解。
1)因为开发板带的内核默认是把蜂鸣器直接编译到内核里面了,所以我们要重复前边的
步骤“1”到步骤“19”,完成这些步骤以后,把生成的镜像“zImage”烧写到开发板。
2)然后在虚拟机的目录下用命令 mkdir 建立文件夹“module”,如下图所示。

3)然后用命令 cd 进入到建立的“module”文件夹,如下图所示

4)拷贝内核里面的蜂鸣器驱动到 module 文件夹,如下图所示。

5)然后在 module 文件夹建立文件“Makefile”,如下图所示。

6)然后在"Makefile"文件输入下面的信息。
obj-m += itop4412_buzzer.o
KDIR := /home/broswer/iTop4412_Kernel_3.0
PWD = $(shell pwd)
all:
make -C $(KDIR) M=$(PWD) modules
clean:
rm -RF *.o
其中的“KDIR := /home/broswer/iTop4412_Kernel_3.0"是指定我们内核源码所在的目
录,我这里内核源码是放在了“/home/broswer/”目录下面,需要根据自己的存放位置来修
改这个目录。
7)然后保存并退出 Makefile,在终端输入”make“命令,编译蜂鸣器驱动,如下图所
示。

8)编译完成后,可以看下在“module”文件夹下面生成了“itop4412_buzzer.ko”,

如下图所示。

9)然后可以参照前面的步骤”22“来测试我们编译的蜂鸣器驱动了。

最新文章

  1. [转]CSS 类名的单词连字符:下划线还是横杠?
  2. Mockito Hello World
  3. 【权值线段树】bzoj3224 Tyvj 1728 普通平衡树
  4. Java并发之CyclicBarrier 可重用同步工具类
  5. Spring3 报org.aopalliance.intercept.MethodInterceptor问题解决方法
  6. css3360度旋转动画
  7. day11基础代码——函数指针
  8. HDU1043 Eight(BFS)
  9. IIS发布 用户 \'IIS APPPOOL\\X\' 登录失败
  10. nginx启用status状态页
  11. POJ 1979 红与黑
  12. Android 音视频深入 十三 OpenSL ES 制作音乐播放器,能暂停和调整音量(附源码下载)
  13. acm 2044
  14. POST—常见的4种提交方式
  15. [洛谷P2747] [USACO5.4]周游加拿大Canada Tour
  16. tomcat控制台启动成功但是却访问不了主页
  17. php 冒泡法 排序
  18. APP运营
  19. Solr工具类
  20. 2、开始学习C++

热门文章

  1. 六十一、SAP中的逻辑运算与进制转换
  2. ajax异步提交 有时会出现无bug的数据处理异常-----debug没有问题,正常运行却数据处理不正确,极少机会会出现正常的处理结果
  3. Day 20:网络编程(1)
  4. Linux重要命令练习之bc
  5. windows driver 获取文件属性
  6. C++ STD Gems06
  7. JDBC模板CRUD
  8. 《新标准C++程序设计》3.1.1-3.1.3(C++学习笔记5)
  9. [题解] Luogu P5641 【CSGRound2】开拓者的卓识
  10. idea xml文件去掉背景黄色