Linux内核模块开发套路
凡事都有一个套路,不懂就很难,懂了就很简单,Linux开发亦是如此~~
玩转物联网
专注于嵌入式IOT软件技术,包括但不限于嵌入式系统、上位机、物联网以及Linux等编程,期待和你一起交流学习~~~~文中相关的源码,可关注公众号:玩转IoT物联网 进行获取
展开
-
ARM-Linux 常用驱动头文件说明
#include <linux/module.h> //最基本的文件,支持动态添加和卸载模块。Hello World驱动要这一个文件就可以了#include <linux/fs.h> //包含了文件操作相关struct的定义,例如大名鼎鼎的struct file_operations //包含了struct inode 的定义,MINOR、MAJOR的头文件。#...原创 2020-11-30 20:54:30 · 347 阅读 · 0 评论 -
02-编写单个字节设备模块的驱动套路
目录1.单字节设备和多字节设备的区别2.单字节设备(LED设备驱动)的驱动套路2.1 头文件2.2 定义设备驱动相关的变量2.3 编写file operations 相关操作的函数2.3.1 open函数2.3.2 release函数2.3.3 write函数2.3.4 read函数2.3.5 填充file operations结构体2.4 模块的初始化和卸载2.4.1 模块的初始化2.4.2 模块的卸载2.5 声明2.6完整代码如下:...原创 2020-11-27 11:39:32 · 180 阅读 · 0 评论 -
01-编写内核模块的套路
文章目录目录文章目录一、Linux和内核模块的关系二、 内核模块的编写套路2.1 头文件2.2 模块初始化2.3 模块退出2.4 模块的各种方法2.5 模块的许可证和描述2.6 模块的其他一些特性2.6.1 符号导出2.6.2 带参数的模块3.总结4.简单的例子:4.1不带参数的hello world4.1.1 编写C源文件 vi hello.c4.1.2 编写Makefile文件,需要根据实际情况填入Linux内核源码的目...原创 2020-11-11 14:58:17 · 266 阅读 · 0 评论