Ubuntu 14.04上驱动开发环境配置,及最简单一个驱动编写。
2015-05-18 15:01
645 查看
开发ubuntu 14.04 本机使用的驱动程序。
安装开发工具:
* apt-get install build-essential
建2个文件:
最简单的驱动代码 Hello.c
建个Makefile
编译: 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
/*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 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上驱动开发环境配置,及最简单一个驱动编写。
- ubuntu14.04在Vim上配置Python开发环境
- odoo开发(一)--Ubuntu14.04配置odoo10.0开发环境
- ubuntu环境下写一个简单的操作系统(一)环境配置
- ubuntu14.04 LTS Qt 配置 cmake3.5 和 opencv3.1.0 和 ROS 开发环境
- 搭建一个开发Predix软件的Ubuntu 系统(2)配置使用Predix工业云平台的基础环境
- 搭建一个开发Predix软件的Ubuntu 系统(3)配置Java开发环境
- Ubuntu14.04配置opencv2.4.11开发环境
- 基于gulp编写的一个简单实用的前端开发环境
- ubuntu14.04配置java开发环境
- Ubuntu 配置qt5.9.1 android 开发环境(简单记录)
- Linux驱动开发】Ubuntu14.04配置tftp服务并与ARM tftp
- Ubuntu 14.04 下安装Qt5 并配置开发环境(终端下使用)
- 基于gulp编写的一个简单实用的前端开发环境
- ubuntu16.04LTS下gedit的C语言开发环境简单配置
- ubuntu 14.04 安装 eclipse 并配置 Android 开发环境
- ubuntu14.04-64位机配置android开发环境,ADT,sdk,eclipsea
- Linux开发环境搭建04---Ubuntu14.04中基本开发环境配置
- Ubuntu 14.04 配置 Android sdk 开发环境
- ubuntu14.04 配置python开发环境 eric4