手把手教你写第一个Linux驱动程序

说到写第一个linux内核驱动程序,再简单不过了。之前也写过,此次将作一个图形化的整理。linux

我这里以个人开发环境tiny4412为主,我将在这上面写第一个驱动程序。优化

首先,我在driver/目录下建立yangyx目录,spa

在目录下新建一个hello.c和一个Makefile3d


hello.c内容以下:blog

hello.c包含的头文件就相似我们写标准C同样的头文件。开发

驱动程序__init ,加上这个,程序在编译的过程当中会标识__init段,以此对程序进行优化处理,在这里咱们实现了一个打印语句。it


Makefile内容以下:编译


而后,回到上一级,也就是driver目录下,打开driver目录下的Makefilefile

添加该目录的信息:obj-y  yangyx/下载

注意这里必定要加 / 


而后回到kernel主目录,执行make

编译中最顶层Makefile会根据Makefile编译体系包含咱们在driver目录下和yangyx目录下的Makefile,实现级联编译。


编译完成后在yangyx目录下会生成:


咱们就能够将如下的zImage下载到开发板上去看是否已经加载了这个驱动程序:



程序我已经验证过了,这里就再也不验证,其它平台也是雷同。