驱动
光电子
这个作者很懒,什么都没留下…
展开
-
驱动--入门实例字符驱动(一)
一、基本理论二、基本数据结构和实例三 、总结一、基本理论本文实例参考《linux设备驱动开发详解第二版》二、基本数据结构和实例#ifndef _GLBMEM_H_#define _GLBMEM_H_#include <linux/cdev.h>#include <linux/semaphore.h>#define GLOBALMEM_S...原创 2019-08-19 11:43:22 · 124 阅读 · 0 评论 -
驱动--入门实例字符驱动(二)
一、基本理论二、基本数据结构和实例一、基本理论本文实例参考《linux设备驱动开发详解第二版》,实例只是为了入门测试,初始化基本没有错误检查。这次基于前面的实例,在filp->private_data添加自定义的设备指针,这个是许多驱动都采取的做法。二、基本数据结构和实例#ifndef _GLBMEM_H_#define _GLBMEM_H_#include &l...原创 2019-08-19 11:50:12 · 129 阅读 · 0 评论 -
驱动--sysfs相关驱动
一、基本理论二、基本数据结构和实例三 、总结一、基本理论sysfs虚拟文件系统的实现与设备模型密切相关,主要用于向用户空间提供系统的信息和改变操作的接口。通过sysfs虚拟文件系统可以dump出内核或驱动的相关结构,以及热插拔后生成的设备信息。很多类似与通用的GPIO操作、或者调试信息、简单的插入的事件等都是通过sysfs dump出来的。有涉及到驱动相关的工作就可以看到sysfs...原创 2019-08-17 00:38:23 · 461 阅读 · 0 评论 -
驱动--入门实例hello驱动(一)
一、基本理论二、基本数据结构和实例三 、总结一、基本理论虽然基本的linux内核是一个大的Image档,也可以当做是一个bin档,可执行文件。但是内核是模块化组成的,它允许在内核运行时向其中动态的插入或删除代码。二、基本数据结构和实例以下是module_init和module_exit宏函数/* Each module must use one module_init...原创 2019-08-18 11:43:32 · 238 阅读 · 0 评论 -
驱动--入门实例hello驱动(二)
一、基本理论二、基本数据结构和实例三 、总结一、基本理论二、基本数据结构和实例、前面hello驱动的升级,定义了一个基于内存int数据的设备,有很多不全的地方,只是简单的一个测试demo。关于其它驱动基本框架都类似,具体的就是操作的寄存器复杂和时序的不同。#include <linux/init.h>#include <linux/module....原创 2019-08-18 15:31:33 · 135 阅读 · 0 评论