Linux-驱动编译流程
来源:互联网 发布:网络集线器怎么用 编辑:程序博客网 时间:2024/06/06 19:32
以下面的字符设备源码为例:(当然用户也可以使用helloworld的源码):
把文件放在:
\home\ellison\linuxdev\demo_chrdev
1. 编写Makefile文件,放在同样的目录:
在该Makefile中,指定了使用内核的版本:
KERNELDIR:=/lib/modules/$(shell uname -r)/build
建议这么写,避免编译出来的.ko模块与系统自带的内核版本不匹配而报错;
PWD:=$(shell pwd): 表示编译后回到当前目录;
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules 这一句就是我们真正的编译指令;
2. 编译:
在终端中,寻址到文件所在的目录,输入 make ,程序就会自动编译了;
编译后会生成对应的.ko文件;
3. 安装模块
4. 查看模块是否安装成功:
4. 查看安装过程中打印出来的信息:dmesg|tail
5. 把模块加入到设备系统的/dev目录下(即生成一个新的设备节点):设备名- demo_chrdev
接下来在/dev目录下可以看到这个设备节点: demo_chrdev
6. 编写程序测试这个模块:
编译:
运行:
可以看到程序正确运行了。
这里演示的是一个简单的字符设备驱动程序,大家可以按照这个流程试试别的。
0 0
- Linux-驱动编译流程
- linux驱动开发流程
- linux驱动开发流程
- linux驱动开发流程
- Linux驱动开发流程
- linux驱动开发流程
- linux驱动简单流程
- USB驱动流程 linux
- linux驱动开发流程
- linux驱动开发流程
- linux驱动开发流程
- linux驱动开发流程
- 编译LINUX 内核流程
- Linux内核编译流程
- Linux内核编译流程
- Linux编译声卡驱动
- linux 驱动 编译 Makefile
- linux本地驱动编译
- 1-Android工程目录介绍
- 开源DataGridView扩展(2) 自定义的Button列
- c++静态链接库和动态链接库
- python并发测试脚本
- 一些重要函数
- Linux-驱动编译流程
- powershell中禁止执行脚本解决办法
- Android基础知识
- 深入研究java.lang.ThreadLocal类
- Linux常用命令,个人记录
- 自己动手写RTP服务器——用RTP协议传输TS流
- 基本算法——排序算法
- python数组的使用
- $GLOBALS['HTTP_RAW_POST_DATA']、$_POST和php://input深入探究三者的区别