Ubuntu 14.04上驱动开发环境配置,及最简单一个驱动编写。
来源:互联网 发布:练小提琴的软件 编辑:程序博客网 时间:2024/06/05 02:50
开发ubuntu 14.04 本机使用的驱动程序。
安装开发工具:
* apt-get install build-essential
建2个文件:
最简单的驱动代码 Hello.c
/*0 * hello.c * * Created on: May 14, 2015 * Author: neo */#include "linux/init.h"#include "linux/module.h"static int hello_init(void){ printk(KERN_ALERT "Hello World linux_driver_module\n"); return 0;}static void hello_exit(void){ printk(KERN_ALERT "Goodbey linux_driver_module\n");}module_init(hello_init);module_exit(hello_exit);MODULE_LICENSE("GPL");MODULE_AUTHOR("lpj");
建个Makefile
#sample driver moduleobj-m := hello.oKDIR = <span style="color:#ff0000;">/lib/modules/3.13.0-32-generic/build/</span>all:$(MAKE) -C $(KDIR) M=$(PWD).PHONY:cleanclean:rm -f *.mod.c *.mod.o *.ko *.o *.tmp_versions
编译: make
编译成功之后会生成相应有ko文件,也就是我们想要的驱动了.
查看ko模块的信息 modinfo hello.ko
插入模块 insmod hello.ko
如果出现: Invalid module format 错误,可能是 Makefile 的KDIR 是否指向了错误的版本,最好用 uname -r 命令查看版本,比较下是否相同。
驱动就安装完成了。
卸载模块: rmmod hello
如果先在另一终端中运行: sudo cat /proc/kmsg 就可以看到有 hello world 打印。
---------------------
如果驱动不是为本机用的,则需要下载目标版本的源代码并编译。比如:
1. 查看源内的内核源码类表
* apt-cache search linux-source
2. 下载安装内核源代码:
* sudo apt-get install linux-source-xxxx
* 将源码解压到/usr/src/目录后,进入linux-source-(版本号)目录中执行下面几个命令:
* sudo make oldconfig 或 menuconfig
* sudo make prepare
* sudo make scripts
* sudo make modules
* sudo make modules_install 会安装到/lib/modules$ 中
3. makefile 指向/lib/modules/中指定的路径。就可以编译了。
参考:
http://blog.csdn.net/acanoe/article/details/7404595
http://www.cnblogs.com/hoys/archive/2010/10/29/1864536.html
- Ubuntu 14.04上驱动开发环境配置,及最简单一个驱动编写。
- ubuntu驱动开发环境配置
- 驱动开发第一步,入门,最简单的驱动代码编写
- windows驱动开发——一个最简单DDK驱动。
- Ubuntu-12.04 驱动开发环境配置
- ubuntu 12.04驱动开发环境配置
- ubuntu驱动开发环境
- linux最简单的驱动编写及测试流程
- 驱动开发环境配置
- 简单驱动开发配置
- 测试驱动开发随笔------一个最简单的例子
- ubuntu 下 驱动开发环境
- ubuntu 下 驱动开发环境
- ubuntu 下 驱动开发环境
- ubuntu 下 驱动开发环境
- ubuntu 下 驱动开发环境
- Ubuntu 10.10 驱动开发环境IDE 配置 ---基于kate
- ubuntu中文输入法配置及简单显卡驱动安装
- xcode反汇编调试iOS模拟器程序(七)Debug与Release的区别
- POJ 1080
- Could not calculate build plan: Plugin org.apache.maven.plugins:maven-war-plugin:2.3
- oracle静默安装文件db_install.rsp详解
- 态度
- Ubuntu 14.04上驱动开发环境配置,及最简单一个驱动编写。
- 用css对webkit内核的浏览器自定义滚动条
- UIPickerView
- mysql中的两种引擎 innoDB IsAM 的区别
- Centos编译安装 LAMP (apache-2.4.7 + mysql-5.5.35 + php 5.5.8)+ Redis
- 房贷计算方法
- 用得着的公共方法
- iOS并发编程--8种加锁方式及比较
- web页面添加二维码的方式