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设备驱动
程序(一) 0.02
驱动程序的参数值可由insmod或者modprobe在装载模块时设置,后者还可以从配置文件(/etc/modules.conf)中获得参数赋值。这些命令能够在命令行中接受整型和字符串型赋值。如:模块需要获得一个叫做skull_ival的整型参数和一个叫做skull_sval的字符串型参数:insmodskullskull_ival=666skull_sval="thebeast"当然,模块必须能够
cy_worker
·
2020-09-11 21:15
读书笔记(Linux设备驱动)
杂项设备,insmod成功后cat /proc/devices看不到设备号
如题,使用杂项设备方法实现
linux设备驱动
,insmod成功后,使用cat/proc/devices命令查看不到相应的设备号。原因:命令使用不对。解决办法:使用cat/proc/misc命令。
Linux_Coder1130
·
2020-09-11 19:12
Linux驱动
linux驱动
Linux设备驱动
程序学习之设备模型二
Linux设备驱动
程序学习笔记系列文章原作者是:TekkamanNinja,他博客地址:http://blog.chinaunix.net/u1/34474/showart_404278.html在此向
ruixj
·
2020-09-11 10:03
基于类linux的开发
嵌入式系统的研究与开发
Linux设备驱动
程序学习(14)
通过一个设备在内核中生命周期的各个阶段,可以更好地理解Linux设备模型。我将通过分析lddbus和sculld的源码来了解Linux设备模型中各环节的整合。《LDD3》中的(PCI总线)各环节的整合这部分内容作为参考资料,因为嵌入式Linux比较少用到PCI总线。看这部分内容一定要先熟悉一下lddbus和sculld的源码。一、lddbus模块:添加总线、导出总线设备和设备驱动的注册函数。ldd
Slancer
·
2020-09-11 07:35
Unix/Linux
Linux设备驱动
模型框架分析(五)——LDDM的展现:sysfs
sysfs是一个基于RAM的文件系统,它和kobject一起,可以将Kernel的数据结构导出到用户空间,以文件目录结构的形式,提供对这些数据结构(以及数据结构的属性)的访问支持。sysfs目录所包含内容/sys/devices这是内核对系统中所有设备的分层次表达模型,也是/sys文件系统管理设备的最重要的目录结构/sys/dev这个目录下维护一个按字符设备和块设备的主次号码(major:mino
newdye
·
2020-09-10 18:59
linux设备驱动模型
linux设备驱动
Linux设备驱动
模型框架分析(六)——LDDM的设备管理:uevent,mdev
ueventuevent是kobject的一部分,用于在kobject状态发生改变时,例如增加、移除等,通知用户空间程序。用户空间程序收到这样的事件后,会做相应的处理。该机制通常是用来支持热拔插设备的,例如U盘插入后,USB相关的驱动软件会动态创建用于表示该U盘的device结构(相应的也包括其中的kobject),并告知用户空间程序,为该U盘动态的创建/dev/目录下的设备节点,更进一步,可以通
newdye
·
2020-09-10 18:59
linux设备驱动
linux设备驱动模型
Linux学习路线
《
Linux设备驱动
设计》:必买必看,适用性强;4.《AdvsomekindofcedProgriaminginUnixEnvirement》:这本书貌似翻译不
柚9527
·
2020-08-26 08:33
Linux
linux内核基础知识总结
linux设备驱动
归纳总结(一):内核的相关基础概念
linux设备驱动
归纳总结(二):模块的相关基础概念
linux设备驱动
归纳总结(三):1字符型设备之设备申请
linux设备驱动
归纳总结(三):2open.close.read.write
linux
bob_fly1984
·
2020-08-25 02:59
linux-kernel
[arm驱动]linux内核时钟
二、
linux设备驱动
编程linux内核提供一组函数,时
weixin_33966365
·
2020-08-24 17:10
【嵌入式Linux驱动程序-进程间通信】-完成量
此处引用《
Linux设备驱动
程序第三版》的一段程序,如下:structsemaphoresem;init_MUTEX_LOCKED(&sem);start_external_tas
会攻城的狮子
·
2020-08-24 16:15
嵌入式Linux
ARM9嵌入式Linux开发-
Linux设备驱动
的IO操作
字符设备的I/O模型一个字符设备的主要功能是用来实现I/O操作,反映到应用程序中就是进行读/写等相关的操作。在对一个设备进行读写操作时,由于设备在实际的操作中响应速速各不相同,因此数据并不总是在任何时候都可用:对于读操作来说,也许请求的数据还没有到达设备的缓冲区;对于写操作来说,应用层传递过来的数据也许不能一下子全部放进设备的缓冲区。此时对读写操作来说,要么放弃等待直到返回一个错误码给上层,要么让
求佛_ce123
·
2020-08-24 13:46
ARM9嵌入式Linux开发
Android驱动使用JNI调用
Android驱动使用JNI调用学习Android驱动是一个漫长的过程,当然你也可以说有了
Linux设备驱动
开发经验学习Android驱动是很简单的,呵呵,的却如此,毕竟Android内核是跑在linux
lishaman
·
2020-08-24 08:02
Android开发
linux设备驱动
之USB主机控制器驱动分析
-----------------------------------------本文系本站原创,欢迎转载!转载请注明出处:http://ericxiao.cublog.cn/------------------------------------------一:前言Usb是一个很复杂的系统.在usb2.0规范中,将其定义成了一个分层模型.linux中的代码也是按照这个分层模型来设计的.具体的分为
jeffade
·
2020-08-24 08:28
linux驱动
linux
descriptor
struct
interface
buffer
list
嵌入式
Linux设备驱动
开发之:按键驱动程序实例
11.6按键驱动程序实例11.6.1按键工作原理高电平和低电平相接怎么会变成低电平呢就像你把电源正极的负极相连一样会把电压拉低。大电流会从高电平引脚流向低电平引脚,把高电平引脚拉低。LED和蜂鸣器是最简单的GPIO的应用,都不需要任何外部输入或控制。按键同样使用GPIO接口,但按键本身需要外部的输入,即在驱动程序中要处理外部中断。按键硬件驱动原理图如图11-7所示。在图11-7的4×4矩阵按键(K
天涯一道
·
2020-08-24 07:23
linux设备驱动
-原子操作
1.原子操作整型原子操作和位原子操作,比如一个设备只能被一个进程打开,比如serial串口设备1.1整形原子操作:1.设置原子变量的值voidatomic_set(atomic_t*v,inti);//设置原子变量的值为iatomic_tv=ATOMIC_INIT(0);//定义原子变量v并初始化为02.获取原子变量的值atomic_read(atomic_t*v);//返回原子变量的值3.原子变
V__KING__
·
2020-08-24 07:08
linux
driver
Android驱动使用JNI调用
Android驱动使用JNI调用学习Android驱动是一个漫长的过程,当然你也可以说有了
Linux设备驱动
开发经验学习Android驱动是很简单的,呵呵,的却如此,毕竟Android内核是跑在linux
weixin_33721427
·
2020-08-24 07:40
linux学习路线
《
Linux设备驱动
设计》:必买必看,实用性强;4.《AdvancedPrograminginUni
天涯难归鸿
·
2020-08-23 19:20
linux
linux
书籍
学习
路线
慢慢欣赏linux 文件系统notify机制
linux设备驱动
模型的kobject_uevent向用户态发消息,udev或者mdev监听之后再用户态增加/dev/xxx节点,文件系统监控也是类似的机制。
天麓
·
2020-08-23 19:27
linux
device
driver
linux内核
linux设备驱动
之API的实现
Linux下API的实现作者:韩大卫@吉林师范大学驱动工程师工作内容之一就是向上层应用端提供API,这个API完成并封装了全部的与硬件芯片的I/O操作。本问简单的说明了一个实现API函数的全部过程。总体上看分为:1,用户API2,用户中间层(与底层通信)3,底层中间层(寻找对应的驱动函数)4,驱动函数5,CPU读写I/O端口。我们主要的工作就是这个驱动部分这个驱动函数功能是:将数据包装成kerne
韩大卫
·
2020-08-23 05:56
i2c
octeon
通信
socket
驱动
linux
API
pcie驱动总线学习资料整理
https://blog.csdn.net/u010872301/article/details/78519371
linux设备驱动
之PCIE驱动开发https://blog.csdn.net/qq_21792169
hant1216
·
2020-08-23 05:52
pcie
基于RISC-V处理器的深度学习卷积CNN加速器芯片的驱动开发
1.熟悉RISCV架构和嵌入式开发环境2.熟悉CNN加速器硬件架构3.掌握
Linux设备驱动
开发方法3.开发CNN加速器Linux驱动2019/3/15
w18100172237
·
2020-08-22 23:33
linux设备驱动
模型 - regmap
1.regmap介绍regmap主要是为了方便操作寄存器而设计的,它将所有模块的寄存器(包括soc上模块的寄存器和外围设备的寄存器等)抽象出来,用一套统一接口来操作寄存器比如,如果要操作i2c设备的寄存器,那么就要调用i2c_transfer接口,要操作spi设备的寄存器,就要调用spi_write/spi_read等接口,如果把它们都抽象为regmap结构,那么只要调用regmap_read/r
鸭蛋西红柿
·
2020-08-22 21:46
Linux驱动
register_chrdev,class_create()
在刚开始写
Linux设备驱动
程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载模块时删除该节点
emtribe
·
2020-08-22 16:35
linux驱动
Linux设备驱动
开发环境的搭建
经过两周的摸索,终于对
Linux设备驱动
开发有了个初步的认识,下面对
Linux设备驱动
开发环境的搭建做个小结,以方便自己以后查询,同时也能给同道的初学者一点帮助。
Jcy
·
2020-08-22 16:17
Linux驱动
嵌入式
linux内核
linux驱动
Linux设备驱动
之pci设备的枚举(linux初始化时PCI设备识别)
一:前言Pci,是PeripheralComponentInterconnect的缩写,翻译成中文即为外部设备互联.与传统的总线相比.它的传输速率较高.能为用户提供动态查询pcideivce.和局部总线信息的方法,此外,它还能自动为总线提供仲裁.在近几年的发展过程中,被广泛应用于多种平台.pci协议比较复杂,关于它的详细说明,请查阅有关pci规范的资料,本文不会重复这些部份.对于驱动工程师来说,P
zhoujiaxq
·
2020-08-22 11:49
linux
QT 触摸屏 驱动
要:本文主要介绍了在嵌入式Linux系统下基于Qt/Embeded的触摸屏驱动的设计,通过对
Linux设备驱动
和Qt/Embedded设备驱动接口的工作原理和机制介绍,并结合大量源代码进行分析,提出了基于
lin_AIOS
·
2020-08-22 09:41
以前在百度上发的知识
Qt
qt
linux
数据结构
microsoft
keyboard
嵌入式
网络上开源的电子书
语言无关类操作系统鸟哥的Linux私房菜(简体)Linux系统高级编程TheLinuxCommandLine(中英文版)
Linux设备驱动
(第三版)深入分析Linux内核源码UNIXTOOLBO
chusha7212
·
2020-08-21 08:04
Linux驱动并发与竞态
Linux设备驱动
运行在内核中,一般只有一份,但是应用程序调用该驱动程序却可能不止一个,这就引入了一个资源共享、并发和竞态的问题。
Lee_1985
·
2020-08-20 11:19
Linux
驱动
并发
竞态
内核与驱动
Linux驱动开发基础
最近看了《
Linux设备驱动
详解这本书》,简单总结
Linux设备驱动
开发的一些基础知识。
Lee_1985
·
2020-08-20 08:12
Linux
驱动
开发
基础
内核与驱动
一个简单的内核线程
一个简单的linux内核线程的例子,根据精通
linux设备驱动
上的代码整合而成。
yunsongice
·
2020-08-20 08:17
疯狂内核之进程管理
Linux设备驱动
之I2C架构分析
------------------------------------------本文系本站原创,欢迎转载!转载请注明出处:http://ericxiao.cublog.cn/------------------------------------------一:前言I2c是philips提出的外设总线.I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL.正因为这样,它方便了工程人员的
sfrysh
·
2020-08-20 07:01
Linux
I2C
子系统
嵌入式实验报告(OK6410环境下的设备驱动及进程间通信 综合实验)
2、考试目的3、掌握进程同步原理及Linux同步机制的编程4、掌握进程间通信原理及Linux进程间通信的编程5、掌握设备驱动原理及
Linux设备驱动
机制的编程6、掌握操作系统调用原理及Linux
weixin_30549657
·
2020-08-20 07:02
Linux设备驱动
之poll机制
应用程序调用的任何库函数,最终将会调被库函数封装的系统函数,此过程中发生swi中断,用户进程从用户状态变成了核心态,当我们的应用程序调用pool()函数时,最终调用的是sys_poll()函数。sys_poll()的函数原型如下:asmlinkagelongsys_poll(structpollfd__user*ufds,unsignedintnfds,longtimeout_msecs)。解读:
流岚虹霓
·
2020-08-20 01:44
嵌入式Linux
Linux驱动开发
在开始步入
Linux设备驱动
程序的神秘世界之前,让我们从驱动程序开发人员的角度看几个内核构成要素,熟悉一些基本的内核概念。我们将学习内核定时器、同步机制以及内存分配方法。
pwei007
·
2020-08-20 01:47
linux
shell
linux设备驱动
之ioctl控制
linux设备驱动
之ioctl控制大部分驱动除了具有读写的能力之外,还需要具有对硬件控制的能力。用户空间:ioctl用户程序使用ioctl系统调用来控制设备。
lincuiting06
·
2020-08-20 00:03
Linux驱动
Linux设备驱动
之UIO机制
1uio理论部分1.1为什么出现了UIO?硬件设备可以根据功能分为网络设备,块设备,字符设备,或者根据与CPU相连的方式分为PCI设备,USB设备等。它们被不同的内核子系统支持。这些标准的设备的驱动编写较为容易而且容易维护。很容易加入主内核源码树。但是,又有很多设备难以划分到这些子系统中,比如I/O卡,现场总线接口或者定制的FPGA。通常这些非标准设备的驱动被实现为字符驱动。这些驱动使用了很多内核
ecc0925
·
2020-08-20 00:48
linux驱动
major=$(awk "//$2= =/"$module/" {print //$1}" /proc/devices)正确理解。
major=$(awk"//$2==/"$module/"{print//$1}"/proc/devices)正确理解导语:这条语句来自O’REILLY《
LINUX设备驱动
第三版》字符设备章节的自动创建设备文件脚本代码
谭海燕
·
2020-08-19 09:49
脚本语言
脚本
bash
shell
linux
module
正则表达式
linux设备驱动
之gpio_keys
#ifndef_GPIO_KEYS_H#define_GPIO_KEYS_Hstructgpio_keys_button{/*Configurationparameters*/intcode;/*输入事件的键值可以是EV_*或KEY_**/intgpio;/*对应的GPIO号*/intactive_low;/*活动时是否为低,即按下的时候是否被拉低*/char*desc;/*一些注册信息*/int
老表阿酷
·
2020-08-19 04:38
Linux设备驱动
linux设备驱动
(3)字符驱动 -按键 四种写法总结
对于基础按键的驱动,有如下几种写法:(1)查询所谓查询方法,主要描述应用程序会在while(1)里面一直read,如果没有数据会导致阻塞,占用CPU;这种方法是最差的。(2)中断中断配合休眠会避免查询法占用CPU的缺点。应用程序和查询法没有什么区别,但是驱动里面的read函数会调用wait_event_interruptible,直到按键产生中断并在中断里面唤醒,此时read会把数据返回给用户程序
qq_21353001
·
2020-08-19 03:22
arm-driver
linux-2.6.32在mini2440开发板上移植(6)之W35型LCD驱动移植
液晶驱动的源程序在src/drivers/video/目录下,主要是s3c2410fb.c这几个文件,详细的讲解可以参照《
linux设备驱动
开发详解》一书。
ssdsafsdsd
·
2020-08-18 16:27
Mini2440系统移植专题
android系列:第三篇android调试常用工具:模拟按键输入,修改分辨率,获得按键消息
耳机插拔事件等shell中直接输入getevent,首先打印的即为各个eventX对应的设备关系,如下图展示了按下power键和滑动触摸屏的相应eventhexdump使用hexdump工具可以直接查看
linux
二进制橙子
·
2020-08-18 13:57
android
13 I/O体系结构和块设备驱动程序
本章内核如何在实际的设备上调用这些操作 “I/O体系结构”80x86的I/O体系结构“设备驱动程序模型”,
Linux设备驱动
程序模型。
fgh431
·
2020-08-18 07:23
linux设备驱动
入门,最简单的LED驱动,基于tq2440
写linux字符设备驱动的过程:1、module_init()和module_exit(),这两个函数是驱动程序的入口函数和退出函数,然后就是补充init函数和exit函数了2、在initi函数中,需要进行设备的注册,说白了,就是需要申请设备号和注册设备3、然后写文件操作函数,比如write、read、ioctl等函数/*************************************NA
DanDan_M
·
2020-08-17 23:17
linux
字符
设备驱动
LED
Linux设备驱动
编程之内存与I/O操作
对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。进程的4GB内存空间被人为的分为两个部分--用户空间与内核空间。用户空间地址分布从0到3GB(PAGE_OFFSET,在0x86中它等于0xC0000000),3GB到4GB为内核空间,如下图:内核空间中,从3G到vmalloc_s
zhoujunyi
·
2020-08-17 17:32
Linux编程
Linux设备驱动
之I/O端口与I/O内存
一、统一编址与独立编址该部分来自于:http://blog.chinaunix.net/space.php?uid=21347954&do=blog&id=443670,感谢mason_hu的分享。从CPU连出来一把线:数据总线、地址总线、控制总线,这把线上挂着N个接口,有相同的,有不同的,名字叫做存储器接口、中断控制接口、DMA接口、并行接口、串行接口、AD接口……一个设备要想接入,就用自己的接
xiaohaozi7107
·
2020-08-17 17:51
Linux设备驱动
程序——read()、write()以及ioctl()
read()函数(关于read()函数的主要的内容来源于L《
LInux设备驱动
程序》和网上的别人的博客中的内容)关于函数的原型:#includessize_tread(int
若虚_似水年华
·
2020-08-17 15:19
Linux设备驱动
程序——I/O端口和I/O内存
在我学习Linux驱动的过程中,有个和我一块儿学习驱动的同学,他比要我更早开始学习
Linux设备驱动
程序,我们在学习
Linux设备驱动
的时候有些不同的观点,我认为学习驱动程序的时候还需要对内核中的一些重点的知识比如说
若虚_似水年华
·
2020-08-17 10:40
我自己的学习日志
Linux驱动相关
内核代码不可直接访问用户空间数据
按照
linux设备驱动
书本上的说法,我的理解,三个原因描述如下。其一,驱动程序架构不同或者内核的配置不同,用户空间数据指针可能运行在内核模式下根本就是无
kerneler_
·
2020-08-17 10:25
linux
kernel
《linux内核设计与实现》读书笔记(未完成)
读书目的:了解内核编程基础,为学习《
Linux设备驱动
程序》和《深入理解Linux内核》做铺垫读书收获:心得进程1进程管理1.1进程进程:处于执行期的程序以及相关资源的总称1.2进程描述符及任务结构进程描述符包含的数据能完整地描述一个正在执行的程序
carver_x
·
2020-08-17 10:34
读书笔记
Linux驱动之platform模型
其实是
Linux设备驱动
模型为了保持设备驱动的统一性而虚拟出来的总线。因为对于usb设备、i2c设备、pci设备、spi设备等等,他们与cpu的通信都是直接挂在相应的总线下面与我们的cpu进行数据交
_始梦少(青)年°
·
2020-08-16 14:58
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
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
其他