E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
linux设备驱动
Linux设备驱动
程序架构分析之一个I2C驱动实例
作者:刘昊昱博客:http://blog.csdn.net/liuhaoyutz内核版本:3.10.1 编写一个I2C设备驱动程序的工作可分为两部分,一是定义和注册I2C设备,即i2c_client;二是定义和注册I2C设备驱动,即i2c_driver。下面我们就以mini2440的I2C设备at24c08EEPROM为例,介绍如何完成这两个工作。一、定义和注册I2C设备步骤1:用i2c_boar
liuhaoyutz
·
2020-08-03 19:05
Linux设备驱动程序架构分析
linux设备驱动
命令 lsmod insmod rmmod modinfo modprobe
lsmod显示已经加载的模组:#lsmodmali2913010-Live0xbf1f5000(O)xradio_core2319550-Live0xbf15b000xradio_mac2606291xradio_core,Live0xbf109000sunxi_eve65740-Live0xbf103000gslX680new6417810-Live0xbf000000lsmod实际是读取/pr
Aero Learning...
·
2020-08-03 09:11
linux
脚本
调试技巧
Linux设备驱动
中的并发控制之六(读写自旋锁)
7.5.2读写自旋锁自旋锁不关心锁定的临界区在进行什么操作,不管是读还是写,都一视同仁。即便多个执行单元同时读取临界资源也会被锁住。对共享资源并发访问时,多个执行单元同时读取它不会有问题,读写自旋锁(rwlock)可允许读的并发。读写自旋锁是一种比自旋锁粒度更小的锁机制,它保留了“自旋”的概念,但在写操作方面,只能最多有1个写进程,在读操作方面,同时可以有多个读执行单元。读和写不能同时进行。读写自
静能生悟
·
2020-08-03 08:47
Linux驱动开发
Linux设备驱动
中的并发控制,原子打操作、自旋锁、信号量、完成量、互斥体
linux设备驱动
中的并发控制7.2中断屏蔽中断屏蔽的使用方法为:local_irq_disable();//开中断....criticalsection//临界区......local_irq_enable
SongYuLong的博客
·
2020-08-02 19:43
Linux
Driver
Davinci DM6446开发攻略——LINUX GPIO驱动源码移植
一、DM6446GPIO的介绍说到LINUX驱动移植,没有移植过的朋友,或刚刚进入LINUX领域的朋友,最好去看看《
LINUX设备驱动
程序》第三版,有个理论或感性的认识。
weixin_33835103
·
2020-08-01 04:38
面试相关问题(Android /C++)
几个重要的知识点:1.一篇文章了解相见恨晚的AndroidBinder进程间通讯机制https://blog.csdn.net/freekiteyu/article/details/700823022.
linux
沉默的过客
·
2020-08-01 02:39
Android
宋宝华——
Linux设备驱动
开发详解:基于最新的Linux 4.0内核(第一章)
首先声明,这并不是原创,内容均来自与题目中的书本,但是文章分类并无笔记或者读书手札的选项。为什么要读书?答:非科班出身,看韦东山教程快速入门,但是自身了解的知识面实在是太少了,看书可能会从文字中体会到更多作者想表达的思想——并不是说韦东山教程不好,但是教程毕竟不能面面俱到,而且即使这样,看和听的过程中仍会有疏漏,自己的注意力不可能一直保持很集中。为什么要读这本书?答:这本书多么好吗?不确定;只不过
周周zlove
·
2020-07-31 23:48
Linux存储IO栈(1)-- 内核对象与对象集
Linux内核对象和对象集内核对象作为
Linux设备驱动
模型的基础,主要是抽象和封装总线、设备、驱动、类和接口之间的关系具体实现的相关代码,并在sysfs中呈现。
haleycomet
·
2020-07-31 17:55
存储
Linux内核
Linux设备驱动
开发详解-内核模块一个最简单的内核模块编译、加载、卸载、查看
模块和应用程序的区别模块应用程序init_module为入口函数main入口函数cleanup_modulereturn被动调用主动执行内核空间用户空间系统调用库函数、系统调用Printkprintf权限要求高权限要求低源程序这是一个最简单的内核模块程序,以后的内核程序就是从这里扩展。//1.包含头文件#include//添加模块信息,不加也行//标明遵循GPL协议,MODULE_LICENSE(
SSS的博客
·
2020-07-30 13:00
linux驱动编程
linux设备驱动
程序的hello模块编译过程
今天把
linux设备驱动
程序(第三版)的第一个模块hello模块编译通过了,这个东西卡了我好长时间了,期间我又花了很多时间去看linux程序设计(第二版),终于今天机械性地完成了这个试验。
xqt8888
·
2020-07-30 13:15
linux驱动程序读书笔记
Linux 驱动模块编译,加载过程
本文记录我的第一个
Linux设备驱动
程序的编译过程。遇到问题的解决方法。环境:2.4.18-14的内核,Linux内核源码:2.4.18。
jiakun5893423
·
2020-07-30 12:55
Linux
Linux
embeded
linux内核驱动模块开发makefile实例解析
以下是摘自网络上的一个经典的
linux设备驱动
的Makefile文件,以及详细的内容解释。此文件可以完成对大部分驱动的编译,使用时只需要稍加修改就可以了。$(warningKERNEL
leon1741
·
2020-07-30 11:50
玩转linux
编写一个简单的linux模块 hello
今天看着《
Linux设备驱动
程序》,跟着编写一个简单的hello模块:hello.c#include#includeMODULE_LICENSE("DualBSD/GPL");staticinthello_init
谨笃行之
·
2020-07-30 11:38
Linux驱动
【linux驱动】一文读懂
linux设备驱动
模型(常见总线bus)
总线分类接上一篇讲了总线模型,总线从代码角度看都是虚拟概念,但是有的总线对应有实体硬件,有的没有。platform总线就没有实体硬件,这种称作虚拟总线。SPI,IIC这种有实体硬件的应该是真正的总线了=。=platform总线总线的设计是为了代码的复用,其中platform总线是最经常使用的虚拟总线,任何直接与CPU打交道的设备都挂接在platform虚拟总线上。platform总线已经实现好的,
mini-coco
·
2020-07-30 11:57
Linux
kernel
linux驱动
spi
pl022
驱动模型
总线
35.【linux驱动】spi framebuffer驱动
spi相关内容可以看一文读懂
linux设备驱动
模型(常见总线bus)。首先是spi驱动,屏幕的操作由厂家C51代码改编而来
mini-coco
·
2020-07-30 11:26
Linux
kernel
spi
spi
framebuffer
linux内核
Linux驱动
【linux驱动】一文读懂
linux设备驱动
模型(总线bus)
总线模型简单的设备驱动都是一个文件,init_module,exit_module之后就是一通操作。但是总线这个词常常听说,但是却不明所以然。下面大话一下如何从最基本的驱动一步步演变成为总线模型的。首先从代码的角度看,代码分为数据(设备地址,初始参数,依赖的GPIO)和逻辑,为了复用逻辑于是吧数据单独拿出来。这样就可以实现多个设备共用一套逻辑,最后这些数据在内核代码中就被称为了设备,而逻辑就被称为
mini-coco
·
2020-07-30 11:25
Linux
kernel
linux内核
linux驱动
驱动模型
第21章
Linux设备驱动
的调试之GDB调试器的用法
本章知识点为了方便进行
Linux设备驱动
的开发和调试,建立良好的开发环境很重要,还要使用必要的工具软件以及掌握常用的调试技巧等。1、Linux下调试器GDB的基本用法和技巧。
静能生悟
·
2020-07-30 10:37
Linux驱动开发
2020-02-06-
Linux设备驱动
开发2-内核编译和加载
layouttitlesubtitledateauthorheader-imgcatalogtagspost
Linux设备驱动
开发2-内核编译和加载如何编译内核,并让其启动起来2020-02-06TupeloShenimg
Aaron_Shen_Gao
·
2020-07-30 00:00
linux内核开发
2020-02-06-
Linux设备驱动
开发0-环境搭建
layouttitlesubtitledateauthorheader-imgcatalogtagspost
Linux设备驱动
开发0-环境搭建学习Linux驱动开发,当然得有一个自己的练兵台了!
Aaron_Shen_Gao
·
2020-07-30 00:59
linux内核开发
5.
linux设备驱动
模型
1.
linux设备驱动
模型简介1.1、什么是设备驱动模型(1)类class、总线bus、设备device、驱动driver(2)kobject和对象生命周期(3)sysfs(4)udev1.2、为什么需要设备驱动模型
QQ2651401966
·
2020-07-29 23:56
驱动开发
驱动学习
i2c_add_driver:i2c驱动注册流程分析
参考文章:
Linux设备驱动
子系统-I2Chttp://blog.csdn.net/pillarbuaa/article/details/7680372#t0本篇以以声卡驱动cx2070x为例,从而对整个
neverbefat
·
2020-07-29 21:05
linux内核学习笔记
一、
Linux设备驱动
- HelloDriverModule
Linux内核针对驱动的处理有以下两种方式:第一种方式:把所有需要的功能全部编译到内核中,这种方式会导致重新添加或者删除功能的时候,需要重新编译内核。第二种方式:动态的添加模块,也就是要介绍的“模块的方式添加驱动”。mini_linux_module.c#include#includeMODULE_LICENSE("DualBSD/GPL");MODULE_AUTHOR("Aiot");stati
IOT技术栈
·
2020-07-29 20:56
嵌入式Linux-4412
(三)写一个完整的Linux驱动程序访问硬件并写应用程序进行测试
本系列导航(一)初识Linux驱动(二)
Linux设备驱动
的模块化编程(三)写一个完整的Linux驱动程序访问硬件并写应用程序进行测试(四)
Linux设备驱动
之多个同类设备共用一套驱动(五)
Linux设备驱动
模型介绍
hanp_linux
·
2020-07-29 19:45
linux
Linux驱动
(四)
Linux设备驱动
之多个同类设备共用一套驱动
本系列导航(一)初识Linux驱动(二)
Linux设备驱动
的模块化编程(三)写一个完整的Linux驱动程序访问硬件并写应用程序进行测试(四)
Linux设备驱动
之多个同类设备共用一套驱动(五)
Linux设备驱动
模型介绍
hanp_linux
·
2020-07-29 19:45
linux
Linux驱动
(五)
Linux设备驱动
模型介绍
本系列导航(一)初识Linux驱动(二)
Linux设备驱动
的模块化编程(三)写一个完整的Linux驱动程序访问硬件并写应用程序进行测试(四)
Linux设备驱动
之多个同类设备共用一套驱动(五)
Linux设备驱动
模型介绍
hanp_linux
·
2020-07-29 19:45
linux
Linux驱动
(六)Linux驱动子系统-I2C子系统驱动
本系列导航(一)初识Linux驱动(二)
Linux设备驱动
的模块化编程(三)写一个完整的Linux驱动程序访问硬件并写应用程序进行测试(四)
Linux设备驱动
之多个同类设备共用一套驱动(五)
Linux设备驱动
模型介绍
hanp_linux
·
2020-07-29 19:14
linux
Linux驱动
I2C
转自:http://blog.csdn.net/shui1025701856/article/details/7565352参考
Linux设备驱动
开发详解第十五章一、I2C体系结构[csharp]viewplaincopyI2C
fssf0079
·
2020-07-29 18:14
Linux系统
中断上下文
一、中断下半部-工作队列1、中断先看一下宋宝华先生的《
linux设备驱动
开发详解》里面对中断的描述吧。这本书个人感觉写的比较好,从开始学驱动到现在,还能从中得到不少知识。
饭小粒
·
2020-07-29 18:03
驱动
中断上下文
《
Linux设备驱动
程序》——时间、延迟及延缓操作
一、度量时间差一)、相关介绍1、时钟中断由系统定时硬件以周期性的间隔产生,这个间隔有内核根据HZ的值设定,HZ是一个与体系结构有关的常数。1)、作为一般性规则,即使知道对应平台上的确切HZ值,也不应在编程依赖该HZ值。2)、如果想改变系统时钟中断发生的频率,可以通过修改HZ值来进行。但是,如果修改了头文件中的HZ,则必须使用新的值重新编译内核以及所有模块。2、每当时钟中断发生时,内核内部计数的值就
一世豁然
·
2020-07-29 15:25
linux驱动
linux驱动开发9之I2C驱动模型
1.
linux设备驱动
到底复杂在什么地方?
wangdapao12138
·
2020-07-29 14:09
linux驱动编程
内核模块编写
参考资料:《
Linux设备驱动
程序第三版》来源:http://blog.csdn.net/rosetta/article/details/7563601以前也曾经想过往Linux内核编程方向长展,但总归是没有入门的机会
sweird
·
2020-07-28 10:23
Linux
Linux内核模块编程入门
linux设备驱动
开发之设备驱动软件架构思想
linux驱动的软件架构我们知道linux驱动软件是为了挂接在cpu总线上的设备而出现的,这些设备有例如速度传感器、键盘输入、lcd显示等。我们的cpu通过总线访问这些设备,例如读、写、控制等操作,访问的这些动作实现就是我们写的驱动。从上面我们可以看出,不管访问哪种设备,我们几乎都要有读、写、控制等这些通用操作。所以为了追求代码上的复用性,我们可以把上面那些通用的逻辑操作封装成一个类似c++语法中
小段孩
·
2020-07-28 03:14
linux设备驱动开发
linux设备驱动
程序之时钟管理
时钟管理模块是linux系统为统一管理各硬件的时钟而实现管理框架,负责所有模块的时钟调节和电源管理。时钟管理模块主要负责处理各硬件模块的工作频率调节及电源切换管理。一个硬件模块要正常工作,必须先配置好硬件的工作频率、打开电源开关、总线访问开关等操作,时钟管理模块为设备驱动提供统一的操作接口,使驱动不用关心时钟硬件实现的具体细节1.系统时钟结构系统时钟主要是指一些源时钟,为其它硬件模块提供时钟源输入
lbaihao
·
2020-07-28 01:34
免费的编程中文书籍索引【收藏速度】
语言无关类优质博客PyTab在线手册中心ImportNew廖雪峰的官方网站程序员博客墙操作系统开源世界旅行手册鸟哥的Linux私房菜Linux系统高级编程TheLinuxCommandLine(中英文版)
Linux
.NET快速开发框架
·
2020-07-27 20:19
Web前端
项目与团队管理
计算机常用技术
开源
如何学习
linux设备驱动
面对不断升级的内核,如何学习
linux设备驱动
面对不断升级的linux内核、GNU开发工具、linux环境下的各种图形库,很多linux应用程序开发人员和
linux设备驱动
开发人员即兴奋,又烦躁。
iamwenyifuxing
·
2020-07-16 00:27
linux内核驱动
Linux设备模型之device_add
了解这些知识,对于学习
linux设备驱动
有很大的帮助。linux设备类型的内容还是比较多的,这里就重点说明device_add函数的流程。
红娃子
·
2020-07-16 00:55
Linux内核
Linux驱动
创建一个设备节点 主要命令及参数
Linux下生成驱动设备节点文件的方法有3个:1、手动mknod;2、利用devfs;3、利用udev在刚开始写
Linux设备驱动
程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux
我是黏黏虫
·
2020-07-15 23:55
嵌入式linux
Linux设备驱动
程序安装fatal error: linux/module.h: No such file or directory
在做
Linux设备驱动
程序安装实验时,执行gcc-cmydev.c产生fatalerror:linux/module.h:Nosuchfileordirectory错误信息mydev.c代码如下:#ifndef
CoyAce
·
2020-07-15 17:49
操作系统
第二章 第二节
Linux设备驱动
程序之--我的第一个程序 Hello World
废话少说,开始我的第一个程序,同所有的程序一样,我先从Helloworld开始:先建一个test_modules目录,以便以后练习模块:[root@hhhello]#pwd/home/hh/test_modules/hello[root@hhhello]#vimhello.c#include#includeMODULE_LICENSE("DualBSD/GPL");staticinthello_i
xiao888lin
·
2020-07-15 10:32
linux设备驱动
读书笔记
设备驱动简介机制:提供什么能力策略:如何使用这些能力在编写驱动时,程序员应当编写内核代码来存取硬件,但是不能强加特别的策略给用户,因为不同的用户有不同的需求.驱动应当做到使硬件可用,将所有关于如何使用硬件的事情留给应用程序编写驱动需要注意的地方:必须注意并发/重入的问题内核空间和用户空间不能直接操作,必须通过特别的函数(copy_from_user/copy_to_user)来操作内核线程只有一个
sure365
·
2020-07-14 23:23
什么是I/O寄存器的边际效应
个人理解:内存操作没有边际效应,在《
linux设备驱动
程序》中是这样描述的:内存写
dragon_cdut
·
2020-07-14 21:19
linux驱动
从零开始之驱动发开、linux驱动(二十、
linux设备驱动
中的并发控制)
本文参考自宋宝华老师的《linux驱动开发详解》并发(Concurrency)指的是多个执行单元同时、并行被执行,而并发的执行单元对共享资源(硬件资源和软件上的全局变量、静态变量等)的访问则很容易导致竞态(RaceConditions)只要并发的多个执行单元存在对共享资源的访问,竞态就可能发生。1.对称多处理器(SMP)的多个CPUSMP是一种紧耦合、共享存储的系统模型,,它的特点是多个CPU使用
to_run_away
·
2020-07-14 16:07
从零开始系列
从零开始学linux驱动
Linux设备驱动
程序学习(十六)——Linux设备树解析
设备树简介 在内核源码中,存在大量对板级细节信息描述的代码。这些代码充斥在/arch/arm/plat-xxx和/arch/arm/mach-xxx目录,对内核而言这些platform设备、resource、i2c_board_info、spi_board_info以及各种硬件的platform_data绝大多数纯属垃圾冗余代码。为了解决这一问题,ARM内核版本3.x之后引入了原先在PowerP
Alex-wu
·
2020-07-14 07:58
Linux设备驱动程序
Linux设备驱动程序
Linux设备驱动
---获知当前时间(高于jiffies精度)
内核一般通过jiffies值来获取当前时间。尽管该数值表示的是自上次系统启动到当前的时间间隔,但因为驱动程序的生命期只限于系统的运行期(uptime),所以也是可行的。驱动程序利用jiffies的当前值来计算不同事件间的时间间隔。硬件给内核提供一个系统定时器用以计算和管理时间,内核通过编程预设系统定时器的频率,即节拍率(tickrate),每一个周期称作一个tick(节拍)。Linux内核从2.5
all8023
·
2020-07-14 07:11
Linux
关于自旋锁spinlock的一些理解
在《LINUX内核设计与实现》《
LINUX设备驱动
程序》里都提过,在非抢占式的单处理器系统上的自旋锁被优化为不做任何事情。
老猪jim
·
2020-07-14 00:44
Linux内核比较出名的四本书
windows下阅读Linux内核源代码:阅读代码一般用sourceinsight3.到百度可以搜索到,序列号到百度也可以搜索到Linux内核比较出名的四本书为:深入理解Linux内核(ulk3),情景分析,
Linux
xingwang_ye
·
2020-07-13 22:16
Linux设备驱动
--------platform虚拟总线
一、platform总线引入的目的自内核2.6版本开始,需要关注的是总线、设备和驱动这3个实体,总线将设备和驱动绑定。在Linux内核系统中注册一个设备的时候,会寻找与之对应驱动进行匹配;相反地,系统中注册一个驱动的时候,会去寻找一个对应的设备进行匹配。匹配的的工作由总线来完成。将设备和驱动独立开,驱动尽可能写的通用,当来了一个类似的设备1后也可以使用这个驱动,让驱动程序可以重用。这体现了Linu
xiedapang_pang
·
2020-07-13 22:06
ifconfig相关
参考资料:《
Linux设备驱动
程序第三版》,scull源码,Linux内核源码来源:http://blog.csdn.net/rose
丶不断追寻
·
2020-07-13 21:08
linux
ifconfig
linux
kernel
源码
Linux设备驱动
(三)—— 块设备驱动
块设备驱动在前一章,我们具体的介绍了简单字符设备驱动的编写,在具体的工程中,需要考虑的比我们写的复杂得多,还要考虑电源管理,以及定时器的一些东西。这一章,我们会介绍linux三种设备驱动中的块设备驱动。块设备与字符设备有很大的不同。字符设备与块设备I/O操作的不同如下:1)块设备只能以块为单位接受输入和返回输出,而字符设备则是以字节为单位;大多数的设备是字符设备,因为他们不需要缓冲而且不易固定块大
Thanos Yan
·
2020-07-13 12:52
linux设备驱动
Linux设备驱动
(五)—— 中断机制
Linux设备驱动
(五)——中断机制一、基础概念什么是中断?
Thanos Yan
·
2020-07-13 12:21
linux设备驱动
上一页
7
8
9
10
11
12
13
14
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他