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驱动-mstar
Linux驱动
-字符设备驱动
Linux驱动
-字符设备驱动前言一、预备知识1、file_operations结构体2、地址映射二、涉及的API函数1、字符设备驱动1.1、设备号1.1.1、register_chrdev_region
Vis-Lin
·
2024-09-15 15:33
Linux驱动
linux
驱动开发
运维
单片机
物联网
Linux驱动
开发-字符设备驱动开发
linux驱动
开发1.驱动程序的类型2.驱动开发流程字符设备驱动1.基本概念2.字符设备驱动的基本结构架构字符设备驱动开发中常用的API示例以下代码加入了设备类和设备实例的创建
linux驱动
开发1.驱动程序的类型在
可能只会写BUG
·
2024-09-15 14:56
linux
linux驱动开发
c语言
linux
驱动开发
运维
shell 笔记_s1=abc,s2=def,[-z‘‘‘]&;&;echo‘$s1‘ echo‘$s2‘的输出是什么
最全的Linux教程,Linux从入门到精通======================linux从入门到精通(第2版)Linux系统移植
Linux驱动
开发入门与实战LINUX系统移植第2版Linux开源网络全栈详解从
2024云技术
·
2024-09-15 00:40
运维
linux
面试
linux驱动
-- PWM配置和SysFs操作方法
1:PWM介绍PWM的定义为:可调节脉冲调节器,换句话来说就是一个总周期不变,占空比可调节的方波。2:PWM的总周期和占空比、有效点平方波:在信号领域一般分为数字信号和模拟信号,数字信号就两种状态:0和1,相互交替成为方波。总周期:从1状态到1状态。也就是总周期为:从一个电平再回到这个电平。占空比:有效电平占据占总周期的比例有效电平:器件生效的电平3:linux内核下的PWM3.1linux下的P
悟凡爱学习
·
2024-09-08 05:09
linux驱动
linux
运维
服务器
Linux驱动
学习--网络设备驱动架构介绍及底层源码分析
目录一、引言二、网络设备驱动架构介绍三、网络设备框架常用接口介绍------>网络协议接口层------>sk_buff------>sk_buff的操作函数------>网络设备接口层------>net_device相关介绍------>设备驱动接口层四、驱动源码分析------>初始化源码分析------>接收数据源码分析------>发送数据源码分析------>超时函数源码分析五、wif
文艺小少年
·
2024-09-08 00:41
网络设备驱动
linux
驱动程序
net
Linux进程间通信方式之管道(pipe)_
最全的Linux教程,Linux从入门到精通======================linux从入门到精通(第2版)Linux系统移植
Linux驱动
开发入门与实战LINUX系统移植第2版Linux开源网络全栈详解从
前端老侯
·
2024-09-06 23:21
运维
linux
面试
Linux字符设备驱动 -- regulator子系统
文章目录环境regulator子系统简介:Regulator设备的注册Consumer设备的注册环境linux4.9armv8-Aregulator子系统简介:关于regulator子系统,可以看下这这些博客:
Linux
lagransun
·
2024-09-04 12:20
linux
驱动开发
c语言
Linux驱动
有哪些分类?
Linux驱动
分为三个基础大类:字符设备驱动,块设备驱动,网络设备驱动。1.字符设备(CharDevice)字符(char)设备是个能够像字节流(类似文件)一样被访问的设备。
华清远见成都
·
2024-08-29 20:21
嵌入式硬件
物联网
【
Linux驱动
】Input子系统
输入子系统(Input子系统)1.什么是输入子系统?什么是输入设备?常见的摄入设备有键盘、鼠标、触摸屏等等,用户通过这些输入设备与Linux系统进行数据交换。什么是输入系统?输入设备的种类繁多,能否统一它们的接口?既在驱动层面统一,也在应用程序层面统一?Linux系统为了统一管理这些输入设备,实现了一套能兼容所有输入设备的框架——输入子系统。驱动开发人员基于这套框架开发出程序,应用开发人员可以使用
青椒炒鸡蛋.
·
2024-08-29 19:18
Linux驱动
linux
Linux驱动
开发之Input子系统
一、引言在
Linux驱动
开发的学习过程中,Input子系统绝对是你绕不开的一道关卡。在Linux系统中,不论是按键、鼠标、键盘,亦或者是触摸屏,统统都使用Input子系统来处理输入事件。
陈子陌
·
2024-08-29 19:18
Input子系统
linux
Linux驱动
学习之input子系统
简介input子系统就是管理输入的子系统,和pinctrl、gpio子系统一样,都是Linux内核针对某一类设备而创建的框架。按键、鼠标、键盘、触摸屏等都属于输入设备,linux内核为此专门做了一个叫做input子系统的框架来处理输入事件。输入设备本质上还是字符设备,只是在此基础上套上了input框架,用户只需要负责上报输入事件,比如按键值、坐标等信息。对于驱动编写者而言不需要去关心应用层的事情,
吾有三德
·
2024-08-29 19:12
Linux驱动学习
学习
Linux驱动
开发—设备模型框架 kobject创建属性文件
文章目录什么是属性文件?1.sysfs与kobject2.属性文件的作用3.属性文件的基本操作4.典型的属性文件用例5.创建属性文件的步骤6.示例代码7.效果图使用ATTR宏定义优化__ATTR用法解析1.`__ATTR()`宏的定义2.`__ATTR()`宏的参数3.优化示例优化关键点解析1.数据结构定义2.属性定义3.属性的读写方法4.sysfs操作接口什么是属性文件?在Linux内核中,属性
Trump. yang
·
2024-08-29 16:30
嵌入式开发
linux
驱动开发
Linux驱动
开发—在自己总线下注册设备和驱动
书接上回:
Linux驱动
开发—创建总线,创建属性文件-CSDN博客创建完总线,就可以进行本次实验了文章目录前备知识如何引用导出的符号在总线下注册设备device_register函数解析使用示例关键点:
Trump. yang
·
2024-08-29 16:30
嵌入式开发
linux
驱动开发
嵌入式面经篇十——驱动开发
文章目录前言一、驱动开发1、
Linux驱动
程序的功能是什么?2、内核程序中申请内存使用什么函数?3、内核程序中申请内存和应用程序时申请内存有什么区别?4、自旋锁和信号量在互斥使用时需要注意什么?
须尽欢~~
·
2024-08-29 16:27
嵌入式软件面经
驱动开发
一步步基于HAL库STM32程序RCT6移植到ZET6
一份来自于大牛室友@Top嵌入式的博客_CSDN博客-
Linux驱动
开发,STM32,U-Boot源码分析领域博主的代码,他是基于STM32c8t6的HAL库编写的,由于我只有正点原子精英板,于是便从零开始学习
tt555555555555
·
2024-08-26 21:09
STM
32
stm32
arm
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驱动
适配内核时,对于不同版本内核中有变化函数的适配方式
一、情景
Linux驱动
适配不同内核时,由于内核版本的不同,有些函数可能没有,或者在高版本中函数已经变化了,比如增删了一些参数。
敬致知
·
2024-03-13 04:23
Linux
Linux内核
C/C++
linux
驱动开发
linux驱动
程序设计8 Linux设备驱动中的阻塞与非阻塞I/O
本章导读阻塞和非阻塞I/O是设备访问的两种不同模式,驱动程序可以灵活地支持这两种用户空间对设备的访问方式。8.1节讲述了阻塞和非阻塞I/O的区别,并讲解了实现阻塞I/O的等待队列机制,以及在globalfifo设备驱动中增加对阻塞I/O支持的方法,并进行了用户空间的验证。8.2节讲述了设备驱动轮询(Poll)操作的概念和编程方法,轮询可以帮助用户了解是否能对设备进行无阻塞访问。8.3节讲解在glo
oushaojun2
·
2024-03-06 15:09
linux
linux驱动
Linux驱动
分析——I2C子系统
stm32mp157盘古开发板Linux内核版本4.19目录1、朱有鹏老师视频笔记2、I2C子系统的4个关键结构体3、关键文件4、i2c-core.c初步分析4.1、smbus代码略过4.2、模块加载和卸载:bus_register(&i2c_bus_type);在i2c-core-base.c中4.3、I2C总线的匹配机制4.3.1、match函数4.3.2、probe函数4.4、核心层开放给其
放羊娃
·
2024-02-20 19:42
Linux
嵌入式面试:瑞芯微
文章目录一、2024秋招1.1IIC的速率范围:1.2
linux驱动
子系统汇总:1.3linux关抢占情况汇总:1.4操作或者读写一个文件时,从用户态到内核态再到物理介质的流程(考点:虚拟文件系统):一
EEer!
·
2024-02-20 01:40
工作
面试
瑞芯微
校招
嵌入式笔试
树莓派基于rust编写
linux驱动
模块
最近一直在折腾rust编写
linux驱动
,这个是官方仓库。官方仓库提供了基本入门文档,也可以参考我之前的文章。网上也有一些,但是基本都是基于X86的。
ZechariahZheng
·
2024-02-19 20:30
极客
linux
嵌入式
rust
linux
树莓派基于rust编写
linux驱动
模块
最近一直在折腾rust编写
linux驱动
,这个是官方仓库。官方仓库提供了基本入门文档,也可以参考我之前的文章。网上也有一些,但是基本都是基于X86的。
ZechariahZheng
·
2024-02-19 20:30
linux
嵌入式
rust
linux
【
Linux驱动
】块设备驱动(一)—— 注册块设备
针对块设备驱动将分为两部分介绍,第一部分是注册块设备,即将块设备成功添加到内核;第二部分是介绍如何读写块设备,因为没有实际块设备,这里选择使用内存来模拟块设备。目录一、认识块设备1、什么是块设备2、块设备类型二、模拟设备创建三、注册块设备1、申请主设备号2、申请gendisk3、初始化请求队列4、初始化gendisk5、添加到内核四、补充:分配内存五、完整代码(待完善)一、认识块设备1、什么是块设
仲夏夜之梦~
·
2024-02-09 18:41
linux
运维
服务器
【
Linux驱动
】块设备驱动(二)—— 块设备读写(使用请求队列)
块设备的操作函数并没有类似于字符驱动中的read和write函数,要实现读写操作,只能在请求处理函数中实现。这就分为两种,是否要使用请求队列,请求队列的主要作用是管理和调度IO请求。在以下情况中,一般需要用到请求队队列:多任务环境:多个任务同时对存储设备进行读写,请求队列可以对IO请求进行排序和调度磁盘优化:磁盘是一种机械设备,其IO操作需要进行磁盘寻道等操作,非常耗时,请求队列可以将多个IO请求
仲夏夜之梦~
·
2024-02-09 18:41
linux
运维
服务器
【
Linux驱动
】input 子系统
前面在介绍中断时以按键为例,我们要检测按键输入,需要做如下工作(1)从设备树获取到按键节点、初始化gpio节点、获取中断号、注册中断(2)注册设备号、初始化字符设备、自动创建驱动节点(3)实现文件操作函数逻辑(read、open、release)Linux内核为了处理输入事件(按键、鼠标、键盘、触摸屏),专门设计了input子系统,使用input子系统后无需执行上面的步骤(2)、(3),大大节省了
仲夏夜之梦~
·
2024-02-09 18:11
linux
运维
服务器
【
Linux驱动
】块设备驱动(三)—— 块设备读写(不使用请求队列)
并非每种块设备都会用到请求队列,从上节可以知道,请求队列的作用是管理和调用IO请求,那么反过来想,如果IO请求较少,那就可以无需使用请求队列。在以下情况中,可以不使用请求队列。单任务环境:当系统中只有单个任务(线程或进程)需要对存储设备进行读写操作时,IO操作可以直接被发起,而无需经过请求队列进行调度。IO操作不频繁:当系统中的IO操作非常稀少并且不频繁时,IO操作可以被直接发起,并由底层设备来处
仲夏夜之梦~
·
2024-02-09 18:10
驱动开发
嵌入式Linux开发---RS485通信驱动硬件编程
Linux驱动
RS485通信的程序源码Demo见文末。
牛马大师兄
·
2024-02-09 12:00
嵌入式Linux经验教程
linux
嵌入式硬件
arm开发
驱动开发
mcu
物联网
linux驱动
工作原理
linux或者windows驱动是如何对上和对下工作的,请用中文回答在Linux系统中,设备驱动程序通过在/dev目录下创建文件系统条目与硬件通信。应用程序通过打开这些文件来获取描述符,以此来与设备交互。驱动程序内部使用主次设备号来标识设备。而在Windows系统中,驱动程序会为连接的设备创建设备对象(如PDO、FDO或FIDO),应用程序通过使用CreateFileAPI并使用设备名称或GUID
金士顿
·
2024-02-09 06:39
linux
linux
驱动开发
将TI的电量计
Linux驱动
从4.4内核移植到5.10
背景最近公司某产品用到了TI的电量计芯片BQ40Z50,我负责为其开发
Linux驱动
,搜了下,github上有TI为其写好的开源驱动,太好了。
六个九十度
·
2024-02-09 05:42
驱动开发
linux
驱动开发
电量计
库伦计
一个Kbuild工程生成多个ko文件及其在驱动单元测试上的应用
背景
Linux驱动
是基于Kbuild框架开发的,一般情况下只会生成一个ko文件,如果想添加单元测试(UnitTest即UT),用户要么在模块入口函数的末尾添加UT代码,要么额外创建一个单独的UT工程,前者把测试代码跟驱动代码放置于同一个文件比较混乱
六个九十度
·
2024-02-09 05:41
驱动开发
单元测试
linux
kunit
kbuild
如何给work回调函数传递用户参数
背景
Linux驱动
开发中,经常会用到workqueue,该数据结构管理的是一个个的work_struct结构体:structwork_struct{atomic_long_tdata;structlist_headentry
六个九十度
·
2024-02-09 05:40
驱动开发
内核
linux
驱动
workqueue
work_struct
用devmem2读写设备IO内存
背景有时候定位
Linux驱动
的BUG时,如果能看到外设的寄存器那就很便于调试,但是临时写ioctl命令字不太现实,如果有一个像netcat那样的通用目的网络调试工具,是极好的。
六个九十度
·
2024-02-09 05:40
驱动开发
linux软件
linux
嵌入式
驱动开发
utility
Rust初体验
前段时间,无意中看到了有关Rust的一系列新闻,比如Fuchsia底层开发使用Rust,
Linux驱动
可以采用Rust进行开发,Rust的代码安全性比C/C++更高,而性能与C/C++更加接近,等等。
有理叔
·
2024-02-08 13:25
Rust
Rust
编程语言
nvme Linux driver 学习之二pcie设备枚举原理
首先任何
Linux驱动
的加载入口都是xxx_init()接口,卸载入口是xxx_exit().对于nvme驱动同样,它的驱动加载入口是nvme_init()接口。
1哥
·
2024-02-08 12:22
I.MX6u嵌入式
linux驱动
开发
1:Ubuntu系统入门当Ubuntu系统入门以后,我们重点要学的就是如何在Linux下进行C语言开发,如何使用gcc编译器、如何编写Makefile文件等等首先安装虚拟机软件VM:VmwareWorkstation软件可以在Wmeare官网下载,下载地址:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluat
vv不说话
·
2024-02-07 20:35
MX6U嵌入式linux
linux
驱动开发
运维
裸机开发及开发环境搭建
Linux驱动
开发最终也是操作的寄存器,但是在操作寄存器之前要先编写一个符合
Linux驱动
的框架。同样一个点灯驱动,裸机可能只需要十几行代码,但是Linux下的驱动就需要几十行代码。2.Linux驱
vv不说话
·
2024-02-07 20:34
MX6U嵌入式linux
linux
linux container 作用,linux container_of 宏作用
在学习
Linux驱动
的过程中,遇到一个宏叫做container_of。
范奕信
·
2024-02-07 20:59
linux
container
作用
嵌入式
linux驱动
开发之网络设备驱动
https://bbs.csdn.net/topics/612247295简介Linux网络设备驱动是Linux内核中的一个重要组成部分,它负责网络设备的底层数据传输和设备控制。与字符设备驱动和块设备驱动相比,网络设备驱动的特点和功能如下:首先,网络设备驱动不再是对文件进行操作,而是通过网络接口structnet_device来实现。这个接口为网络设备提供了统一的数据结构和操作接口,使得不同的硬件
稚肩
·
2024-02-07 15:00
嵌入式linux
linux
驱动开发
php
百面嵌入式专栏(面试题)驱动开发面试题汇总1.0
1、
Linux驱动
程序的功能是什么?对设备初始化和释放。进行内核与硬件的数据交互。检测和处理设备出现的错误。2、内核程序中申请内存使用什么函数?
内核笔记
·
2024-02-07 15:59
嵌入式岗位笔试面试真题讲解
面试题
Linux驱动
工作原理
首先列一张Linux下应用程序对驱动的调用图本次讨论内核是如何操作具体硬件的。从图中可知,内核是通过驱动程序中的open(),close()等函数去实现硬件操作的,单从这一点来看,似乎跟单片机通过库函数操作外设差不多。但是Linux内核不是为某一款芯片去设计的,它可以在许多芯片上运行,很明显,它不可能将每款芯片的具体操作函数都写进去,这样的话内核得爆炸。从软件设计层面上来说,分层是必不可少的,为此
慕诗客
·
2024-02-07 11:15
Linux
linux
运维
服务器
linux驱动
开发之常见面试问题
linux驱动
开发之常见面试问题新增驱动的基本操作寄存器基址怎么映射?probe里的常规操作。
墨染 锦年
·
2024-02-07 07:52
Linux
内核驱动
C语言学习
linux
驱动开发
面试
Linux ARM平台开发系列讲解(IPCF异核通信) 2.11.3 IPCF异核通信驱动编译及其测试
这个
Linux驱动
程序的源代码发布在source.codeaur
嵌入式内核源码
·
2024-02-07 04:42
Linux
ARM平台从入门到精通
linux
arm
驱动开发
IPCF异核通信
rockchip的yocto编译环境搭建
作者:良知犹存转载授权以及围观:欢迎添加微信公众号:Conscience_Remains总述嵌入式的朋友们,应该知道
Linux驱动
开发过程中,需要进行搭建交叉编译工具链环境、移植u-boot、kernel
良知犹存
·
2024-02-06 21:01
日常开发记录
2024-01-29
Linux驱动
程序学习好网站:Linux设备驱动程序教程Linux设备驱动程序——read()、write()以及ioctl():这个图很关键,对深入理解这个驱动过程有着很重要的帮助
VernonJsn
·
2024-02-06 14:50
C++
如何测试Linux内核
最后,我们将讨论我们无法使用常规内核测试工具测试的新
Linux驱动
程序的测试。
测试界媛姐
·
2024-02-03 03:20
软件测试
技术分享
自动化测试
linux
运维
服务器
Android 中的property_get/property_set
背景在安卓中调试
Linux驱动
层以及应用层之间的一些功能时,需要获取一些属性。
wwwlyj123321
·
2024-02-02 02:14
嵌入式Linux应用编程
android
java
开发语言
《ARM与Linux些许问题》第四章:ARM平台系统调用原理分析
本文基于
mstar
801平台Linux2.6.35.11版本。首先说明:系统调用不会导致进程上下文切换。
zhangjikuan
·
2024-02-01 16:00
ARM
Linux
系统调用
swi
api
【正点原子Linux连载】第三十九章 系统烧写 -摘自【正点原子】I.MX6U嵌入式
Linux驱动
开发指南V1.0
1)实验平台:正点原子阿尔法Linux开发板2)平台购买地址:https://item.taobao.com/item.htm?id=6036727444342)全套实验源码+手册+视频下载地址:http://www.openedv.com/thread-300792-1-1.html3)对正点原子Linux感兴趣的同学可以加群讨论:9354467414)关注正点原子公众号,获取最新资料更新第三十
正点原子
·
2024-02-01 02:34
LINUX
linux
stm32
动手写
linux驱动
(7)--Apple的学习笔记
一,前言动手写
linux驱动
(6)--Apple的学习笔记基本上已经完成我之前理论复习的内容了,开始进入内核驱动了。
applecai
·
2024-01-29 16:21
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他