找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 76|回复: 1
打印 上一主题 下一主题

内核---添加驱动

[复制链接]

114

主题

136

帖子

1000

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1000
跳转到指定楼层
1#
发表于 2017-8-30 16:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
怎样修改kconfig
第一步:在对应的设备驱动目录下将kconfig打开,然后修改:
/999/linux-2.6.32.2/drivers/char中的kconfig打开:
修改后然后保存。在linux目录下终端中输入make menuconfig如下所示:
file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps8C00.tmp.jpgfile:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps8C01.tmp.jpg
范例1说明:
config LEDS_MINI2440
        tristate "LED Support for Mini2440 GPIO LEDs" //tristate表示有三种选择*或m或不选
//如果tristate换成bool表示只有两种选择,选中*和不选中
        depends on MACH_MINI2440
     //依赖于MACH_MINI2440宏,如果定义了改MACH_MINI2440宏,那么上面一行菜单才会出现。
        default y if MACH_MINI2440  //即如果选中了MACH_MINI2440才能编译进内核
        help
          This option enables support for LEDs connected to GPIO lines
          on Mini2440 boards.
一般可以不用配置依赖的宏:即如下:
config LEDS_MINI2440
        tristate "LED Support for Mini2440 GPIO LEDs" //tristate表示有三种选择
        default y // 如果是y就默认编译进内核,如果为m默认选项选择编译进模块。如是n
           //表示默认不选。
        Help   //帮助信息
          This option enables support for LEDs connected to GPIO lines
          on Mini2440 boards.
file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps8C02.tmp.jpg
第二步:在linux根目录下输入make menuconfig即可看到。
file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps8C13.tmp.jpg
第三步:修改makefile(在驱动对应的目下的makefile
file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps8C14.tmp.jpg
说明obj-$(CONFIG_LEDS_MINI2440) += mini2440_leds.o
根据CONFIG_LEDS_MINI2440来决定后面mini2440_leds.o代码的编译方式(有的编译成模块有的编译进内核或者不编译)
第四步:写mini2440_leds.c对应的驱动程序
第五步:如果编译进内核就在make menuconfig中对应选项选择为*,如果编译为模块就选为m。
4.8.8知识点8:编写驱动程序实例:
第一步:编写驱动程序:leddeng.c
第二步:修改kconfig(在驱动程序对应的目录下的kconfig)
file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps8C24.tmp.jpg
第三步:修改makefile (在驱动程序对应的目录下的kconfig)
file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps8C25.tmp.jpg
第四步:make menuconfig添加选项:(linux根目录下)
file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps8C26.tmp.jpg
第五步:make modules(编译模块程序)(如果make驱动就直接编译进内核)
6 ~, b( |2 G. e! A+ E# c
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

3

主题

135

帖子

2203

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2203
2#
发表于 2017-11-25 20:25 | 只看该作者
如果是在说的我的话就让人笑话了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-9-17 04:31 , Processed in 0.101107 second(s), 32 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表