【转载】Ubuntu 14.04上驱动开发环境配置,及最简单一个驱动编写。
2018-03-14 15:31
756 查看
开发ubuntu 14.04 本机使用的驱动程序。
安装开发工具:
* apt-get install build-essential
建2个文件:最简单的驱动代码 Hello.c[cpp] view plain copy/*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[html] view plain copy#sample driver module
obj-m := hello.o
KDIR = <span style="color:#ff0000;">/lib/modules/3.13.0-32-generic/build/</span>
all:
$(MAKE) -C $(KDIR) M=$(PWD)
.PHONY:clean
clean:
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
安装开发工具:
* apt-get install build-essential
建2个文件:最简单的驱动代码 Hello.c[cpp] view plain copy/*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[html] view plain copy#sample driver module
obj-m := hello.o
KDIR = <span style="color:#ff0000;">/lib/modules/3.13.0-32-generic/build/</span>
all:
$(MAKE) -C $(KDIR) M=$(PWD)
.PHONY:clean
clean:
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 10.10 驱动开发环境IDE 配置 ---基于kate
- Ubuntu 14.04 下安装Qt5 并配置开发环境(终端下使用)
- 转载:Ubuntu 12.04下安装配置Python 2.7集成开发环境Eric4
- Ubuntu 14.04 配置 Android sdk 开发环境
- Ubuntu下配置一个高效的PHP开发环境GVIM
- ubuntu14.04lts下配置php开发环境
- Ubuntu 14.04.1 配置 Android 源码开发环境(jdk版本切换)(转载)
- Ubuntu下简单配置反编译工具以及其开发环境
- Ubuntu 14.04(64位)配置Android开发环境
- [入门教程]使用Cocos2d-html5游戏引擎编写一个简单的游戏 第一回合: 搭建开发环境
- ubuntu下配置驱动开发环境
- *在ubuntu上搭建开发环境4---ubuntu简单的搭建LAMP环境和配置
- Ubuntu14.04的NFS开发环境配置
- Ubuntu下配置一个高效的PHP开发环境GVIM
- Ubuntu 14.04 配置 Android SDK 开发环境
- Ubuntu14.04配置php-5.6.6开发环境
- ubuntu 12.04驱动开发环境配置
- Ubuntu 14.04 LTS 配置 Android开发环境
- Ubuntu14.04下安装配置Android开发环境