Linux 驱动开发
文章平均质量分 86
Linux 底层驱动相关知识点汇集
wenfei11471
这个作者很懒,什么都没留下…
展开
-
linux内核中的IS_ERR
linux内核中的IS_ERR()、PTR_ERR()和ERR_PTR()在看内核源码的时候,经常会遇到IS_ERR,比如在 linux/arch/arm/kernel/sys_arm.c中asmlinkage int sys_execve(char __user *filenamei, char __user * __user *argv, char __user * __user *原创 2013-01-02 13:14:44 · 16375 阅读 · 3 评论 -
字符设备驱动模型
字符驱动编程模型:1. 设备描述结构cdev 1.1 结构定义 1.2 设备号 1.3 设备操作集在Linux系统中,设备的类型非常繁多,如:字符设备,块设备,网络接口设备,USB设备,PCI设备,平台设备,混杂设备……,而设备类型不同,也意味着其对应的驱动程序模型不同,这样就导致了我们需要去掌握众多的驱动程序模型。那么能不能从这些众多的驱动模型中提炼出原创 2016-05-08 21:48:23 · 5201 阅读 · 0 评论 -
container_of 用法解析
在学习Linux驱动的过程中,遇到一个宏叫做container_of。该宏定义在include/linux/kernel.h中,首先来贴出它的代码:/** * container_of - cast a member of a structure out to the containing structure * @ptr: the pointer to the转载 2011-10-22 13:26:54 · 7462 阅读 · 0 评论 -
container of()函数简介
在linux 内核编程中,会经常见到一个宏函数container_of(ptr,type,member), 但是当你通过追踪源码时,像我们这样的一般人就会绝望了(这一堆都是什么呀? 函数还可以这样定义??? 怎么还有0呢??? 哎,算了,还是放弃吧。。。)。 这就是内核大佬们厉害的地方,随便两行代码就让我们怀疑人生,凡是都需要一个过程,慢慢来吧。 其实,原理很简单: ...原创 2018-02-25 21:15:45 · 94327 阅读 · 51 评论 -
构建Linux内核驱动demo子系统示例
本文参考内核RTC子系统并提取出一个简单的demo驱动子系统框架示例程序,可作为模板,适用于一些简单的具有类似多外设Linux设备驱动归一化开发。原创 2016-02-09 15:51:25 · 4598 阅读 · 2 评论 -
Linux 字符设备驱动结构(一)—— cdev 结构体、设备号相关知识解析
一、字符设备基础知识1、设备驱动分类 linux系统将设备分为3类:字符设备、块设备、网络设备。使用驱动程序:字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设备等。块设备:是指可以从设备的任意位置读取一定长度数据的设备。块原创 2016-03-09 23:12:34 · 59255 阅读 · 31 评论 -
linux设备驱动编写所需的各种头文件(备忘)
在linux设备驱动编写过程中所需要的头文件老是记不住,每次查书的话又感觉特麻烦,所以就在这里总结一下,方便以后写代码。 #include // 最基本的模块支持动态添加和卸载模块 #include // 驱动要写入内核,与内核相关的头文件 #include原创 2013-09-17 10:21:58 · 1098 阅读 · 0 评论