摘要: 一、PWM子系统概述 硬件PWM,通过PWM控制器,在控制器的某个通道上实现PWM功能 软件PWM,通过GPIO的高低电平的持续时间进行模拟,依赖于高精度定时器hrtimer PWM子系统包含设备驱动层、核心层和控制器驱动层,同时也可以通过sysfs操作pwm 二、PWM控制器驱动的注册 依赖于平台 阅读全文
posted @ 2025-12-18 23:02 gramming 阅读(2) 评论(0) 推荐(0)
摘要: 一、基础步骤 下载cursor,https://cursor.com/cn/download 下载cursor-free-vip,git clone https://github.com/yeongpin/cursor-free-vip.git 执行irm D:/GitFiles/cursor-fr 阅读全文
posted @ 2025-12-17 17:49 gramming 阅读(2) 评论(0) 推荐(0)
摘要: 一、Linux的输入子系统框架介绍 输入子系统在内核中分为设备驱动层、输入核心层和事件处理层 事件处理层,位于输入核心层的上层,接收来自输入核心层的输入事件,并根据事件的类型和属性进行对应处理,通常较为通用,实现创建设备节点、实现fops等,关键结构体是input_handler 输入核心层,连接事 阅读全文
posted @ 2025-12-16 21:50 gramming 阅读(3) 评论(0) 推荐(0)
摘要: 一、概述 适配环境是ZYNQ系列板卡+AXIDMA的IP核,缺点是把所有的AXIDMA都抽象成了一个字符设备,并且只能独占访问,对于采用多个AXIDMA传输数据的情况不太友好 具体代码在https://github.com/bperez77/xilinx_axidma.git 本示例只讨论一个字符设 阅读全文
posted @ 2025-12-02 22:35 gramming 阅读(50) 评论(0) 推荐(0)
摘要: 一、概述 udev设备文件系统,基于netlink-socket,用户态监听内核发出的uevent事件处理设备的插入和拔出 mdev设备文件系统,是udev的轻量级,基于uevent_helper,内态调用用户注册的回调函数处理设备的插入和拔出 udevadm monitor监听uevent事件 n 阅读全文
posted @ 2025-11-26 23:05 gramming 阅读(9) 评论(0) 推荐(0)
摘要: 一、概述 kobject内核抽象出来的通用对象,对应/sys目录下的一个文件 kset是kobject的一个扩展,一个kset尅包含多个kobject,将多个kobject通过parent进行关联,实现了层次化的结构 sysfs虚拟文件系统,向用户空间提供内核的设备 总线和驱动同时有probe函数, 阅读全文
posted @ 2025-11-26 22:43 gramming 阅读(9) 评论(0) 推荐(0)
摘要: 一、概述 设备树主要文件:dts源文件,dtsi头文件,dtc编译工具、dts输出文件 dtc -I dts -O dtb 1.dts -o 1.dtb这是编译命令,dtc -I dtb -O dts 1.dtb -o 1.dts这是反编译命令 平台设备与驱动匹配的优先级:of_match_tabl 阅读全文
posted @ 2025-11-24 22:15 gramming 阅读(71) 评论(0) 推荐(0)
摘要: 一、概述 平台总线是一个虚拟总线,抽象层面上外设可以通过平台总线与CPU相连 平台设备和平台驱动就像一个人字一样挂在平台总线两侧,当一个新的平台设备或平台驱动被注册进系统,会在另一条枝干上搜索对应的平台驱动或设备,完成初始化 平台设备在/sys/bus/platform/devices下会有相应的文 阅读全文
posted @ 2025-11-18 21:45 gramming 阅读(8) 评论(0) 推荐(0)
摘要: 一、概述 中断上半部分和下半部分,中断上半部分处理紧急且需要快速响应的部分,中断下半部分处理耗时操作。 GIC控制器的四种中断类型,软件中断、私有外设中断、全局共享中断、特定的局部外设中断 二、重要函数与中断申请流程 #include <linux/interrupt.h> // 申请一个中断、传参 阅读全文
posted @ 2025-11-12 22:32 gramming 阅读(8) 评论(0) 推荐(0)
摘要: 一、概述 字符设备的驱动包括设备号、字符设备结构体、自动创建设备节点、fops结构体 二、知识点 设备号:一个32bit的数据,高12bit表示主设备号,低20bit表示次设备号 宏定义:MAJOR(dev),MINOR(dev),MKDEV(ma,mi) 分配设备号:register_chrdev 阅读全文
posted @ 2025-11-04 23:24 gramming 阅读(14) 评论(0) 推荐(0)