Linux:驱动程序直接编译到内核
2016-04-26 11:15
471 查看
引子:首先实现了可加载的内核模块,通过这个内核模块实现对PWM定时器的控制和中断处理程序的注册。这里讨论一下将内核模块直接编译进内核的过程。
其实很简单
第一步:将源文件代码 mytimer.c(不知道这么说规范不,反正就是 .c 文件)拷到Linux源代码目录下的 drivers 下的某个目录下 如:drivers/char
第二步:修改drivers/char 中的 Kconfig,Kconfig文件维护着内核模块配置的菜单(Linux源代码根目录下 make menuconfig 出来的东西)
打开Kconfig,看到:
menu "Charecter devices" (drivers/char 中的Kconfig维护着菜单中字符驱动的选项)
(依照其他驱动的格式添加)
config MY_TIMER
(Tab)bool "my_timer" (在make menuconfig 打开的菜单中,my_timer 将出现在Charecter
devices 的下一层)
(保存关闭)
如果选择了my_timer 配置结果将体现在Linux源代码根目录下 .config 文件中,在该文件中将会自动添加 CONFIG_MY_TIMER=y 的配置项。
第三步:打开drivers/char 中的 Makefile
(依照其他驱动的格式添加)
obj-$(CONFIG_MY_TIMER) += mytimer.o
(保存关闭)
编译就可以了
其实很简单
第一步:将源文件代码 mytimer.c(不知道这么说规范不,反正就是 .c 文件)拷到Linux源代码目录下的 drivers 下的某个目录下 如:drivers/char
第二步:修改drivers/char 中的 Kconfig,Kconfig文件维护着内核模块配置的菜单(Linux源代码根目录下 make menuconfig 出来的东西)
打开Kconfig,看到:
menu "Charecter devices" (drivers/char 中的Kconfig维护着菜单中字符驱动的选项)
(依照其他驱动的格式添加)
config MY_TIMER
(Tab)bool "my_timer" (在make menuconfig 打开的菜单中,my_timer 将出现在Charecter
devices 的下一层)
(保存关闭)
如果选择了my_timer 配置结果将体现在Linux源代码根目录下 .config 文件中,在该文件中将会自动添加 CONFIG_MY_TIMER=y 的配置项。
第三步:打开drivers/char 中的 Makefile
(依照其他驱动的格式添加)
obj-$(CONFIG_MY_TIMER) += mytimer.o
(保存关闭)
编译就可以了
相关文章推荐
- 命令行更改linux网卡IP地址、网关、DNS
- Linux系统CPU频率调整工具使用
- Linux 下安装配置 JDK
- WPS for Linux提示“系统缺失字体symbol、wingdings、wingdings 2、wingdings 3、webding”的解决方法
- 《Linux C》01 文件I/O之Open操作
- CentOS6 安装Python2.7后,yum出现“No module named yum”错误
- 基于busybox的Linux小系统制作 (initrd)
- 基于busybox的Linux小系统制作 (initrd)
- 基于busybox的Linux小系统制作 (initrd)
- CentOS 6.4 yum快速搭建Zabbix 2.2版本(中文)
- 基于busybox的Linux小系统制作 (initrd)
- Linux单进程打开文件句柄数上限
- Suse Linux常用命令
- Linux学习之CentOS6下Mysql数据库的安装与配置
- centos7系统root无法通过su切换到某个普通用户
- Centos5下安装监控工具nmon
- linux安装中文字体方法
- Linux下vi编辑器粘贴复制剪切功能
- linux下文件的访问时间、修改时间和改变时间
- Firefox 46.0 发布!终于为 Linux 用户集成了 GTK3!