二、Linux设备驱动 - Menuconfig、Kconfig、.config

  • Menuconfig的操作
  • Kconfig和.config文件
  • Linux内核配置裁减

1. Menuconfig的操作

Linux编译器通过.config文件确认哪些代码编译进内核,哪些被裁减掉menuconfig是生成.config的一个工具。
在Linux源码目录下输入命令make Menuconfig,可以进入配置界面
– menuconfig实现的代码在源码“scripts”目录下
在这里插入图片描述
常用操作
– 上下选择→按键“上下方向键”
– 左右选择→按键“左右方向键”
– 进入下级界面→按键“回车”
– 返回上级界面→选择“Exit”+按键“回车”
– 帮助→选择“help”+按键“回车”
搜索
– 界面输入“/”,输入查找关键词,输入“回车”即可搜索
– 使用“空格”键选择具体驱动配置,有三种状态
– “M”编译成模块(需要在编译文件里面特殊定义,后面介绍)
– “空”不编译状态
– “*”编译进内核
退出
– 不保存退出
– 保存退出

2. Kconfig和.config文件

  • Kconfig也是通过脚本编写而成,所以学会“仿写”即可。 Kconfig文件在每一级目录下都有,源码下的如下图所示。mainmenu菜单可以看到平台“arm”和内核版本“3.0.15”
    在这里插入图片描述
  • Kconfig文件——driver目录下的Kconfig分析
    在这里插入图片描述
  1. drivers/Kconfig 文件显示菜单 menu “Device Drivers”,并且source 引用的资源都在drivers目录下,其中source “driver/char/Kconfig”,表示引用这个目录下的Kconfig文件。
  2. driver/char/Kconfig 文件显示菜单 menu “Character devices”,并且source 引用的资源都在drivers/char 目录下,其中医用的config LEDS_CTL… 就是LEDS的配置项
  • .config文件
    通过menuconfig的配置,最终生成.config文件,让内核调用

3. Linux内核配置裁减

模仿写hello即可

  • vi drivers/char/Kconfig
  • / 搜索LEDS
  • 模仿写HELLO tristate表示三态,默认状态是 y ,保存退出
    在这里插入图片描述
  • make menuconfig 进入配置页面
  • 进入目录依次找到HELLO配置项
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 保存退出
  • 查看生成的 .config 文件配置
    在这里插入图片描述
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AIOT技术栈

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值