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>需要交换的数据量较大时;2>需要交换的数据量较小时;第一种情况使用以下的函数:unsignedlongcopy_to_user(void__user*to,constvoid*from,unsignedlongn);unsignedlongcopy_from_user(void*to,constvoid__user*from,unsignedlon
Y多了个想法
·
2023-11-18 20:43
面试相关
linux
驱动开发
面试
职场发展
嵌入式Linux
驱动开发
基础知识_韦东山——hello驱动程序开发
一、怎么编写驱动程序?linux下编写驱动程序有一套完整的模板,具体包含以下内容:①确定主设备号,也可以让内核分配②定义自己的file_operations结构体③实现对应的drv_open/drv_read/drv_write等函数,填入file_operations结构体④把file_operations结构体告诉内核:register_chrdev⑤谁来注册驱动程序啊?得有一个入口函数:安装
零涂
·
2023-11-17 12:32
嵌入式linux驱动开发基础
驱动开发
linux
运维
Linux
驱动开发
学习笔记(二)异步通知
应用层程序#include#include#include#include#include#include#include#includeintfd;voidmy_signal_fun(intsignum){unsignedcharkey_val;read(fd,&key_val,1);printf("key_val:0x%x\n",key_val);}intmain(intargc,char**
Bin Watson
·
2023-11-17 12:32
驱动开发
linux
驱动开发
学习
3.3 Windows
驱动开发
:内核MDL读写进程内存
MDL内存读写是一种通过创建MDL结构体来实现跨进程内存读写的方式。在Windows操作系统中,每个进程都有自己独立的虚拟地址空间,不同进程之间的内存空间是隔离的。因此,要在一个进程中读取或写入另一个进程的内存数据,需要先将目标进程的物理内存映射到当前进程的虚拟地址空间中,然后才能进行内存读写操作。MDL结构体是Windows内核中专门用于描述物理内存的数据结构,它包含了一系列的数据元素,包括物理
微软技术分享
·
2023-11-17 12:59
《灰帽黑客:攻守道》
windows
驱动开发
MDL
2.6 Windows
驱动开发
:使用IO与DPC定时器
本章将继续探索
驱动开发
中的基础部分,定时器在内核中同样很常用,在内核中定时器可以使用两种,即IO定时器,以及DPC定时器,一般来说IO定时器是DDK中提供的一种,该定时器可以为间隔为N秒做定时,但如果要实现毫秒级别间隔
微软技术分享
·
2023-11-17 12:59
《灰帽黑客:攻守道》
windows
驱动开发
内核IO定时器
内核DPC定时器
嵌入式ARM系统实战开发视频教程
分享一套韩老师的关于嵌入式ARM的视频教程——《嵌入式ARM系统实战开发(编程模型、指令系统、程序设计、混合编程、
驱动开发
)》,本课程重点是给大家讲解嵌入式ARM的开发方法,采用理论与实践,硬件与软件相结合的方法
weixin_33885676
·
2023-11-17 01:56
嵌入式
硬件开发
arm开发
【linux
驱动开发
】-驱动入门之LED
1.什么是驱动框架驱动主要是由两种人去写的,一部分就是
驱动开发
工程师,一部分内核维护者;内核维护者在内核中设计了一些统一管控系统资源的体系,这些体系让内核能够对资源在各个驱动之间的使用统一协调和分配,保证整个内核的稳定健康运行
钟浩森
·
2023-11-17 01:43
linux驱动开发
驱动开发
Linux
字符设备
驱动-LED-platform驱动模型
1.概述在Linux设备驱动模型中,需要关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统注册一个设备的时候,会寻找与之匹配的驱动;相反的,在注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。Linux实现了一种虚拟的总线,称为platform总线,相应的设备称为platform_device,而驱动称为platform_driver。1.1.platform总线Linux内核
业余程序员plus
·
2023-11-17 00:43
Linux驱动
Linux
Linux字符设备驱动
platform
driver
linux的platform驱动
如下内容来自《【正点原子】I.MX6U嵌入式Linux
驱动开发
指南V1.5.2.pdf》 将设备信息从设备驱动中剥离开来,驱动使用标准方法去获取到设备信息(比如从设备树中获取到设备信息),然后根据获取到的设备信息来初始化设备
【ql君】qlexcel
·
2023-11-17 00:11
嵌入式Linux
驱动开发
linux
Linux设备驱动 | LED
字符设备
驱动(platform平台总线)
platform平台总线实现LED
字符设备
驱动参考内核中存在的
字符设备
驱动进行编写,如misc.c这个经典的
字符设备
驱动。
欲盖弥彰1314
·
2023-11-17 00:11
Linux设备驱动
linux驱动
linux c语言键盘ctrl+shift+f4输入监听,LINUX按键监测记录和输入子系统
Input输入输入设备(如按键,键盘,触摸屏,鼠标等)是典型的
字符设备
,其一般的工作机制是低层在按键,触摸等动作发生时产生一个中断(或驱动通过timer定时查询),然后cpu通过SPI,I2C或者外部存储器总线读取键值
hooo是狂想症患者
·
2023-11-17 00:24
linux
Linux 应用篇 学习笔记:输入设备应用编程
驱动开发
人员基于input子系统开发输入设备的驱动程序,input子系统可以屏蔽硬件的差异,向应用层提供一套统一的接口。1.3查看input子
gdut_llkkyy
·
2023-11-17 00:20
Linux
读书笔记
linux
input子系统
Linux_VMware 软件安装与虚拟机
参考书目:【正点原子】I.MX6U嵌入式Linux
驱动开发
指南V1.81/ARM裸机与嵌入式Linux
驱动开发
1.为什么需要虚拟机?
light_2025
·
2023-11-16 20:20
Linux
linux
单片机
嵌入式硬件
stm32
又一个小而美的涵盖多个实际场景的高并发项目完结了
测试
驱动开发
(TDD)是一种广受欢迎的方法论,它有着充分的理由。本文将探讨TDD是什么,为什么它是必要的,以及如何在Golang中应用TDD,Golang是一门以效率和简洁著称的编程语言。
胖头鱼不吃鱼-
·
2023-11-16 20:12
tdd
测试驱动开发
linux列出所有打开文件,Linux lsof命令列出打开的文件
功能描述使用lsof命令可以列出打开的文件,这个文件可以是一个普通文件、目录、块设备文件或
字符设备
文件。
菩提流支
·
2023-11-16 18:26
linux列出所有打开文件
linux 控制虚拟串口,linux虚拟串口控制器实现-适用于无开发板学习tty driver-好向圈...
在前面几章,我们介绍了tty子系统的框架、数据结构、tty驱动的注册与注销等内容,本章我们借助之前学习的内容开发一个虚拟的串口控制器驱动,以便我们理解开发串口驱动的步骤及
驱动开发
实践。
懂茶帝
·
2023-11-16 14:37
linux
控制虚拟串口
块设备的工作模式
块设备的mknod还是会创建在/dev路径下面,这一点和
字符设备
一样。/dev路径下面是devtmpfs文件系统。这是块设备遇到的第一个文件系统。
key_3_feng
·
2023-11-16 14:35
Linux
linux
Linux -
驱动开发
- watchdog - SMP机制下多核确活
说明理论上:不管IC是单核还是多核,只要watchdog有被循环feed,就不会触发超时重启,因此watchdog在SMP机制下的多核环境显得比较宽松,只要任意核存活(喂狗)就不会重启设备。实际情况有客户反馈,多核环境下(SMP机制管理)有核hang住了,但是设备没有重启。在SMP机制管理的8核arm平台上实测现象:有核crash(特意使核上跑的程序crash),SMP能检测到,并且所有核都会被s
leon.liao
·
2023-11-16 13:14
#
Linux
内核知识
linux
驱动开发
2.5 Windows
驱动开发
:DRIVER_OBJECT对象结构
在Windows内核中,每个设备驱动程序都需要一个DRIVER_OBJECT对象,该对象由系统创建并传递给驱动程序的DriverEntry函数。驱动程序使用此对象来注册与设备对象和其他系统对象的交互,并在操作系统需要与驱动程序进行交互时使用此对象。DRIVER_OBJECT对象还包含了与驱动程序所管理的设备对象相关联的设备扩展结构,以及用于处理I/O请求的函数指针等信息。它是驱动程序与操作系统内核
微软技术分享
·
2023-11-16 07:23
《灰帽黑客:攻守道》
windows
驱动开发
字符串拷贝
字符串比较
输入系统应用编程
驱动开发
人员基于这套框架开发出程序,应用开发人员就可以使用统一的
从入门到捕蛇者说
·
2023-11-16 04:16
Linux系统应用
linux
详细到吐血 —— 树莓派
驱动开发
入门:从读懂框架到自己写驱动
师承陈立臣目录README一、驱动初步认知为什么要学会写驱动?设备号的两个作用?区分硬件索引驱动在驱动链表中的位置从open到设备,从上层到底层,经历了什么?二、基于内核驱动框架编写驱动代码流程1.编写上层应用代码2.根据上层需求修改内核驱动框架代码代码补充解读static的作用结构体成员变量的单独赋值结构体`file_operations`手动生成设备3.在Ubuntu上交叉编译(很重要)驱动框
丶PURSUING
·
2023-11-15 23:16
ubuntu
树莓派
内核
linux
[Linux
驱动开发
二]最简单的
字符设备
目录一、基础知识1.1
字符设备
的定义1.2基本函数说明1.2.1MAJOR宏1.2.2MINOR宏1.2.3MKDEV宏1.2.4register_chrdev_region()1.2.5alloc_chrdev_region
TD祥
·
2023-11-15 23:45
Linux驱动编程
c语言
linux
驱动开发
c语言windows驱动编程入门,Windows
驱动开发
技术详解 PDF扫描版[175MB]
Windows
驱动开发
技术详解由浅入深、循序渐进地介绍了windows驱动程序的开发方法与调试技巧。
于西奥
·
2023-11-15 23:14
Linux
驱动开发
之
字符设备
驱动
目录一,
字符设备
驱动开发
框架二,申请设备号和创建文件结点1.申请设备号2.创建设备结点3.在驱动中实现文件IO的接口,让应用程序可以调用文件IO三,用户控制驱动和驱动控制硬件方式1.用户空间和内核空间的数据交互
big__C
·
2023-11-15 23:13
#
创客学院Linux驱动开发
嵌入式
字符设备驱动
Linux驱动开发
驱动编写
Linux设备驱动基础03:Linux
字符设备
驱动
中文件系统与设备驱动程序之间的关系如下图所示,应用程序和VFS之间的接口是系统调用;VFS和文件系统以及设备文件之间的接口是file_operations结构体中的成员函数,该结构体包含对文件进行打开、关闭、读写和控制的一系列成员函数
字符设备
上层没有类似磁盘的
麦兜的学习笔记
·
2023-11-15 23:13
Linux嵌入式开发
Linux设备驱动
2.3 Windows
驱动开发
:内核字符串转换方法
在内核编程中字符串有两种格式ANSI_STRING与UNICODE_STRING,这两种格式是微软推出的安全版本的字符串结构体,也是微软推荐使用的格式,通常情况下ANSI_STRING代表的类型是char*也就是ANSI多字节模式的字符串,而UNICODE_STRING则代表的是wchar*也就是UNCODE类型的字符,如下文章将介绍这两种字符格式在内核中是如何转换的。在Windows内核中,字符
微软技术分享
·
2023-11-15 23:40
《灰帽黑客:攻守道》
windows
驱动开发
字符串处理
树莓派基于Linux内核
驱动开发
详解
一、驱动认知首先理解Linux内核框图文件系统认知,Linux内核框图1、什么是驱动linux内核驱动。软件层面上的驱动广义上是指:这一段代码操作了硬件去动,所以这一段代码就叫硬件的驱动程序。狭义上驱动程序就是专指操作系统中用来操控硬件的逻辑方法的部分代码。而我们这里讲的驱动就指的是这个狭义上的驱动。2、Linux驱动的体系架构分离、分层思想驱动的上面是系统调用API驱动的下面是硬件驱动本身的实现
星辰~念
·
2023-11-15 22:23
树莓派
linux
raspberry
pi
Linux内核
驱动开发
(一)
Linux内核初探linux操作系统历史开发模式git分布式管理gitclone获取gitpush提交gitpull更新邮件组mailinglistpatch内核代码组成Makfilearch体系系统架构相关block块设备crypto加密算法drivers驱动(85%)atm通信bluetooth蓝牙firmware:外设fs文件系统include头文件init启动代码ipc进程通信代码kern
温逗死
·
2023-11-15 22:49
linux
驱动开发
运维
基于linux内核的
驱动开发
1
字符设备
驱动框架1.1
字符设备
定义:只能以一个字节一个字节的方式读写的设备,不能随机的读取设备中中的某一段数据,读取数据需要按照先后顺序。
谷谷呀~
·
2023-11-15 22:16
驱动开发
Linux
linux内核
驱动开发
系列文章目录主要介绍linux系统下的
驱动开发
文章目录系列文章目录文章目录前言一、驱动是什么?二、主要分类2.读入数据3.代码示例总结前言对设备驱动最通俗的解释就是“驱使硬件设备行动”。
第二层皮-合肥
·
2023-11-15 22:13
驱动开发
fpga开发
Linux
驱动开发
/ fbtft源码速读
二、Linux
驱动开发
/fbtft源码速读1.fbtft简介fb
嵌入式小傻瓜
·
2023-11-15 19:13
Linux
驱动开发
java
python
编程语言
linux
嵌入式
写出高质量代码的秘诀:Golang中的测试
驱动开发
(TDD)
测试
驱动开发
(TDD)是一种广受欢迎的方法论,它有着充分的理由。本文将探讨TDD是什么,为什么它是必要的,以及如何在Golang中应用TDD,Golang是一门以效率和简洁著称的编程语言。
Go中国
·
2023-11-15 16:52
golang
驱动开发
tdd
开发语言
后端
学习笔记-linux系统编程
:开机历程dev:设备etc:用户配置文件lib:库路径optproc:进程相关mediamnt:挂载的设备三方库一般放在/usr/lib中home:用户的根目录linux的文件类型:普通文件-目录d
字符设备
忧郁的小金xi
·
2023-11-15 03:01
学习
linux
Linux字符
驱动开发
__点亮多个LED
环境:ubuntu20.04、sourceinsight4.0、secureCRT内核版本:Linux-3.14-fs4412开发板:fs4412(ARM)1、字符驱动代码//头文件#include#include#include#include#include#include#include#include#include#include"comm.h"//定义全局结构体structglobal
嵌入式DZC
·
2023-11-15 02:24
Linux驱动开发
linux
arm开发
使用IDE(vs code)进行嵌入式linux
驱动开发
工程的头文件查找路径及编译器路径4.IntelliSenseEngineFallback设置为ENABLE编辑驱动文件和Makefile背景早期的ubuntu版本上没有好的可用的IDE,那个时候嵌入式linux
驱动开发
人员多使用
奇奇猴
·
2023-11-15 02:24
Linux驱动开发
IDE
vs
code
嵌入式linux驱动开发
如何测试前端代码? 知道 BDD, TDD, Unit Test 么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
.测试的类型1.1单元测试(UnitTesting)优缺点:优点:缺点:1.2集成测试(IntegrationTesting)优点:缺点:1.3端到端测试(End-to-EndTesting)2.测试
驱动开发
冰海恋雨.
·
2023-11-14 23:27
前端
tdd
2023软件测试必问的100个面试题【含答案】
2.测试
驱动开发
(TDD)是什么?答:测试
驱动开发
是一种开发方法,它要求在编写代码之前编写测试用例。这些测试用例定义了应用程序应该实现的功能,并且确保所有功能都能按照预期工作。3.什么是黑盒测试?
bug捕手
·
2023-11-14 21:17
postman
git
jenkins
pytest-bdd快速示例和问题解决
BDD与pytest-bddBDD即Behavior-drivendevelopment,行为
驱动开发
。BDD行为驱动是一种敏捷开发模式,重点在于消除开发/测试对需求了解的歧义及用户场景的验证。
oscar999
·
2023-11-14 17:33
pytest
pytest-bdd
行为驱动开发
字符设备
驱动开发
在Linux系统中,用户空间和内核空间之间是相互隔离开的。驱动程序运行在内核空间中,给出的地址也是在内核空间中的地址,运行在用户空间下的用户程序即使拿到这个地址,也不能访问内核空间。这时,我们需要使用到copy_to_user()函数,将要传递的内容从内核空间拷贝到用户空间,用户程序再访问用户空间中的该内容即可。copy_to_user函数的原型如下。unsignedlongcopy_to_use
一技旁身
·
2023-11-14 11:27
驱动开发
2.4 Windows
驱动开发
:内核字符串拷贝与比较
在上一篇文章《内核字符串转换方法》中简单介绍了内核是如何使用字符串以及字符串之间的转换方法,本章将继续探索字符串的拷贝与比较,与应用层不同内核字符串拷贝与比较也需要使用内核专用的API函数,字符串的拷贝往往伴随有内核内存分配,我们将首先简单介绍内核如何分配堆空间,然后再以此为契机简介字符串的拷贝与比较。2.4.1内核中的空间分配首先内核中的堆栈分配可以使用ExAllocatePool()这个内核函
微软技术分享
·
2023-11-14 10:38
《灰帽黑客:攻守道》
windows
驱动开发
字符串拷贝
字符串比较
正点原子嵌入式linux
驱动开发
——Linux ADC驱动
在之前的笔记中,学习了如何给ICM20608编写IIO驱动,ICM20608本质就是ADC,因此纯粹的ADC驱动也是IIO驱动框架的。本章就学习一下如何使用STM32MP1内部的ADC,并且在学习巩固一下IIO驱动。ADC简介ADCADC,AnalogtoDigitalConverter的缩写,中文名称模数转换器。它可以将外部的模拟信号转化成数字信号。对于GPIO口来说高于某个电压值,它读出来的只
努力自学的小夏
·
2023-11-14 06:33
linux学习
linux
驱动开发
stm32
笔记
学习
正点原子嵌入式linux
驱动开发
——Linux IIO驱动
工业场合里面也有大量的模拟量和数字量之间的转换,也就是常说的ADC和DAC。而且随着手机、物联网、工业物联网和可穿戴设备的爆发,传感器的需求只持续增强。比如手机或者手环里面的加速度计、光传感器、陀螺仪、气压计、磁力计等,这些传感器本质上都是ADC,注意查看这些传感器的手册,会发现他们内部都会有个ADC,传感器对外提供IIC或者SPI接口,SOC可以通过IIC或者SPI接口来获取到传感器内部的ADC
努力自学的小夏
·
2023-11-14 06:33
linux学习
linux
驱动开发
stm32
学习
笔记
正点原子嵌入式linux
驱动开发
——Linux DAC驱动
上一篇笔记中学习了ADC驱动,STM32MP157也有DAC外设,DAC也使用的IIO驱动框架。本章就来学习一下如下在Linux下使用STM32MP157上的DAC。DAC简介ADC是模数转换器,负责将外界的模拟信号转换为数字信号。DAC刚好相反,是数模转换器,负责将SOC的数字信号转换为模拟信号。STM32MP157的DAC模块(数字/模拟转换模块)是12位数字输入,电压输出型的DAC。DAC可
努力自学的小夏
·
2023-11-14 06:00
linux学习
linux
驱动开发
学习
笔记
stm32
QNX
字符设备
resource manager 实例
文章目录前言一、普通的resourcemanagers二、
字符设备
resourcemanagers1.
字符设备
节点2.
字符设备
devctlcmd参数1.devctlcmd参数的构成2.devctl
字符设备
实例总结参考资料前言本文主要介绍如何编写一个
khl0616
·
2023-11-14 05:40
QNX
车载系统
64位
驱动开发
中结构体8字节对齐
在写枚举文件驱动的过程发现获取到的系统句柄总数是正确的,但是在判断句柄类型为28,即文件句柄的时候发生了严重的错误,导致很多进程中的打开的句柄无法获取,找了很多原因,最后发现是因为驱动在定义结构体的时候按1字节对齐,导致发生了错误。驱动中的结构在64位WIN7下应该是8字节对齐,32位下为4字节对齐。切记!status=ZwQuerySystemInformation(SystemHandleIn
yufengly1984
·
2023-11-14 02:38
Linux驱动入门(一)
字符设备
驱动基础
Linux驱动入门系列Linux驱动入门(一)
字符设备
驱动基础Linux驱动入门(二)操作硬件Linux驱动入门(三)Led驱动Linux驱动入门(四)非阻塞方式实现按键驱动Linux驱动入门(五)阻塞方式实现按键驱动
JT同学
·
2023-11-13 23:58
Linux驱动
Linux驱动
字符设备
《linux驱动:
字符设备
驱动之一》
目录前言框架常用数据结构常用函数button
字符设备
驱动编译编译进内核编译成单独模块测试小结前言LINUX驱动针对的对象是存储器和外设,而不是针对cpu内核。
编程界的小学生、
·
2023-11-13 23:54
linux驱动笔记
嵌入式
linux
arm
物联网
嵌入式(
驱动开发
)(I2C总线式
驱动开发
)
一、I2C总线背景知识SOC芯片平台的外设分为:一级外设:外设控制器集成在SOC芯片内部二级外设:外设控制器由另一块芯片负责,通过一些通讯总线与SOC芯片相连Inter-IntegratedCircuit:字面意思是用于“集成电路之间”的通信总线,简写:IIC(或者I2C)i2c传输的要点就是:传输一个字节后面必然紧跟一个"响应"信号----应答信号.这个响应信号可能来自主机,或者是从机,具体是谁
嵌入式学习者。
·
2023-11-13 22:12
Linux
驱动以及裸机
驱动开发
单片机
嵌入式硬件
linux驱动之等待队列
阻塞和非阻塞IO是Linux
驱动开发
里面很常见的两种设备访问模式,在编写驱动的时候一定要考虑到阻塞和非阻塞。
我来挖坑啦
·
2023-11-13 22:51
java
开发语言
2.1 Windows
驱动开发
:内核链表与结构体
在Windows内核中,为了实现高效的数据结构操作,通常会使用链表和结构体相结合的方式进行数据存储和操作。内核提供了一个专门用于链表操作的数据结构LIST_ENTRY,可以用来描述一个链表中的每一个节点。使用链表来存储结构体时,需要在结构体中嵌入一个LIST_ENTRY类型的成员变量,用来连接相邻的节点。通过一些列链表操作函数,如InitializeListHead、InsertHeadList、
微软技术分享
·
2023-11-13 18:25
《灰帽黑客:攻守道》
windows
驱动开发
链表
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
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
其他