Android 添加驱动的两种方式

下面介绍,在Android系统中如何将驱动添加到kernel中。

要求:将驱动queue.c添加kernel中。

方案:下面介绍2种实现方案。2种方案的本质是一样的,区别是一种在menuconfig中单独建立菜单,而另一种则不在menuconfig中单独新建菜单,而是修改已有的配置文件。

1方案一

方案一中,采取的方法是:不新建config菜单,直接将驱动添加到已有的Kconfig中。下面介绍详细步骤。

1.1修改已有配置文件

(1)修改配置文件driver/char/Kconfig,添加如下内容:

config SKYWANG_CQUEUEtristate "skywang char queue driver"helpadd this to support skywang char queueue 

(2)修改配置文件driver/char/Makefile,添加如下内容:

obj-$(CONFIG_SKYWANG_CQUEUE)   += cqueue.o 

1.2 添加“驱动代码”

添加驱动文件,驱动文件路径如下:

drivers/char/cqueue.c 

1.3 添加驱动

执行make menuconfig打开配置界面,并将驱动cqueue.c添加到kernel中。

如图01,是添加cqueue.c前的选项:

如图02,是添加cqueue.c后的选项:

1.4 验证是否添加成功

查看.config文件,应该有如下配置选项:

CONFIG_SKYWANG_CQUEUE=y

2方案二

方案二中,采取的方法是:新建config菜单,将驱动添加到新建的Kconfig中。下面介绍详细步骤。

2.1修改已有配置文件

(1)修改配置文件driver/char/Kconfig,添加如下内容:

source "drivers/char/skywang/Kconfig"

(2)修改配置文件driver/char/Makefile,添加如下内容:

obj-$(CONFIG_SKYWANG_CQUEUE)   += skywang/

2.2新建“驱动配置”

(1)在driver/char下新建目录,新建后的目录完整路径如下:

driver/char/skywang 

(2)新建drivers/char/skywang/Kconfig文件,内容如下:

menu "skywang test devices"config SKYWANG_CQUEUEtristate "skywang char queue driver"helpadd this to support skywang char queueueendmenu 

(3)新建drivers/char/skywang/Makefile文件,内容如下:

obj-$(CONFIG_SKYWANG_CQUEUE)   += cqueue.o

2.3 添加“驱动代码”

拷贝驱动文件,拷贝后的文件路径如下:

drivers/char/skywang/cqueue.c

2.4 添加驱动

执行make menuconfig打开配置界面,并将驱动cqueue.c添加到kernel中。

如图03,是添加cqueue.c前的选项:

如图04,是添加cqueue.c后的选项:

如图05,选择“skywang test drivers”后进入的子菜单界面:

2.5 验证是否添加成功

查看.config文件,应该有如下配置选项:

CONFIG_SKYWANG_CQUEUE=y

Android中添加驱动的方法相关推荐

  1. Android中实现震动的方法

    https://blog.csdn.net/bruceyangjie/article/details/53283899 Android中实现震动的方法 版权声明:本文为博主原创文章,未经博主允许不得转 ...

  2. Android中JNI的使用方法

    Android中JNI的使用方法 首先看一下Android平台的框架图: 可以看到Android上层的Application和ApplicationFramework都是使用Java编写, 底层包括系 ...

  3. Android中添加自己的模块 【转】

    本文转载自:http://wallage.blog.163.com/blog/static/17389624201021791333695/ 转:http://blog.csdn.net/yili_x ...

  4. Android中添加思源字体/NotoSansCJK/SourceHanSans

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 系统版本 ...

  5. springboot在工具类中添加service的方法,显示为空的解决方案

    springboot在工具类中添加service的方法,显示为空的解决方案 参考文章: (1)springboot在工具类中添加service的方法,显示为空的解决方案 (2)https://www. ...

  6. android谷歌补丁日期,在谷歌日历Android中添加开始日期和结束日期之间所有日期的事件...

    在谷歌日历 Android中添加开始日期和结束日期之间所有日期的事件.我希望每3个月剩余一次,直到结束日期. 这是我的功能 public void addEvent1(Context ctx, Str ...

  7. android 怎么加链接地址,Android TextView添加超链接的方法示例

    本文实例讲述了Android TextView添加超链接的方法.分享给大家供大家参考,具体如下: public class Link extends Activity { @Override prot ...

  8. php xml 添加节点 出问题,PHP往XML中添加节点的方法

    本文实例讲述了PHP往XML中添加节点的方法.分享给大家供大家参考.具体方法如下: 1. contacts.xml代码 复制代码 代码如下: J J J Manager National 1971-1 ...

  9. ppt怎么加注解文字_PPT怎么在演示稿中添加批注的方法

    PPT怎么在演示稿中添加批注的方法 2017-10-24 16:46 责任编辑:老王啊 导读 / PPT如何在演示稿中添加批注?设计或制作PPT时,会遇到内容中需要特别解释或着重注意的地方,此时会用到 ...

最新文章

  1. UILabel显示带颜色边的文字
  2. Android Studio打包~安卓打包踩坑及总结
  3. Clojure语法学习-循环
  4. Oracle不同系统之间时间转换(NLS_DATE_LANGUAGE )
  5. 一文读懂 HTTP/1HTTP/2HTTP/3
  6. poj 2965 The Pilots Brothers' refrigerator
  7. 关于jquery基本过滤器中:eq()无法传变量的问题
  8. python删除指定路径文件_基于python实现删除指定文件类型
  9. 关于webstorm 弹出Clear Read-Only status
  10. [20161118]rman备份的疑问2.txt
  11. 外网访问群晖设置ddns教程
  12. Pytorch入门教程学习笔记(六)循环神经网络RNN(学周杰伦写歌)
  13. postgresql.conf log_rotation_size
  14. rbc系统基于通用服务器构建的,列控核心设 RBC系统介绍.doc
  15. matlab randn state 2,randn('state',0)是什么意思?
  16. 《面试官不讲武德》对Java初级程序猿死命摩擦Http协议
  17. 2018-3-25至2018-8-9的日语笔记
  18. docker容器和镜像的区别
  19. xposed伪造收到短信
  20. linux yum install 失败报错:Transaction check error

热门文章

  1. 扇贝编程的python课怎么样_‎扇贝编程-人人能学会的python课 a l’App Store
  2. Discuz 服务器重启后无法访问
  3. Redis 基础 - 优惠券秒杀《分布式锁(初级)》
  4. 提高网站转化率——页面停留时间与网站停留时间
  5. 用matlab表白,你有一颗爱她的心,你就画出来
  6. 啊哈添柴挑战Java1222. 输出菱形
  7. 前端面试--什么是防抖和节流
  8. Android 的 Fragment 教程
  9. 深信服超融合数据通讯口地址冲突报错处理
  10. 和ChatGPT聊了聊BDOS Online,结果……