设为首页 加入收藏

TOP

Linux设备驱动开发环境的搭建
2014-11-24 02:09:10 来源: 作者: 【 】 浏览:0
Tags:Linux 设备驱动 开发 环境 搭建

对Linux设备驱动开发有了个初步的认识,下面对Linux设备驱动开发环境的搭建做个小结,以方便自己以后查询,同时也能给同道的初学者一点帮助。


刚接触Linux设备驱动时,初学者往往连如何编译驱动程序都不懂,更别说编译进内核或加载测试了。一般都是在网上找个最简单的 helloworld驱动程序,然后严格按照网上所说的步骤编译,结果却得到一大堆见都没见过的错误,更不要说根据错误信息来解决问题了,很多人到这里就 不知道如何往下进行了。十几天前我也卡在这里很长时间,现在知道所以然了就记下来,些许对一些同道者有帮助。


一个基本的Linux设备驱动开发环境由宿主机和目标机组成,宿主机就是用来做驱动开发工作的主机,目标机就是用来运行和测试设备驱动的主机,在宿 主机上需要有开发工具(gcc,gdb,make等)和linux源码(版本要对应目标机上的linux内核),而目标机上只要运行linux即可。由于 步骤有所不同,下面分为普通Linux设备驱动开发和嵌入式Linux设别驱动开发两种情况来讲述环境的搭建和驱动程序的编译:


(一)普通Linux设备驱动开发


普通Linux主要是区分于嵌入式Linux(一般指uClinux),在这种开发中宿主机和目标机可以是一台主机,即在本机上开发编译然后在本机 上加载运行(Linux设备驱动也可以直接编译进内核,但为了开发工作方便,一般采用动态加载的方式),当然也可以是两台主机,如果是两台主机的话,要保 证宿主机上的linux源码的版本号与目标机中的linux内核版本一致。普通Linux设备驱动开发的步骤如下:


apt-get install build-essential


linux源码可以通过以下几种途径获得:


直接去www.kernel.org下载


通过包管理工具下载源码,在debian和Ubuntu中可以通过下面这个命令下载,


apt-get install linux-source-(版本号) ,下载后的文件在/usr/src目录中,解压到该目录即可


将源码解压到/usr/src/目录后,进入linux-source-(版本号)目录中执行下面几个命令:


make oldconfig


make prepare


make scripts


编写Linux驱动程序,以一个最简单的hello.c为例,hello.c的内容如下:


#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");


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux下编译运行C程序超高速教程 下一篇用“动态数组ArrayList”确定JAVA..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: