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设备
驱动开发基础
1.驱动概述和开发环境搭建1.1驱动设备的作用对设备驱动最通俗的解释就是“驱动硬件设备行动”。驱动与底层硬件直接打交道,按照硬件设备的具体工作方式,读写设备的寄存器,完成设备的轮训、中断处理、DMA通信,进行物理内存向虚拟内存的映射等,最终让通信设备能收发数据,让显示设备能显示文字和画面,让存储设备能记录文件和数据。由此可见,设备驱动充当了硬件和应用软件之间的纽带,他使得应用软件只需要调用系统软件
12304108
·
2020-08-14 07:45
驱动
设备驱动开发
驱动开发基础
-- linux中msleep精度比较差
转自超哥原话:启江那边反馈msleep精度比较差的问题。我分析了下:因为msleep依赖于jiffies,也就是依赖于CONFIG_HZ值,如果CONFIG_HZ=100,那精度就是10ms,即使msleep(1)希望休眠1ms,实际上休眠时间>=10ms.内核中有接口usleep_range,可以实现us微秒级的休眠:#includevoidusleep_range(unsignedlongmi
诸葛一帆丶
·
2020-07-29 15:22
驱动
操作系统
驱动开发基础
开发环境
Linux 字符设备
驱动开发基础
(一)—— 编写简单 LED 设备驱动
现在,我们来编写自己第一个字符设备驱动——点亮LED。(不完善,后面再完善)硬件平台:Exynos4412(FS4412)编写驱动分下面几步:a--查看原理图、数据手册,了解设备的操作方法;b--在内核中找到相近的驱动程序,以它为模板进行开发,有时候需要从零开始;c--实现驱动程序的初始化:比如向内核注册这个驱动程序,这样应用程序传入文件名,内核才能找到相应的驱动程序;d--设计所要实现的操作,比
zqixiao_09
·
2020-07-15 13:29
Linux
字符设备驱动开发
Linux
驱动开发基础
嵌入式开发
Linux 字符设备
驱动开发基础
(三)—— read()、write() 相关函数解析
我们在前面讲到了file_operations,其是一个函数指针的集合,用于存放我们定义的用于操作设备的函数的指针,如果我们不定义,它默认保留为NULL。其中有最重要的几个函数,分别是open()、read()、write()、ioctl(),下面分别对其进行解析一、打开和关闭设备函数a--打开设备int(*open)(structinode*,structfile*);在操作设备前必须先调用op
zqixiao_09
·
2020-07-10 15:01
Linux
驱动开发基础
Linux
字符设备驱动开发
嵌入式开发
ARM9嵌入式Linux开发-Linux设备管理和
驱动开发基础
设备驱动概述Linux设备分类Linux系统的设备分为三类:字符设备、块设备和网络设备:(1)字符设备通常指像普通文件或字节流一样,以字节为单位输入输出数据的设备,如并口设备、虚拟控制台等。字符设备可以通过设备文件节点访问,它与普通文件之间的区别在于普通文件可以被随机访问(可以前后移动访问指针),而大多数字符设备只能提供顺序访问,因为对它们的访问不会被系统所缓存。但也有例外,例如帧缓存(Frame
求佛_ce123
·
2020-07-05 06:51
ARM9嵌入式Linux开发
Linux 字符设备
驱动开发基础
(五)—— ioremap() 函数解析
一、ioremap()函数基础概念几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种:a--I/O映射方式(I/O-mapped)典型地,如X86处理器为外设专门实现了一个单独的地址空间,称为"I/O地址空间"或者"I/O端口空间",CPU通过专门的I/O指令(
zqixiao_09
·
2020-06-30 19:33
嵌入式开发
Linux
字符设备驱动开发
Linux
驱动开发基础
Windows
驱动开发基础
(五)驱动程序的数据结构
Windows
驱动开发基础
:驱动程序的数据结构。
xiaoiker
·
2020-06-27 03:21
C++
window编程
【原创】01 资源和基础
HyperPlatform可以运行在WIN10x64下参考资料3:15年16年还没有很多VT参考资料只有newbluepill,现在不推荐看这个,因为很老了这个大佬参考资料4:英特尔没给头文件,很不友好看本套视频,需要有
驱动开发基础
驱动环境
a842518839
·
2019-07-20 23:51
VT技术入门
驱动开发基础
- PCI、PCIE基础知识
非常适合初学的pcie博客:PCIE扫盲(第一阶段):http://blog.chinaaet.com/justlxy/p/5100053251PCIe简介:http://blog.chinaaet.com/justlxy/p/5100053066这一章主要介绍PCIe的由来,在2001年的时候被提出,命名“PCI-Express”,主要优势就是传输速率高,另外还有传输距离远、功耗低、抗干扰能力强
诸葛一帆丶
·
2018-07-30 10:16
驱动开发基础
Linux字符设备
驱动开发基础
Linux驱动:封装对底层硬件的操作,向上层应用提供操作接口一.概念介绍一般用户在应用程序里调用的open,read,write函数是c库的函数,这些函数会触发swival异常,从而引发系统调用,进入到内核空间,内核通过VFS(virtualFilesystem)来实现调用不同的驱动函数。例如:我们有一个函数,intmain(){intfd1,fd2;intval=1;fd1=open("/dev
种瓜大爷
·
2017-08-13 22:42
【Linux
driver】
S3C2440之旅
Linux 字符设备
驱动开发基础
(六)—— VFS 虚拟文件系统解析
一、VFS虚拟文件系统基础概念 Linux允许众多不同的文件系统共存,并支持跨文件系统的文件操作,这是因为有虚拟文件系统的存在。虚拟文件系统,即VFS(VirtualFileSystem)是Linux内核中的一个软件抽象层。它通过一些数据结构及其方法向实际的文件系统如ext2,vfat提供接口机制。 Linux有两个特性:a-- 跨文件系统的文件操作 Linux中允许众多不同的
zqixiao_09
·
2016-03-11 23:00
linux
vfs
驱动开发
虚拟文件系统
字符设备
Linux 字符设备
驱动开发基础
(五)—— ioremap() 函数解析
一、 ioremap()函数基础概念 几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种:a--I/O映射方式(I/O-mapped) 典型地,如X86处理器为外设专门实现了一个单独的地址空间,称为"I/O地址空间"或者"I/O端口空间",CPU通过
zqixiao_09
·
2016-03-11 23:00
linux
内存映射
驱动开发
字符设备
ioremap
Linux 字符设备
驱动开发基础
(四)—— ioctl() 函数解析
解析完 open、close、read、write四个函数后,终于到我们的ioctl()函数了一、什么是ioctl ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。下面是其源代码定义:函数名:ioctl功能:控制I/O设备用法:intioctl(inthandle,intcmd
zqixiao_09
·
2016-03-11 22:00
linux
驱动开发
字符设备
ioctl
Linux 字符设备
驱动开发基础
(三)—— read()、write() 相关函数解析
我们在前面讲到了file_operations,其是一个函数指针的集合,用于存放我们定义的用于操作设备的函数的指针,如果我们不定义,它默认保留为NULL。其中有最重要的几个函数,分别是open()、read()、write()、ioctl(),下面分别对其进行解析 一、打开和关闭设备函数a--打开设备 int(*open)(structinode*,structfile*);在操作
zqixiao_09
·
2016-03-11 22:00
linux
write
read
驱动开发
字符设备
Linux 字符设备
驱动开发基础
(二)—— 编写简单 PWM 设备驱动
编写驱动的第一步仍是看原理图: 可以看到,该蜂鸣器由GPD0_0来控制,查手册可知该I/O口由Time0来控制,找到相应的寄存器:a--I/O口寄存器及地址 GPD0CON 0x114000a0b--Time0寄存器及地址 基地址为:TIMER_BASE0x139D0000 这些物理寄存器地址都是相邻的,我们这里用偏移量来表示: 寄存器名 地址偏移量
zqixiao_09
·
2016-03-11 21:00
linux
驱动开发
字符设备
PWM驱动
Linux 字符设备
驱动开发基础
(一)—— 编写简单 LED 设备驱动
现在,我们来编写自己第一个字符设备驱动——点亮LED。(不完善,后面再完善)硬件平台:Exynos4412(FS4412)编写驱动分下面几步:a--查看原理图、数据手册,了解设备的操作方法;b--在内核中找到相近的驱动程序,以它为模板进行开发,有时候需要从零开始;c--实现驱动程序的初始化:比如向内核注册这个驱动程序,这样应用程序传入文件名,内核才能找到相应的驱动程序;d--设计所要实现
zqixiao_09
·
2016-03-10 22:00
linux
驱动开发
字符设备
Linux 字符设备驱动结构(四)—— file_operations 结构体知识解析
前面在 Linux字符设备
驱动开发基础
(三)——字符设备驱动结构(中) ,我们已经介绍了两种重要的数据结构 structinode{...}与structfile{...}
zqixiao_09
·
2016-03-10 22:00
linux
结构
驱动开发
字符设备
file_operation
学习笔记 第一部分 测试
驱动开发基础
原创时间:2016-01-06更新时间:2016-01-06TDD简介Test-DrivenDevelopment,驱动测试开发,是一种软件开发的开发方式.它要求在编写某个功能代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行.我看的这本书叫,可以通过访问官网来购买或免费在线阅读此书讲解TDD的方式是通过Django框架来开发一个Web应用.我在学习的过程中感觉收
u010494080
·
2016-01-06 21:00
python
django
TDD
测试驱动
Windows嵌入式开发系列课程(视频课程讲师:宁杨)
Windows嵌入式开发系列课程(3):WindowsCE.NET USB
驱动开发基础
.zip 讲座内容:本课程首先介绍WindowsCE.NetUSB驱动程序的架构,并且针对一个简单的
·
2015-11-13 06:20
windows
Windows CE下
驱动开发基础
(1)
Windows CE下的串口驱动程序能够处理所有I/O行为类似串口的设备,包括基于16450、16550 UART(通用异步收发芯片)的设备和一些采用DMA的设备,常见的有9针串口、红外I/O口、Modem等。在%_WINCEROOT%\Public\Common\OAK\Drivers\Serial目录下,COM_MDD2子目录包含新的串口驱动MDD层函数代码。COM16550子目录包含串口驱动
·
2015-11-13 02:18
windows
驱动开发基础
资料
1、三种类型的WDM驱动程序 总线驱动程序(bus driver) 功能驱动程序(function driver) 过滤驱动程序(filter driver) 2、其他分类方法 类驱动程序(class driver) 端口驱动程序(port driv
·
2015-10-21 12:18
基础
Linux设备
驱动开发基础
之互斥与同步基础
一些概念竟态:多个执行路径对同一资源进行操作时可能引发的资源混乱行为(①)。执行路径为并发源。临界区:对共享资源的访问代码片段。临界区只能是在一个进程内部而无法跨进程,因为其不是一个对象,我们无法定义一个临界区对象来告知其他进程,而像Mutex和SpinLock都可以。参考这篇文章。中断和抢占:一般都是在中断需要返回前会调用重新调度函数,如果没有禁止抢占,那么就会被高优先级的进程抢占。有的地方可以
sy373466062
·
2015-10-10 11:00
Linux驱动开发
Windows
驱动开发基础
(九)内核函数
Windows
驱动开发基础
系列,转载请标明出处:http://blog.csdn.net/ikerpeng/article/details/38849861这里主要介绍3类Windows的内核函数:字符串处理函数
u012192662
·
2014-08-26 17:00
windows
驱动开发
7
Windows
驱动开发基础
(八)内存管理
Windows
驱动开发基础
系列,转载请标明出处:http://blog.csdn.net/ikerpeng/article/details/38826159就32位的计算机来说,他有4G的真实的物理内存
u012192662
·
2014-08-25 21:00
windows
驱动开发
7
Windows
驱动开发基础
(七)WDM设备的基本结构
Windows
驱动开发基础
系列,转载请标明出处:http://blog.csdn.net/ikerpeng/article/details/38822657WDM驱动即是一种即插即用的驱动。
u012192662
·
2014-08-25 20:00
windows
驱动开发
7
Windows
驱动开发基础
(六)NT驱动的基本结构
Windows
驱动开发基础
系列,转载请标明出处:http://blog.csdn.net/ikerpeng/article/details/38821919NT类型的驱动即不是即插即用的驱动,主要包括3
u012192662
·
2014-08-25 16:00
windows
驱动开发
7
Windows
驱动开发基础
(五)驱动程序的数据结构
Windows
驱动开发基础
:驱动程序的数据结构。
u012192662
·
2014-08-24 11:00
windows
7
linux字符设备
驱动开发基础
知识
这章将介绍Linux系统的设备,这样我们才能清楚的知道应用程序和设备驱动程序是如何的工作的,或者说应用程序是如何控制驱动程序的,进而知道应用程序是如何通过驱动程序操作设备的,另外会详细的介绍设备号及设备文件。 Linux设备分类Linux下的设备通常分为三类,字符设备,块设备和网络设备。字符设备一个字符设备是一种字节流设备,对设备的存取只能按顺序按字节的存取而不能随机访问,字符设备没有请求缓冲区,
shanzhizi
·
2013-02-26 21:00
linux
驱动开发基础
参考书籍《Linux设备驱动第三版》《嵌入式linux应用开发完全手册》(韦东山)《Linux设备驱动开发详解》(宋宝华)我的系统是ubuntu10.04LTS虚拟机VirtualBox4.20开发板友善之臂SBC2440 虚拟机中安装ubuntu,我折腾过CentOS,最后还是选择ubuntu,感觉ubuntu人性化做的比较好,比较简单,而且用的人多,遇到问题随便搜索一下,大多能找到解决办法。主
etual
·
2013-02-23 16:00
驱动开发基础
知识 偶然发现的,很全面,一下子解决了我很多问题。
1、三种类型的WDM驱动程序 总线驱动程序(busdriver) 功能驱动程序(functiondriver) 过滤驱动程序(filterdriver)2、其他分类方法 类驱动程序(classdriver) 端口驱动程序(portdriver) 小端口驱动程序(miniortdriver)3、驱动对象(DRIVER_OBJECT)主要成员 DeviceObject:指向一个设备对象链
minword
·
2012-05-23 21:00
windows
object
String
File
query
Descriptor
【申嵌视频-mini2440专题篇之Linux
驱动开发基础
班】下载地址 - 上海嵌入式家园贺工
嵌入式家园 贺工,从事嵌入式一线研发6年,嵌入式培训讲师3年,一直致力打造最开放、最开放、最自由、最便捷的嵌入式开发、学习、培训平台!嵌入式家园:http://www.embedclub.com/上海嵌入式家园-开发板商城: http://embedclub.taobao.com/目前,嵌入式家园与上海申嵌嵌入式培训强强联手,共同打造免费的嵌入式视频系列讲座 - 《菜鸟玩转嵌入式》,敬请关注。。。
·
2011-10-13 18:00
linux
详细解析windows usb驱动和linux usb驱动的相似和差异(五)
谢谢2.4 linux
驱动开发基础
linux驱动包括3个方面的内容,字符驱动,块驱动,网络驱动,这3种驱动有不同之处,但是驱动模型都是类似的,在讲解linux
驱动开发基础
时,先以字符驱动为例,讲解下字符驱动的驱动模型
smilestone322
·
2011-03-19 23:00
windows
linux
struct
list
Module
File
Windows CE下
驱动开发基础
WindowsCE下
驱动开发基础
http://developer.51cto.com 2009-05-2813:27 靳超伟陈连坤 chinaitlab 我要评论(0)我想即使读者看过微软的关于驱动开发的培训教材和
51bom
·
2010-09-21 22:18
windows
基础
开发
驱动
休闲
Windows CE下
驱动开发基础
WindowsCE下
驱动开发基础
http://developer.51cto.com 2009-05-2813:27 靳超伟陈连坤 chinaitlab 我要评论(0)我想即使读者看过微软的关于驱动开发的培训教材和
51bom
·
2010-09-21 22:18
windows
基础
开发
驱动
休闲
LINUX的热插拔机制(经典文章)
如果你有USB或者PCI设备
驱动开发基础
,一读就可以理解。
adeam6050656
·
2009-10-30 15:00
Windows CE下
驱动开发基础
付林林
WindowsCE下
驱动开发基础
付林林这是我从1月6日开始主持天极网论坛嵌入式开发版以来第一次发表文章,加上以前琐碎的文章共计30篇。
井泉
·
2008-11-28 16:00
Windows CE 嵌入式开发系列课程视频
Windows嵌入式开发系列课程(2):使用EmbededVisualC++开发通讯终端及应用实例代码分析第1集 第2集 第3集Windows嵌入式开发系列课程(3):WindowsCE.NETUSB
驱动开发基础
第
好好学习,好好工作,好好生活
·
2007-09-06 22:00
上一页
1
2
下一页
按字母分类:
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
其他