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驱动学习
--网络设备驱动架构介绍及底层源码分析
目录一、引言二、网络设备驱动架构介绍三、网络设备框架常用接口介绍------>网络协议接口层------>sk_buff------>sk_buff的操作函数------>网络设备接口层------>net_device相关介绍------>设备驱动接口层四、驱动源码分析------>初始化源码分析------>接收数据源码分析------>发送数据源码分析------>超时函数源码分析五、wif
文艺小少年
·
2024-09-08 00:41
网络设备驱动
linux
驱动程序
net
Linux驱动学习
之input子系统
简介input子系统就是管理输入的子系统,和pinctrl、gpio子系统一样,都是Linux内核针对某一类设备而创建的框架。按键、鼠标、键盘、触摸屏等都属于输入设备,linux内核为此专门做了一个叫做input子系统的框架来处理输入事件。输入设备本质上还是字符设备,只是在此基础上套上了input框架,用户只需要负责上报输入事件,比如按键值、坐标等信息。对于驱动编写者而言不需要去关心应用层的事情,
吾有三德
·
2024-08-29 19:12
Linux驱动学习
学习
Linux驱动学习
之内核接口和多节点设备
四盏灯:原则上我们想要实现流水灯!需要怎么做?一个驱动->生成一个设备文件!一个设备文件怎么控制四个LED灯?你有两种方法:1:你写四个驱动你就能生成四个LED灯!四个驱动有什么特点没除了引脚不一样其他代码几乎都一样!2:你写一个驱动却生成四个设备文件!一驱多设前置open和relase参数一样,如果说多个设备用一套open,close,我们该怎么确定是哪个灯呢,我们可以想到stm32hal库串口
吾有三德
·
2024-08-23 19:20
Linux驱动学习
学习
Linux驱动学习
之点灯(五,设备树没用平台设备总线)
创建一个设备树节点/{led:led{compatible="led";led_pin=;status="okay";}}OF函数介绍查找属性of_gpio_named_countof_gpio_named_count函数用于获取设备树某个属性里面定义了几个GPIO信息,要注意的是空的GPIO信息也会被统计到。函数原型如下intof_gpio_named_count(structdevice_no
吾有三德
·
2024-08-23 19:46
Linux驱动学习
学习
Linux驱动学习
13(初步认识ioremap)
几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种:(1)I/O映射方式(I/O-mapped)典型地,如X86处理器为外设专门实现了一个单独的地址空间,称为"I/O地址空间"或者"I/O端口空间",CPU通过专门的I/O指令(如X86的IN和OUT指令)来访问
iteye_11495
·
2024-01-23 14:32
操作系统
嵌入式
Linux驱动学习
—中断
1、中断基础概念1.1什么是中断CPU在正常运行期间,由外部或者内部引起的时间,让CPU停下当前正在运行的程序,转而去执行触发他的中断所对应的程序,这就是中断。响应中断的过程:中断请求中断响应保护现场中断处理恢复现场中断返回如果不响应中断,就是中断屏蔽。1.2什么是中断上下文,为什么会有中断上下文?中断的存在可以极大的提高CPU的运行效率,但是中断会打断内核进程中的正常调度和运行,所以为保证系统实
suifen_
·
2024-01-07 14:08
linux
学习
运维
STM32MP157/
linux驱动学习
记录
1.uboot烧录2.linux安装nfs服务sudoapt-getinstallnfs-kernel-serverrpcbind安装nfs服务在用户根目录下创建一个名为“linux”的文件夹,以后所有的东西都放到这个“linux”文件夹里面,在“linux”文件夹里面新建一个名为“nfs”的文件夹,更改777权限。打开nfs配置文件:sudovi/etc/exports在最后加上:/home/t
tao_sc
·
2024-01-06 00:17
linux
学习
stm32
Linux驱动学习
—ioctl接口
1、unlock_ioctl和ioctl有什么区别?kernel2.6.36中已经完全删除了structfile_operations中的ioctl函数指针,取而代之的是unlocked_ioctl。ioctl是老的内核版本中的驱动API,unlock_ioctl是当下常用的驱动API。unlocked_ioctl实际上取代了用了很久的ioctl,主要的改进就是不再需要上大内核锁(BKL)(调用之
suifen_
·
2024-01-03 22:13
linux
学习
驱动开发
c语言
Linux驱动学习
—平台总线模型
1、平台总线模型介绍①什么是平台总线模型?平台总线模型也叫platform总线模型。是Linux内核虚拟出来的一条总线,不是真实的导线。平台总线模型就是把原来的驱动C文件给分成两个C文件,一个是device.c,一个是driver.c把稳定不变的放在driver.c里面,需要变得放在devic.c里面。②为什么会有平台总线模型?(1)可以提高代码的重用性(2)建设重复性代码③怎么编写以平台总线模型
suifen_
·
2024-01-03 22:43
linux
学习
驱动开发
c语言
运维
Linux驱动学习
—pinctl和gpio子系统
1、pinctl和gpio子系统(一)1.1pinctrl子系统主要工作内容获取设备树中pin信息,管理系统中所有的可以控制的pin,在系统初始化的时候,枚举所有可以控制的pin,并标识这些pin。根据获取到的pin信息来设置pin的复用功能,对于SOC而言,其引脚除了配置成普通的GPIO之外,若干个引脚还可以组成一个pingroup,形成特定的功能。根据获取到的pin信息来设置pin的电气特性,
suifen_
·
2024-01-03 21:40
linux
学习
驱动开发
Linux驱动学习
—设备树及设备树下的platform总线
1、什么是设备树?设备树是一种描述硬件资源的数据结构。他通过bootloader将硬件资源传给内核,使得内核和硬件资源描述相对独立。2、设备树的由来2.1平台总线的由来要想了解为什么会有设备树,设备树是怎么来的,我们就要先来回顾以下在没有设备树之前我们是怎么来写一个驱动程序的。以字符设备驱动代码框架为例,我们一起一起来回顾下。任何的设备驱动的编写,Linux已经为我们打好了框架,我们只需要做完形填
suifen_
·
2024-01-01 07:26
linux
驱动开发
c语言
运维
linux驱动学习
:从上电到启动 一
1从上电到bootloaderromboot:初始化硬件:cpu上电后,首先从片内rom中执行指令,即片内boot程序加载引导程序:ROMBootloader从可访问的存储介质(如闪存、SD卡等)中读取引导程序,并将其加载到正确的内存位置。引导程序负责进一步的系统初始化和加载操作系统。(读取外部固件到片内ram,最后跳转到片内ram执行新的用户boot程序)2bootloader分类及其作用GRU
阿荻在肝了
·
2023-12-17 04:34
知识汇总学习总结
linux
学习
驱动开发
Linux驱动学习
--android声卡之蓝牙‘sco over hci‘ 通话的使用配置(基于tinyalsa库)
目录一、引言二、scooverhci------>HCI接口------>驱动中的’scooverhci’开关三、声卡中PCM的使用配置(基于tinyalsa库、tiny工具)------>tiny工具的使用------>tinycap、tinyplay源码分析------>tinyalsa库源码分析---------------->pcm_open---------------->pcm_rea
文艺小少年
·
2023-11-29 01:17
蓝牙
SCO
linux
android
驱动
linux下触摸屏应用编程
相关文章1、linux-2.6.32在mini2440开发板上移植----添加触摸屏驱动程序----http://www.linuxidc.com/Linux/2013-04/82383p9.htm2、
Linux
xqhrs232
·
2023-11-17 00:55
Linux4个led灯循环点亮程序,
linux驱动学习
笔记---点亮一个led灯(三)
led硬件地址映射和操作1.点亮s5pv210的led灯首先需要知道其所用引脚,以及引脚所对应的状态寄存器与数据寄存器根据外围电路图可知两个灯所用的引脚分别为gpc0_3与gpc0_4,找到其引脚所对应的寄存器状态寄存器5位的数据寄存器在驱动模块加载中做地址映射,映射的地址为8个字节64位(包括状态寄存器与数据寄存器)gpc0con+1(一个寄存器为4个字节32位,表示指向下一个寄存器0xE020
天海咲
·
2023-11-15 03:30
Linux驱动学习
笔记:MISC驱动
MISC驱动学习笔记1、MISC驱动:又称杂项设备驱动,是三大设备驱动框架中字符设备驱动的一种。MISC设备驱动的主设备号是相同的,均为10。2、注册杂项设备驱动的流程(1)填充miscdevice这个结构体(定义在文件include/linux/miscdevice.h);(2)填充file_operations这个结构体(定义在文件include/linux/fs.h);(3)注册杂项设备并生
長樂yq
·
2023-11-03 07:54
学习笔记
linux
arm
驱动开发
linux驱动学习
加强版-7(平台虚拟总线的引入)
文章目录一、为什么要引入平台虚拟总线二、平台虚拟总线架构三、使用platform框架去写一个驱动一、为什么要引入平台虚拟总线Linuxplatformdriver机制和传统的device_driver机制相比,一个十分明显的优势在于platform机制将本身的资源注册进内核,由内核统一管理,在驱动程序中使用这些资源时通过platform_device提供的标准接口进行申请并使用。这样提高了驱动和资
永不秃头的程序员
·
2023-11-03 03:14
linux驱动学习(兼容安卓)
linux驱动专栏
linux
学习
java
三种Linux字符设备驱动写法-2:总线设备驱动框架
参考资料:嵌入式
Linux驱动学习
-6.platform总线设备驱动模型嵌入式
Linux驱动学习
-5.驱动的分层分离思想1.分离思想回顾第一篇,最简单的驱动框架:如下,在驱动程序中直接把资源(IO引脚)
闪耀大叔
·
2023-10-24 10:39
嵌入式Linux入门
嵌入式
单片机
物联网
arm
linux
linux驱动学习
——自动创建设备节点
文章目录7.1、udev7.2、函数说明7.3、示例代码7.1、udevlinux传统上使用静态设备创建方法,因此大量设备节点在/dev下创建(有时上千个),而不管相应的硬件设备是否真正存在。采用udev的方法,只有被内核监测到的设备,才会去为它们创建设备节点。当插入新设备——加入驱动模块——在sysfs上注册新的数据后,udev会创建新的设备节点。linux系统中/sys/devices/vir
cike626
·
2023-10-23 22:30
linux驱动
linux
Linux驱动学习
(4-字符设备-自动创建字符设备并读写)
上一节我们主要讲解了手动创建字符设备节点并访问,但是感觉太过于麻烦,因此,我们这一节主要讲解如何自动创建字符设备并进行读写操作,以及讲解编写字符设备驱动的框架不过在此之前,我们先不上代码,先了解一下基本的概念。1、设备号dev_t设备号为设备驱动模块程序在Linux系统中唯一识别号。其为32bits的无符号整数,一个设备号分成主设备号和次设备号两部分:(Linux2.6版本的设备号)主号12bit
DevilBox
·
2023-10-20 21:05
内核
Linux
linux驱动
框架
linux
linux驱动学习
笔记 led的驱动程序与驱动测试程序
前言正在学习linux的驱动编写与编译,使用的是韦东山老师的jz2440开发板,下面将对视频配套源码下的驱动代码(\JZ2440V3\drivers_and_test\leds)进行解析归纳。先学习将要用到的知识点intmain(intargc,char**argv)互斥锁设备类MKDEV()宏unlikely()IS_ERR与PTR_ERRcpu内存映射方式(Memory-mapped)copy
天堂陌客
·
2023-10-20 21:12
Linux笔记
linux
驱动
嵌入式
LINUX驱动学习
之1.linux 内核打印函数printk
1.linux内核打印函数printk一、函数有头文件二、定义的关键宏三、函数原型四、函数使用(上位编写)五、编译下载(上位机操作)六、修改下位机linux打印内核信息环境七、装载模块/卸载模块测试一、函数有头文件路径:/opt/kernel/include/linux/printk.h头文件包含:#include*注:一般其它头文件已包含了当前头文件,编写代码时可以不用写*二、定义的关键宏#de
weixin_47273317
·
2023-10-20 02:50
linux驱动基础学习
内核
嵌入式
linux
kernel
linux驱动学习
3-外部中断
在做中断试验时,发现中断驱动总是insmod失败,之后定位到gpio_request失败,之后是想到使用的野火做好的系统,在uEnv.txt中会加载大量设备树插件,将key相关的设备树插件屏蔽即可。linux中断API函数中断号每个中断都有一个中断号,通过中断号即可区分不同的中断,在Linux内核中使用一个int变量表示中断号request_irq函数在Linux内核中要想使用某个中断是需要申请的
大文梅
·
2023-08-21 07:30
linux
Linux驱动学习
--HDMI开发(二)HDMI驱动源码分析(RK平台)
目录一、引言二、驱动框架------>dts节点------>HDMIDDC驱动------>HDMIHDCP驱动------>HDMICEC驱动------>HDMI主设备驱动一、引言前一篇文章简单介绍了一下HDMI的整体结构,从硬件到协议,可以看到,确实包含了很多东西,这篇文章,就从驱动源码的角度,来分析一下HDMI二、驱动框架整体框架分析先来回顾一下几个名词HDCP:HDCP的全称是High
文艺小少年
·
2023-08-01 20:07
hdmi
linux
android
驱动程序
Linux驱动学习
笔记1-学习路径
准备切入
Linux驱动学习
,购买了正点原子“i.MX6ULLLinux阿尔法开发板”,下载了学习资料。
coffee_baba
·
2023-07-19 21:15
linux
学习
笔记
linux驱动学习
2-pinctrl子系统和gpio子系统
pinctrl子系统pinctrl子系统主要用于管理芯片的引脚。iomuxc节点介绍首先我们在/ebf-buster-linux/arch/arm/boot/dts/imx6ull.dtsi文件中查找iomuxc节点,可以看到如下定义iomuxc:iomuxc@20e0000{compatible="fsl,imx6ul-iomuxc";reg=;};•compatible:修饰的是与平台驱动做匹
大文梅
·
2023-06-11 13:30
linux
linux驱动学习
1
内核模块加载/卸载使用insmod命令加载使用rmmod命令卸载内核模块入口/出口module_init():加载模块式该函数自动执行,进行初始化操作module_exit():卸载模块时函数自动执行,进行清理操作内核模块信息声明MODULE_LICENSE():表示模块代码接受的软件许可协议,Linux内核遵循GPLV2开源协议,内核模块与linux内核保持一致即可。MODULE_AUTHOR(
大文梅
·
2023-04-13 06:02
linux
linux
linux驱动学习
(一)
Linux驱动开发起步linux驱动开发思想:Linux驱动开发分类linux驱动开发思想:首先明确Linux驱动表现得形式就是文件/dev/xxx文件,是对文件的打开,关闭,读写等,然后现在的内核支持设备树,是一个.dts文件。描述板子的设备信息。Linux驱动开发分类字符设备驱动。file_operations结构体的成员函数实现。重点是应用程序对应的open,close,read,write
冰茶丿
·
2023-04-04 19:16
linux
linux
学习
驱动开发
linux驱动 — 学习总结
前言
linux驱动学习
也有一段时间了,但是其中断断续续的,以前是不得要领,一直在门外徘徊,后面也是自己特别感兴趣,感觉linux这东西挺有趣、挺有技术含量,我非得去弄一下不可,有些人说弄linux就得从应用开始
东皇※太一
·
2023-04-04 19:14
linux驱动
linux
stm32
Linux驱动学习
开发板文件系统操作指令指令功能备注insmod+xxx.ko向开发板内核添加驱动文件rmmod+xxx.ko从开发板内核中移除对应的驱动文件ls/sys/bus/xxxbus/devices/查看xxx总线中的设备文件需要添加总线和设备文件ls/sys/bus/xxxbus/drivers/查看xxx总线中的驱动文件需要添加总线和驱动文件ls/dev/xxx查看添加的设备文件就是device_cr
maybe要
·
2023-04-04 19:41
linux
学习
ubuntu
Linux驱动学习
笔记(一、linux架构)
1.1Linux系统框架什么是linux?可以将Linux看做是由C语言编写的一个大的程序或者函数库;可以分为应用层(关注业务逻辑)和驱动层(提供函数接口),Linux系统大部分使用C语言编写只在系统的启动部分含有汇编代码。Linux提供了大量的资源比如网络协议栈,多任务处理,内存管理和设备管理等。Linux框架:应用程序通过系统调用来使用内核资源,系统调用一般通过软中断的方式。系统调用:Linu
会飞的企鹅^_^
·
2023-04-04 19:25
linux
架构
嵌入式
Linux驱动学习
之引导篇——为什么要选择嵌入式Linux驱动这个方向?
酝酿了几分钟,依旧不知道如何开篇(这可能是工科男的一个通病吧)。索性随意起来,想到哪写到哪,这样也许思维能变得更加活跃呢。先交代一下背景,本人目前是国内某普通一本高校的一名大三学生,读的专业是电气工程及其自动化。转程序猿也是目前大多数跨专业就业学生的首选,毕竟薪资福利摆在那里,博主自然也是这股潮流中的一员。我也不知道当初在填报志愿的时候为什么要选择这个专业,可能是觉得这个专业的名字比较高大上吧。虽
Life_Leaf
·
2023-04-04 15:02
嵌入式
Linux
驱动
嵌入式
Linux
驱动
学习笔记
Linux驱动学习
--DMA的介绍及使用(系统总线、iommu相关知识介绍)
目录一、引言二、DMA介绍------>MMUIOMMU------>系统总线、内部总线、外部总线三、DMA的数据传输四、DMA的使用一、引言最近发现DMA用的有点频繁,就来系统性的整理一下二、DMA介绍DMA“DirectMemoryAccess(存储器直接访问)。这是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据。整个数据传输操作在一个称为"DMA控制器"的控制下进行的。CP
文艺小少年
·
2023-04-04 15:38
dma
linux
系统总线
android
内存管理
RIFFA之
LINUX驱动学习
之二:riffa.c文件
因为riffa.c包含进来了riffa.h和riffa_driver.h,我们分别贴出来这三个文件:riffa_driver.h//----------------------------------------------------------------------//Copyright(c)2016,TheRegentsoftheUniversityofCaliforniaAll//rig
mcupro
·
2023-04-01 22:29
FPGA
嵌入式硬件
fpga开发
硬件工程
RIFFA之
LINUX驱动学习
之三:riffa_driver.c文件
上面分析到基本的读写操作通过ioctrl来调用对应的driver驱动的实现。riffa_driver.c比较大,52K,这里补贴全部源码,分析哪一段就截图哪一段。里面内容比较多,很多是linux套路化的代码,我们通过ioctrl传递的参数来搜索,直奔主题.我们搜索IOCTL_SEND,找到处理ioctrl的分支程序段:在处理IOCTL_SEND的时候我们看到实现用户数据拷贝到内核空间之后调用了ch
mcupro
·
2023-04-01 22:29
OpenOFDM_RX
嵌入式硬件
fpga开发
硬件工程
Linux驱动学习
记录 cpu主频
以imx6ull芯片为例imx6ull芯片主频是792MHz查看cpu信息cat/proc/cpuinfoproc/cpuinfoprocessor:0modelname:ARMv7Processorrev5(v7l)BogoMIPS:3.00Features:halfthumbfastmultvfpedspneonvfpv3tlsvfpv4idivaidivtvfpd32lpaeCPUimple
未燃机智鱼
·
2023-03-30 12:16
嵌入式
linux驱动
arm开发
arm
驱动开发
Linux驱动学习
--ALSA框架(二)声卡的创建--以SCO虚拟声卡为例
目录一、引言二、ALSA声卡节构体三、声卡的建立流程------>创建snd_card的一个实例------>创建声卡的专用数据------>设置Driver的ID和名字------>创建声卡的功能部件(逻辑设备)------>注册声卡四、重要接口分析------>snd_card_create()------>snd_card_register()一、引言上篇文章分析了ALSA框架,这章开始和大
文艺小少年
·
2023-03-15 14:49
ALSA
linux驱动
android
音频设备
嵌入式
linux驱动学习
-用cdev代替register_chrdev()
上回说到字符设备驱动程序的注册与销毁register_chrdev()和unregister_chrdev()这是有缺陷的。嵌入式lnux驱动学习-2.一个驱动程序的流程现在用另外一个更好的方法代替,我们先来看看register_chrdev()实际上是调用了__register_chrdev(major,0,256,name,fops);staticinlineintregister_chrde
闪耀大叔
·
2023-03-12 23:04
嵌入式Linux入门
linux
学习
运维
【
Linux驱动学习
(1)】USB与input子系统,linux统一设备模型,枚举,USB描述符深入剖析
USB与input子系统一、linux统一设备模型的组成二、USB描述符四大描述符三、USB如何进行一步一步枚举的呢?四、input设备生成过程五、linuxusb子系统---通信一、linux统一设备模型的组成1、linux设备成千上万,怎么匹配驱动?①DTS的compatible与driver对应一样就匹配了?②驱动里面写个同name的device和driver就匹配了?③usb里面devic
甜甜的Galier
·
2022-11-16 18:38
Linux驱动
linux
学习
USB
hid
input
Linux驱动学习
--wifi驱动(rtl88xx系列网卡芯片)源码分析
目录一、引言二、驱动框架三、网络设备框架常用接口介绍------>网卡部分------>USB部分一、引言今天来和大家分析一下rtl88xx系列网卡的驱动框架,该网卡是USB接口的,也就是结合了两种驱动框架二、驱动框架这个系列的网卡都是USB接口,所以本质上来说,还是一个USB外设,通过USB与CPU通信,而其中又增加了网络驱动框架,来完成网卡的功能。我们先从驱动的入口开始看驱动入口statici
文艺小少年
·
2022-08-13 17:36
wifi
linux驱动
网络驱动
USB设备驱动
LINUX驱动学习
之4-LINUX内核和内核编程
说到内核,需要提两个重要的内容1.GNU计划:开发了优秀的编译器GCC和调试器GDB等基础设施2.POSIX标准:可移植的操作系统接口。一、内核各版本主要特点二、版本的命名版本有两个小数点,三部分数字,如LINUX2.6.35,数字不停的增大,周期2-3个月三、版本变更的详细信息在这个网站可以查到http://kernelnewbies.org/LinuxVersions。四、LINUX内核的近期
思途积跬
·
2022-07-12 22:01
LINUX驱动
LINUX-KERNEL
Linux驱动学习
--ALSA框架(一)ALSA框架的介绍
目录一、引言二、ALSA框架介绍------>OSS框架------>ALSA框架------>两个框架的联系------>ALSA整体描述、源码目录结构------>ALSA设备文件结构一、引言本篇文章来分析一下ALSA框架的基本架构二、ALSA框架介绍linux下的声卡驱动架构主要分为OSS架构和ALSA架构。OSS框架OSS全称是OpenSoundSystem,叫做开放式音频系统,这种早期的
文艺小少年
·
2022-05-29 07:54
ALSA
linux
驱动设备
android
音频驱动
Linux驱动学习
--HDMI开发(一) 相关协议及传输原理的介绍
目录一、引言二、HDMI硬件接口及相关协议------->TMDS(转换最小化差分信令)------->CEC(消费电子控制)------->DDC(显示数据通道)------->ARC(音频回传通道)------->HEC(HDMI以太网通道)三、HDMI上层协议四、HDMI的基本传输原理一、引言最近做的项目有涉及到HDMI,故来整理一下HDMI(High-DefinitionMultiface
文艺小少年
·
2022-03-20 00:24
hdmi
linux
android
驱动
Linux驱动学习
记录-新字符设备
第一节介绍了字符驱动设备,开发重点是register_chrdev注册字符设备,unregister_chrdev注销字符设备。驱动加载需要mknod命令创建节点。这些都是老版本,现在学习新字符设备驱动开发。第一节提了一点点,申请设备号是用自动分配的方式就是新设备开发。1.新字符设备注册Linux中cdev结构体表示一个字符设备,在include/linux/cdev.h中,定义如下//字符结构体
不良高须
·
2021-10-04 18:47
Linux
Linux驱动
linux
Linux驱动学习
之hello模块的实现
目录内核模块简介内核模块编写源码分析Makefile文件hello模块的具体实现ARM端调试ARM端调试遇到问题内核模块简介Linux内核模块是一种可以被内核动态加载和卸载的可执行程序,通过内核模块可以扩展内核的功能,通常内核模块被用于设备驱动、文件系统等。如果没有内核模块,需要向内核添加功能就需要修改代码、重新编译内核、安装新内核等步骤,不仅繁琐,而且容易出错,不易于调试。Linux内核是一个整
TianJinCheng'Blog
·
2020-11-12 22:46
Linux驱动
内核
linux
嵌入式
tftp
hello
Linux驱动学习
--V4L2设备(一)驱动注册流程及meida_device介绍
目录一、引言二、v4l2设备注册过程------>v4l2_device_register------>video_register_device------>v4l2_device_register_subdev------>v4l2_device_register_subdev_nodes------>创建v4l-subdevX的通用方法------>相关结构体总结三、meida_device
文艺小少年
·
2020-11-08 15:52
v4l2
linux驱动
android
media设备
Linux驱动学习
笔记----------触摸屏驱动
关于触摸屏的驱动,其实也是input输入子系统,只不过是一个升级版罢了。我所说的都是基于韦老大所说,再加上自己的理解。这里关于输入子系统再做一些补充:—————–入子系统体系—————设备事件层:Linux_Dir/drivers/input/evdev.c(提供handler)提供输入设备产生的原始数据并上报给应用程序,这适用于所有输入设备,触摸屏也不例外编写基于输入子系统的驱动时只需:1.分配
小洲洲洲
·
2020-09-14 14:10
linux驱动
linux驱动学习
(字符型设备驱动)
参考文档:https://segmentfault.com/a/1190000004474802记录具体操作和出现的问题,以及一些扩展知识。对于linux,设备也被看做是一个文件,对于用户来说,通过系统调用和驱动用操作普通文件的方式打开、读写设备,屏蔽硬件细节。创建设备:mknod(类似创建文件节点)这时指定一个主设备号。加载设备驱动,驱动中也有一个设备号,通过该设备号将驱动和设备对应起来。c文件
Graceyongqi
·
2020-09-14 01:38
Linux内核&驱动
Linux驱动学习
(3) 驱动模型简介之usbhid和hid-generic驱动区别
驱动模型简介之usbhid和hid-generic驱动区别参考书籍:《LINUX设备驱动程序》(一)驱动模型简介,三个重要结概念总线,设备,驱动1.总线:a、处理器与单个或多个设备通信的通道b、可以互相插入表示结构体bus_type{var:name//名字subsystem//子系统,常常是自己devices//此总线上添加的设备drivers//此总线上添加的驱动func:match//当添加
上天肖
·
2020-09-13 04:37
linux开发
linux驱动学习
记录(二)-PCI驱动框架
1.PCI设备驱动的组成PCI驱动只是为了辅助设备本身的驱动,它不是目的,而是手段。例如,对于通过PCI总线与系统连接的字符设备,则驱动中除了要实现PCI驱动部分外,其主体仍然是设备作为字符设备本身的驱动,即实现file_operations成员函数并注册cdev。在Linux内核中,用pci_driver结构体来定义PCI驱动,该结构体中包含了PCI设备的探测/移除、挂起/恢复等函数,其定义如下
羅昇
·
2020-08-22 10:17
Linux
上一页
1
2
3
4
5
下一页
按字母分类:
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
其他