Linux内核是可配置,进入到linux目录,输入make menuconfig 将会有模块选择界面,前两句是

scripts/kconfig/mconf Kconfig

.config - Linux/x86 3.10.65 Kernel Configuration

Kconfig是默认选项,.config是当前内核配置文件。

这里介绍如何添加有依赖关系的linux驱动。

1.driver驱动下添加新的模块类

drivers/Makefile文件添加obj-$(CONFIG_TEST_DEVICE) +=test/

drivers/Kconfig文件中添加source "drivers/test/Kconfig"

drivers/test/Kconfig示例

可以在make menuconfig配置界面中Ddevice Driver子选项下来改TEST_DEVICE配置,保存至.config。

也可以直接在.config文件中添加下面内容

2.添加依赖新模块类的radio驱动

drivers/test/Makefile添加obj-$(CONFIG_TEST_DEVICE) +=radio/

drivers/test/Kconfig添加source "drivers/test/radio/Kconfig"

drivers/test/radio/Makefile示例obj-$(CONFIG_TEST_RADIO_DRIVER) += radio.o

drivers/test/radio/Kconfig示例

此时可以在make menuconfig配置界面中Device Drivers的TEST_DEVICE目录下找到TEST_RADIO_DRIVER选择加载方式。

也可以在linux3.10/.config文件的CONFIG_TEST_DEVICE=y后面添加CONFIG_TEST_RADIO_DRIVER=m。

整理

通过实践来理解linux内核模块的编译。Kconfig是make menuconfig时加载的,最后编译规则保存到.config文件中。.config和各个目录下的Makefile是在编译时读取的文件。

我们跟踪CONFIG_TEST_DEVICE、 CONFIG_TEST_RADIO_DRIVER、 TEST_DEVICE、TEST_RADIO_DRIVER几个关键字即可理解编译的流程。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

linux添加驱动目录,Android系统添加Linux驱动相关推荐

  1. android驱动之旅-在Ubuntu上为Android系统编写Linux内核驱动程序(3)

    Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节.也就是说,把对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空 ...

  2. 为android系统添加USB AUDIO设备的放音和录音功能

    转载请注明出处:http://blog.csdn.net/adits/article/details/8242146 开发环境简介 1. 主机系统: Unbuntu10.10 2. android系统 ...

  3. 为android系统添加USB AUDIO设备的放音和录音功能(转载)

    开发环境简介 1. 主机系统: Unbuntu10.10 2. android系统版本: 4.0.3(Linux kernel 3.0.8) 综述 android的音频系统非常庞大复杂:涉及到java ...

  4. Android研究-linux内核启动到android系统

    很多人阅读代码,总喜欢从头开始,这样觉得很安全,有依靠,无论如何总是能知道"头",有头就能找到任何需要的部分. Android生在linux内核基础上,linux内核启动的最后一步 ...

  5. Linux(ubuntu)重新装完系统WIFI没有驱动、无法连接简易上网教程

    Linux(ubuntu)重新装完系统WIFI没有驱动.无法连接简易上网教程 1.换一个无线网卡管理器: wicd 执行下载程序 中间会有一次提示按回车 sudo apt-get install wi ...

  6. Android系统移植:驱动篇

    [导语]在Android系统移植中,有很重要的一个部分工作,就是为新平台上的硬件设备移植驱动程序.因为Android系统是基于Linux kernel内核构建,所以这里说的移植驱动程序,其实就是基于A ...

  7. android usb wifi驱动下载,android 平台USB wifi驱动移植及使用

    一.   Android平台Wifi的基本代码路径 1.       Wpa_supplicant源码部分 external/wpa_supplicant_6/ 生成库libwpa_client.so ...

  8. linux与安卓系统目录,android系统架构及源码目录结构

    1. android系统架构: android系统架构采用了分层架构的思想,如下图所示,从上到下共4层,分别为:应用程序层.应用程序框架层.系统库和android运行时层.linux内核层. 每层功能 ...

  9. 5添加一块盘_win系统,Linux系统,重装系统后,添加盘简易教程

    第1章新机器添加盘的方法 1.鼠标右键打开我的电脑,点击管理 2.点击磁盘管理管理 3.点击下一步管理 4.点击下一步 5.选中磁盘1 6.点击完成,现在完成初始化磁盘了 7.再次回到磁盘管理,磁盘1 ...

最新文章

  1. node seneca_使用Node.js和Seneca编写国际象棋微服务,第3部分
  2. Linux下rcS文件中sleep用法,对busybox工具rcS脚本中exec执行﹑后台执行和nohup执行的理解...
  3. pcb结构链表_简单说说链表和一个应用实例
  4. edgesForExtendedLayout ios7新特性
  5. Oracle提供的自治事务记录日志的方法
  6. C# XElement
  7. 用Python爬取GDP数据
  8. STLINK 烧写器引脚定义
  9. LATEX编译出现Undefined control sequence.
  10. “减糖”迫在眉睫,“代糖”或成最佳考量?
  11. 全球与中国云合同管理软件市场深度研究分析报告
  12. 博图在线升级 gsd_美生在线消费全返张鹏海外大举收割国内韭菜。
  13. python计算列表里各科的成绩(算法)
  14. 102道java算法
  15. 商城项目09_品牌管理菜单、快速显示开关、阿里云进行文件上传、结合Alibaba管理OSS、服务端签名后直传
  16. 超级计算机有啥用途,什么是超级计算机及其用途?
  17. push代码到git上报错failed to push some refs to ‘远程仓库地址‘问题
  18. Vue--Router--路由传参的方法
  19. Elasticsearch 常见问题汇总及解决姿势(后续会持续更新)
  20. Linux系统man命令显示中文

热门文章

  1. windows服务器安装nginx
  2. php点击按钮跳转页面heeader,php - 通过FPDF生成后插入水印并打印PDF - SO中文参考 - www.soinside.com...
  3. python最新版安装图集_通过python简单的实现了plist、json图集的切割
  4. 局域网限速软件_8款Windows实用软件推荐,满满的干货,总有一款是你必备的
  5. 华硕服务器安装完系统起不来,w10安装后启动不起来的具体处理办法【图文】
  6. java 求最大公因数_求最大公约数的三种算法(java实现)
  7. poj1753_flipgame_枚举
  8. 【bzoj1704】[Usaco2007 Mar]Face The Right Way 自动转身机 贪心
  9. 单线驱动74hc595(转)
  10. 转载_模运算_归纳得很精华啊