驱动框架8——将驱动集成到内核中
来源:互联网 发布:淘宝数据公式pv uv 编辑:程序博客网 时间:2024/06/08 09:12
以下内容源于朱有鹏《物联网大讲堂》课程的学习整理,如有侵权,请告知删除。
十五、将驱动添加到内核中
1、驱动的存在形式
(1)野生,优势是方便调试开发,所以在开发阶段都是这种;
(2)家养,优势可以在内核配置时make menuconfig决定内核怎么编译,方便集成。比如DM9000已经集成在内核中了,可以在menuconfig时配置。
2、驱动开发的一般步骤
(1)以模块的形式在外部编写、调试;
(2)将调试好的驱动代码集成到kernel中
3、实践
(1)关键点:Kconfig、Makefile、make menuconfig
(2)操作步骤
- 第1步:将写好的驱动源文件放入内核源码中正确的目录下;比如led的驱动,应该放在/drivers/leds/目录下;
- 第2步:/drivers/leds/目录下,在Makefile中添加相应的依赖;
- 第3步:在Kconfig中添加相应的配置项;(因为make menuconfig的原理是读取Kconfig中的信息,这里要显示对应的配置项目,则需要添加相应内容)
- 第4步:make menuconfig;(以y为示例,此时会被编译进去;若以M,则不会被编译进去,而是被编译成单独的模块;若以N,则不被编译。)
第2步:
第3步:
第4步:
选择y之后,保存,然后在.config文件中会有如下的宏
结果如下:
十六、目录和文件结构
mach-s5pv210/gpiolib.c s5pv210_gpiolib_init
mach-s5pv210/include/mach/gpio.h#define S5PV210_GPA0(_nr)(S5PV210_GPIO_A0_START + (_nr))
arch/arm/plat-samsung/gpiolib.c里面是210/6410这种4bit CON寄存器类型的操作方法
arch/arm/plat-samsung/gpio.c里面是24XX这种2bit CON寄存器类型的操作方法
drivers/gpio/gpiolib.c里面是内核开发者提供的gpiolib的驱动框架部分
阅读全文
0 0
- 驱动框架8——将驱动集成到内核中
- 怎样将驱动静态的编译到内核中。
- 驱动框架2——内核驱动框架中LED的基本情况
- 驱动框架4——在内核中添加或去除某个驱动
- linux驱动框架——LCD内核驱动配置
- 将自己的驱动加到内核
- 2.6 内核驱动框架
- 内核驱动框架
- 将驱动编译到内核注意一个小问题
- 将LED驱动模块编译到Linux3.10.17内核
- linux内核将新驱动添加到menuconfig菜单
- Linux内核usb驱动框架——U盘挂载
- 驱动框架6——linux内核的gpiolib学习
- Linux设备驱动动态插入内核与直接集成到内核方式的利弊分析
- 内核字符设备驱动框架
- 内核模式驱动框架概述
- 驱动文件增加到内核
- 配置UVCCamera驱动到内核
- 【Unity3d】Unity3d引擎的新纪元——Unity3d 2017
- 2——语音分析——逻辑架构
- Android Fragment MVC思路
- 白云苍狗,雨飘飘... ...
- 绝对定位与相对定位
- 驱动框架8——将驱动集成到内核中
- numpy学习笔记一(n维数组及元素级数组函数)
- VS2010项目文件被卸载的问题
- Android MVP模式实战练习之一步一步打造一款简易便笺app(二)
- vb.net 教程 4-9 二进制文件读写 1
- What is a Servlet?
- redis的数据结构基本操作
- 线程池(java.util.concurrent.ThreadPoolExecutor)的使用(一)
- 【面试常见问题】【C++】指针和引用的区别,有哪些不同点,细细道2