前言
本文的写作对象是刚刚接触Linux设备驱动,希望能够快速上手编写一个简单设备驱动的学生或者是爱好者。读者应当对Linux操作系统有一定的了解,掌握基本的Linux系统命令。
准备工作
搭建Linux环境
本文所使用的Linux环境为:
项目 | 内容 |
---|---|
操作系统 | Ubuntu 14.04 LTS |
搭建时间 | 2015年12月 |
内核版本 | 3.16.0-30-generic |
内核版本比较新,但是由于我们此次编写的驱动非常简单,几乎没有任何功能,因此与内核版本的关系不大。
安装编译工具
整个驱动程序是在x86的平台下运行的,因此我们需要gcc编译器。安装gcc编译器的方法可以使用命令
$ sudo apt-get install build-essential
输入
gcc -v
可以得到输出结果为(输出信息太多,这里仅显示最后一行)
gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
这就证明gcc编译器安装成功。
构造内核树
内核树的构造是驱动编写的首要步骤。通常情况下,我们编写Linux驱动的目的是为了在嵌入式平台上识别自定义硬件设备