迅为嵌入式linux驱动开发笔记(一)—杂项设备、应用与内核间数据传输_北京迅为电子驱动笔记(1)

在这里插入图片描述

三、make menuconfig图形配置界面

1、进入到内核源码路径下,然后输入make menuconfig即可打开此界面。
2、make menuconfig图形化界面的操作
1)搜索功能
输入“/”即可弹出搜索界面,然后输入需要搜索的内容即可。
2)配置驱动的状态
(1)把驱动编译成模块,用M表示。
(2)把驱动编译到内核中,用*表示。
(3)不编译
3、退出
退出分为保存退出和不保存退出

4、make menuconfig有关的文件
Makefile
里面是编译规则。菜的做法。
Kconfig
内核配置的选项,相当于饭店吃饭服务员给的菜单
.config
配置完成内核之后生成的配置选项。相当于点完的菜。

5、make menuconfig会读取哪个目录下的Kconfig文件arch/$ARCH/目录下的Kconfig

/arch/arm/configs#下面有好多配置文件,相当于饭点的特色菜。

6、为什么要复制成.config而不复制成其他文件呢?
肯定不行,因为内核默认读取的Linux内核根目录下的.config作为默认配置选项的。

7、复制的.config不完全符合要求怎么办?
需要使用make menuconfig点菜,调出菜单。配置完成之后自己更新到.config中

8、怎么和Makefile文件建立关系?
当make menuconfig保存退出之后,Linux会将所以的配置选项以宏定义的形式保存在include/generated下面的autoconf.h中。

四、Linux三大设备驱动

字符设备:IO的传输过程是以字符为单位的,没有缓冲。比如IIC,SPI都是字符设备。

块设备:IO的传输过程都是以块为单位的。跟存储相关的都是属于块设备,比如,tf卡

网络设备:与前面两个不一样,是以socket套接字来访问的。

1、杂项设备驱动

杂项设备驱动是字符设备的一种,可以自动生成设备结点。

系统中有许多杂项设备。
cat /proc/misc命令来查看。

2、杂项设备除了比字符设备代码简单,还有什么区别吗?
杂项设备的主设备号是相同的,均为10,次设备号是不同的,主设备号相同就可以节省内核的资源。

3、主设备号和次设备号是什么?

主设备号包含次设备号,主设备号在linux中是唯一的,次设备号不一定唯一。

设备号是计算机识别设备的一种方式,主设备相同的就被视为同一类设备。

主设备号可以必做成电话号码的区号,比如安徽是0551。

次设备号可以比作电话号码。

主设备号可以通过命令cat /proc/devices来查看。

4、杂项设备驱动描述
定义在内核源码路径: vi include/linux/miscdevice.h

  struct miscdevice  {
      int minor;//次设备号
     const char \*name;//设备节点的名字
      const struct file\_operations \*fops;//文件操作集
      struct list\_head list;
      struct device \*parent;
      struct device \*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值