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

原文链接: https://yq.aliyun.com/articles/236967

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

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

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

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

手把手教你写第一个Linux驱动程序_第1张图片

hello.c内容如下:

hello.c包含的头文件就类似咱们写标准C一样的头文件。

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

手把手教你写第一个Linux驱动程序_第2张图片

Makefile内容如下:

手把手教你写第一个Linux驱动程序_第3张图片

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

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

注意这里一定要加 / 

手把手教你写第一个Linux驱动程序_第4张图片

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

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

手把手教你写第一个Linux驱动程序_第5张图片

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


我们就可以将以下的zImage下载到开发板上去看是否已经加载了这个驱动程序:

手把手教你写第一个Linux驱动程序_第6张图片


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


你可能感兴趣的:(手把手教你写第一个Linux驱动程序)