linux驱动

阿拉斯攀登10 天前
linux·嵌入式硬件·嵌入式·linux驱动·字符设备驱动
平台设备驱动:platform bus 与设备树嵌入式 SoC 上的片上外设(I2C、SPI、UART、GPIO 控制器等)挂在 platform 总线上。这篇讲 platform 驱动框架、设备树 DTS 语法、驱动和设备怎么匹配,以及现代 Linux 驱动的标准写法。
阿拉斯攀登10 天前
linux·网络·嵌入式硬件·linux驱动·字符设备驱动
并发与同步:自旋锁、信号量、互斥锁Linux 是多任务多 CPU 的系统,驱动里的资源可能被同时访问,导致竞态。这篇讲驱动开发中常用的同步机制:原子操作、自旋锁、信号量、互斥锁,各自的适用场景和注意事项。
阿拉斯攀登10 天前
linux·嵌入式硬件·linux内核·嵌入式·linux驱动
定时器与延时:内核定时器、hrtimer 与延时函数驱动里经常需要定时执行任务、等待硬件就绪。这篇讲 Linux 内核的定时机制:低精度定时器 timer_list、高精度定时器 hrtimer、以及各种延时函数的区别和用法。
阿拉斯攀登10 天前
linux·驱动开发·嵌入式硬件·linux内核·嵌入式·linux驱动·spi
SPI 设备驱动开发SPI 是另一种常用的串行外设总线,速度比 I2C 快,适合高速传输。这篇讲 Linux SPI 子系统架构、spi_driver 框架、四种 SPI 模式、读写传输 API,以及完整的 SPI 设备驱动示例。
阿拉斯攀登10 天前
linux·驱动开发·嵌入式硬件·嵌入式·linux驱动·i2c·字符设备驱动
I2C 设备驱动开发I2C 是嵌入式最常用的低速串行总线,传感器、EEPROM、RTC 很多都是 I2C 接口。这篇讲 Linux I2C 子系统架构、i2c_driver 框架、设备树匹配、I2C 读写 API,以及完整的传感器驱动示例。
阿拉斯攀登11 天前
linux·网络·嵌入式硬件·linux驱动
内核模块开发:module_init 与模块机制详解内核模块是 Linux 驱动的载体。这篇深入讲模块的加载卸载机制、模块参数、符号导出、模块依赖、多文件编译,以及常见的模块开发技巧。
阿拉斯攀登11 天前
linux·嵌入式·linux驱动·字符设备驱动
字符设备驱动:file_operations 与读写实现字符设备是 Linux 驱动最基础、最常用的一类。这篇讲字符设备驱动的核心框架:设备号、cdev 结构体、file_operations 操作集、open/read/write 实现,以及用户空间和内核空间的数据拷贝。
阿拉斯攀登11 天前
linux·嵌入式硬件·linux内核·嵌入式·linux驱动
嵌入式 Linux 驱动概述:分类、内核模块、开发环境嵌入式 Linux 驱动是连接硬件和应用的桥梁。这篇从零讲起:驱动是什么、分哪几类、内核模块机制、开发环境怎么搭,带你入门 Linux 驱动开发。
道川贤林1 个月前
linux·linux驱动·orangepi·u-boot
OrangePi 系统启动优先级修改OrangePi 开发板支持从多种外部设备启动,包括SD卡、EMMC、NVMe固态硬盘等,本文则讲述如何在 Orangepi 开发板上修改从外部设备启动的优先级。
AF_INET61 个月前
c语言·经验分享·音视频·linux驱动·sensor·imx415·datasheet
sensor笔记(一)imx415✔️本篇主要是笔者为调试imx415不同的帧率而记录的相关笔记,内容相对之前文章简要,全文均为手动整理,也不可避免有所错漏,只希望能给到需要的读者一些参考。
DA02214 个月前
linux驱动
Linux驱动-Regmap子系统Linux下大部分设备的驱动开发都是操作其内部寄存器,比如I2C/SPI设备的本质都是一样的,通过I2C/SPI接口读写芯片内部寄存器。芯片内部寄存器也是同样的道理,比如STM32MP157的PWM、TIM等外设初始化,最终都是要落到寄存器的设置上。Linux下使用i2c_transfer来读写I2C设备中的寄存器,SPI接口的话使用spi_write/spi_read等。I2C/SPI芯片又非常的多,因此Linux内核里面就会充斥了大量的i2c_transfer这类的冗余代码,再者,代码的复用性也会降低
DA02214 个月前
linux·c语言·linux驱动
Linux驱动-I2C总线驱动I2C是一种很常见的同步、串行、低速、近距离通信接口。Linux内核开发者为了让驱动开发工程师在内核中方便的添加自己的I2C设备驱动程序,更容易的在linux下驱动自己的I2C接口硬件,进而引入了I2C总线框架。与Linux下的platform虚拟总线不同的是,I2C是实际的物理总线,所以I2C总线框架也是Linux下总线、设备、驱动模型的产物。
DA02214 个月前
linux·c语言·linux驱动
Linux设备树,DTS、DTB浅析设备树(Device Tree),描述设备设备树的文件叫做DTS(Device Tree Source),DTS文件采用了树形结构来描述板机设备,也就是开发板信息,比如CPU数量、内存基地址、IIC接口上接了那些设备、SPI 接口上接了那些设备等。
泽平5904 个月前
linux·运维·服务器·驱动开发·单片机·linux驱动
Linux Pinctrl子系统我节选了其中的一部分,这里可以看到,他将一些引脚如,PH0,PH1,进行了分组配置,将他们分配到了uart sleep状态时候的一个引脚的配置,提前将他们分配到了gpio_input模式,这个其实就是所谓的生产端
ttkwzyttk5 个月前
linux驱动
Linux内核中模块定义宏机制解析在编写 Linux 设备驱动时,尤其是 platform、I2C、SPI 等总线驱动,我们经常会看到类似下面的写法:
BlueBirdssh6 个月前
linux驱动
时钟相位差好的,我来为您直观地绘制时钟信号之间的相位差示意图:## **时钟相位差示意图**### **1. 0° 相位差(同相)** ``` 时钟A: ___|‾‾‾|___|‾‾‾|___|‾‾‾|___|‾‾‾|___|‾‾‾|___ 时钟B: ___|‾‾‾|___|‾‾‾|___|‾‾‾|___|‾‾‾|___|‾‾‾|___ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ 边沿: 完全对齐,同时变化 关系: 两个时钟完全同步 ```
蓝天居士6 个月前
linux驱动·gpio-keys
Linux设备驱动之gpio-keys(2)接前一篇文章:Linux设备驱动之gpio-keys(1)本文内容参考:Linux设备驱动之gpio-keys_linux gpio-keys-CSDN博客
ton_tom8 个月前
linux驱动
设备驱动程序编程-Linux2.6.10-kdb安装下载解压patch
淮北也生橘128 个月前
linux驱动·嵌入式linux
Linux驱动知识点:容器嵌入机制(Container Embedding)核心结论:容器嵌入机制是 Linux 内核 / 驱动中通过 “结构体成员指针反推完整结构体实例指针” 的核心设计,基于 C 语言结构体固定内存布局特性,通过container_of宏实现,解决 “回调函数仅获框架对象指针,需访问完整私有数据” 的核心问题,是驱动开发中上下文关联的必备手段。
yan123681 年前
android·linux·驱动开发·linux驱动
Linux 驱动之设备树【北京迅为】嵌入式学习之Linux驱动(第七期_设备树_全新升级)_基于RK3568_哔哩哔哩_bilibili