- 博客(425)
- 资源 (26)
- 收藏
- 关注
原创 hpatch 学习笔记系列
hpatch 学习笔记摘要 本文是hpatch补丁工具系列的学习笔记,包含多个技术文档链接。主要内容涉及后缀数组算法(libdivsufsort、SA-IS)、差分补丁原理(hdiffpatch、HPatch)以及相关工具实现(hpatch_lite、tinyuz)。笔记详细记录了各种算法的实现细节,如divsufsort、sssort、trsort等排序方法,适合对二进制补丁技术和高效差异算法感兴趣的开发者参考学习。
2025-10-06 07:49:23
699
原创 [Linux]学习笔记系列
这篇Linux学习笔记整理了ARM架构和驱动开发相关的学习资料。主要内容分为两部分:第一部分是ARM架构相关,包括汇编、启动流程、调试、内存管理等核心模块;第二部分是Linux驱动开发,涵盖了基础驱动框架、时钟管理、串口驱动等常见驱动模块,以及设备树、GPIO、I2C等硬件接口相关内容。这些笔记以Markdown格式存储在GitHub仓库中,适合Linux内核和驱动开发者参考学习。
2025-08-28 09:35:58
748
原创 u-boot学习笔记系列
这是一个关于U-Boot学习笔记的GitHub仓库,主要包含ART-Pi开发板的构建命令和U-Boot源码分析资料。内容按功能模块分类,包括API、架构(arm)、启动流程(bootm/bootz)、命令系统(cmd)、通用功能(common)、设备驱动模型(dm)等核心组件。每个模块都有对应的Markdown文档,详细记录了U-Boot的关键技术点,如ARM架构、设备树、时钟管理、外设驱动等底层实现原理。该项目适合嵌入式开发者系统学习U-Boot启动流程和驱动开发。
2025-02-27 08:26:55
2109
原创 rtthread学习笔记系列
本文是一个RT-Thread实时操作系统的学习笔记合集,包含44个技术文档,涵盖了RT-Thread系统的核心组件和驱动开发。主要内容包括:文件系统(FATFS、LittleFS)、通信协议驱动(CAN、I2C、SPI、USB)、内核机制(线程调度、内存管理、IPC)、系统工具(FINSH、ULOG)以及底层开发(汇编、链接文件)等。该笔记系统整理了RT-Thread的各个功能模块,为开发者提供了全面的技术参考。
2025-01-16 11:56:57
1129
原创 MAX14830 可移植 C 驱动实现分析:一个适合多串口扩展场景的开源基础版本
本文分析了开源项目wdfk-prog/max14830实现的MAX14830多串口扩展芯片的C语言驱动。该驱动采用平台无关设计,通过HAL抽象层实现可移植性,适合嵌入式系统中串口资源扩展需求。目前支持SPI模式下4路UART的基础配置、FIFO收发及16路GPIO控制,但尚未实现中断和I2C功能。项目结构清晰,边界明确,接入方式简单,可作为多串口扩展方案的开发起点,尤其适用于硬件调试和驱动封装的基础层实现。开发者需注意外部晶振频率配置等关键细节。
2026-03-19 10:39:16
376
1
原创 M104BPCSX-5024 RFID 驱动与应用层开源实现分析
本文分析了开源项目 wdfk-prog/m104bpcsx_5024 实现的 RFID 驱动与应用层方案。该项目围绕 M104BPCSX-5024 RFID 模块,构建了完整的嵌入式实现框架,主要特点包括: 采用分层架构设计,将协议处理、驱动实现和应用逻辑分离; 通过统一接口抽象支持 SPI 和 UART 两种通信方式; 实现基于 RTOS 的多通道轮询管理; 采用软件模拟空闲检测机制处理桥接芯片通信; 集成低功耗控制策略; 通过 CAN 总线实现检测结果上报。 该项目不仅完成了 RFID 基础功能,更体现
2026-03-19 10:18:11
247
原创 Qboot V2:让 Bootloader 从“能升级”走向“可持续演进”
Qboot V2:构建可持续演进的Bootloader框架 Qboot V2标志着Bootloader设计从基础功能实现向可持续架构演进的重要转变。相比注重快速落地的V1版本,V2通过五大核心升级构建了更完善的升级框架体系: 可插拔存储架构:实现多后端存储支持,突破单一介质限制 算法注册机制:将压缩/加密算法从功能选项升级为可扩展框架 流式处理模型:优化资源受限环境下的升级流程 状态管理系统:强化升级过程的可管理性和可靠性 工程化工具链:提升自动化发布和持续集成能力 这些改进使Qboot V2不仅能满足当前
2026-03-17 09:43:00
311
原创 [Linux]学习笔记系列 -- [drivers][mmc]mmci
本文分析了Linux内核中MMCI(ARM PrimeCell PL18x主机控制器)驱动的实现原理与设计要点。该驱动位于MMC子系统host层,负责将MMC core请求转换为具体寄存器操作,支持命令发送、数据读写、中断处理等功能。文章详细介绍了驱动在Linux系统中的位置、寄存器模型、关键执行流程,重点阐述了其变体抽象机制——通过variant_data结构统一管理不同硬件差异,包括FIFO大小、时钟控制、DMA支持等特性。此外还分析了数据路径约束、PIO/DMA传输机制、busy检测以及时钟电源控制等
2026-03-12 11:39:08
201
原创 黄金比例乘法哈希与哈希表大小设计原理
本文介绍一种高效的静态哈希表设计方案:黄金比例乘法哈希与2的幂桶表结构。该方案采用Knuth提出的理论,使用黄金比例常数(0x61C88647)实现均匀分布,通过位运算代替取模运算提高性能。哈希表大小取2的幂次方,并保持负载因子≤0.5以降低冲突概率。这种组合设计简单高效,适合系统软件和嵌入式环境,能实现接近O(1)的平均查找复杂度。
2026-03-11 11:53:57
606
原创 常用 Git 撤销与清理命令速查
本文总结了Git中常用的撤销修改、清理工作区、修复远程配置及删除Tag等操作命令。主要内容包括:使用git reset --hard恢复仓库到最后提交状态;git clean -fd彻底清理未跟踪文件;新版git restore .撤销当前目录修改;git remote -v检查远程配置;以及删除本地和远程Tag的完整流程(git tag -d和git push origin --delete)。这些命令能快速解决常见问题,保持仓库稳定状态。掌握这些操作可提高Git使用效率,避免不必要的问题。
2026-03-07 09:49:26
412
原创 [Linux]学习笔记系列 -- [drivers]reset
摘要 Linux内核的复位控制器框架(Reset Controller Framework)提供了一种统一管理硬件复位信号的机制。该框架通过生产者/消费者模型解耦复位控制硬件与设备驱动,解决了早期驱动中复位代码混乱、不可移植的问题。 框架核心包括: 生产者端:复位控制器驱动实现硬件操作接口 消费者端:设备驱动通过标准API请求和控制复位信号 设备树:描述复位信号连接关系 主要优势是提高代码可移植性和安全性,适用于设备初始化和错误恢复场景。但仅用于硬件复位,不适用于电源或时钟控制。作为SoC资源管理的关键部分
2026-03-07 09:08:35
524
原创 [Linux]学习笔记系列 -- [drivers]regulator
Linux Regulator框架:统一电源管理解决方案 Regulator框架是Linux内核中用于统一管理电源供应的核心子系统,主要解决嵌入式系统中电源控制的复杂性问题。该框架通过生产者/消费者模型实现硬件解耦,设备驱动通过标准API请求电源而无需了解底层硬件细节。 关键特性: 基于设备树的电源拓扑描述 支持电压/电流的动态调节 提供安全约束机制 实现全局电源优化 典型应用场景包括: 外设电源管理(SD卡、WiFi等) CPU动态电压频率调整(DVFS) 模拟电路供电控制 优势体现在: 提高驱动可移植性
2026-03-07 09:07:49
404
原创 [Linux]学习笔记系列 -- [drivers]regmap
Regmap 是 Linux 内核中用于统一管理设备寄存器访问的子系统,支持多种总线类型并提供缓存机制。它通过 regmap_config 配置寄存器属性,使用 regmap_init_mmio_clk 等函数初始化映射,提供 regmap_read/write 等操作接口。核心功能包括寄存器抽象、缓存管理和访问控制,适用于 I2C/SPI 设备和内存映射 IO 场景,能显著简化驱动开发并提高性能。
2026-03-06 09:25:14
530
原创 [Linux]学习笔记系列 -- [drivers]pinctrl
Pinctrl子系统:Linux内核引脚管理框架 Pinctrl(Pin Control)子系统是Linux内核中管理SoC引脚复用与电气配置的核心框架,主要解决三大问题: 引脚复用:处理同一物理引脚的多功能切换(如GPIO/UART/I2C) 引脚配置:设置上拉/下拉电阻、驱动强度等电气特性 代码解耦:将硬件相关配置从驱动中剥离,提高可移植性 工作原理 采用生产者/消费者模型: 生产者:SoC厂商提供的驱动,负责硬件寄存器操作 消费者:业务驱动(如I2C/UART),通过设备树声明引脚需求 核心层:协调两
2026-03-06 09:09:54
731
原创 [Linux]学习笔记系列 -- [drivers]of
本文主要介绍了Linux内核中Open Firmware(OF)设备树的相关概念和实现。首先解释了设备树的作用,即通过树状层次结构描述硬件配置,提高内核可移植性。随后详细对比了fwnode_handle(通用固件节点抽象)和device_node(设备树专用节点)的区别,包括用途、适用场景和转换方法。文章还分析了of.h头文件中的关键宏定义和函数,如_OF_DECLARE(设备树兼容性表)、of_node_init(节点初始化)以及各类遍历宏(如for_each_matching_node_and_matc
2026-03-05 10:27:32
423
原创 [Linux]学习笔记系列 -- [drivers]nvmem
NVMEM核心为Linux内核提供了统一的非易失性内存访问框架,主要解决嵌入式系统中分散存储的小块固定数据(如MAC地址、校准参数等)的标准化访问问题。该框架采用生产者/消费者模型,通过设备树将硬件布局与驱动代码解耦,支持按名称访问数据单元而非直接操作物理偏移。 核心优势在于: 标准化接口避免重复开发 设备树配置实现硬件无关性 单元抽象简化数据管理 典型应用场景包括网络设备的MAC地址读取、无线模块校准数据获取等需要访问工厂预置数据的场合。但不适用于大容量存储或频繁修改的数据管理。相比MTD子系统更适合小块
2026-03-05 10:24:42
390
原创 [Linux]学习笔记系列 -- [drivers]mfd
Linux内核中的MFD(多功能设备驱动核心)框架是管理多功能复合芯片的标准方案。它通过"分而治之"策略,将物理芯片分解为多个逻辑子设备,解决了复杂芯片驱动的模块化问题。该技术起源于应对现代集成电路日益增长的功能集成需求,现已发展为成熟稳定的驱动设计模式。 核心原理是通过父驱动注册多个子设备:父驱动处理底层通信和共享资源,而各功能模块由独立的子驱动实现。这种架构优势明显,包括代码模块化、驱动重用、配置灵活性以及清晰的职责划分。典型应用场景包括电源管理芯片(PMIC)、音频编解码器等多功能
2026-03-04 10:27:27
683
原创 [Linux]学习笔记系列 -- [drivers]leds
Linux LED子系统提供了一个统一的框架来管理LED设备,解决了内核中LED控制代码重复和接口混乱的问题。该子系统通过分离LED的物理控制(驱动)和逻辑行为(触发器),实现了硬件与事件的解耦。核心组件包括LED设备驱动(生产者)、核心协调层和触发器(消费者),通过sysfs提供用户接口。LED子系统广泛应用于嵌入式设备、服务器和笔记本电脑的状态指示,但不适用于RGB灯效或背光控制等复杂场景。相比直接GPIO控制或Backlight子系统,LED子系统在状态指示方面提供了更高的灵活性和标准化接口。
2026-03-04 10:22:09
598
原创 [Linux]学习笔记系列 -- [drviers]iio
IIO(Industrial I/O)子系统是Linux内核中统一的传感器数据采集框架,旨在解决传感器驱动缺乏标准化的问题。它提供了sysfs和字符设备两种接口,支持低速配置和高速数据采集。IIO的核心是围绕struct iio_dev构建的生产者/消费者模型,通过通道(iio_chan_spec)描述传感器数据,并支持触发器机制实现精确采样。该框架广泛应用于移动设备、工业自动化和物联网等领域,已成为Linux传感器处理的事实标准。相比Input和Hwmon子系统,IIO专注于物理量测量,不适合处理用户输入
2026-03-03 08:34:16
768
原创 [Linux]学习笔记系列 -- [drivers][dma-buf]
这个文件系统是整个DMA-BUF框架的基石,它允许将内核中的DMA缓冲区(dma_buf)封装成匿名的文件描述符(file descriptor),从而使得这些缓冲区可以在不同的设备驱动之间,甚至跨进程安全、高效地共享,而无需进行昂贵的内存拷贝。当代表DMA缓冲区的所有文件描述符都被关闭,并且内核中没有其他地方持有对它的引用时,VFS会自动调用此代码中定义的。该初始化过程的实现原理是利用Linux的虚拟文件系统(VFS)层来为非持久化的内核对象(即DMA缓冲区)提供一个文件接口。这项技术以及其所在的。
2026-03-03 08:32:01
714
原创 [Linux]学习笔记系列 -- [drviers]clocksource
Linux内核时钟源(Clocksource)摘要 Linux内核的clocksource框架为解决硬件计时器多样性问题而设计,为内核提供统一的时间基准。该框架通过抽象层隐藏底层硬件差异,支持自动选择最优计时器,并实现高效时间转换。 核心原理: 定义struct clocksource结构体抽象硬件计时器 基于rating机制自动选择最优时钟源 使用mult/shift参数实现高效时间转换 通过看门狗机制确保时钟源可靠性 主要优势: 提供统一时间接口,增强可移植性 支持高精度时间获取 自动选择最优硬件计时器
2026-03-02 11:21:11
1023
原创 将隐藏在副屏的 Windows 11 程序窗口恢复到主屏
摘要 Windows 11程序窗口在断开副屏后可能仍显示在"不可见区域"。可通过快捷键组合恢复:Alt+Tab切换程序→Alt+空格打开菜单→按M进入移动模式→按方向键激活→用鼠标拖回主屏。此方法适用于双屏切换、笔记本外接显示器断开等情况。原理是系统保留了窗口在原副屏的坐标记录。建议经常切换显示环境的用户,在断开副屏前先将程序窗口拖回主屏关闭,避免窗口"丢失"问题。
2026-03-02 11:05:26
1641
原创 显卡报DXGI_ERROR_DEVICE_HUNG 的处理指南
DXGI_ERROR_DEVICE_HUNG 故障处理摘要 当游戏出现DXGI_ERROR_DEVICE_HUNG(0x887A0006)错误时,通常是由于显存耗尽或显卡超时导致。主要处理步骤包括:1)降低贴图质量、分辨率和特效设置以减少显存占用;2)关闭光线追踪等高性能需求功能;3)关闭占用显存的后台程序;4)尝试切换至DirectX 11/Vulkan等更稳定的图形API。若确认是TDR机制触发,可谨慎调整注册表延长超时时间,但需注意系统风险。最后建议回退到稳定版显卡驱动,采用干净安装方式。通过监控专用
2026-02-13 09:47:41
1452
原创 EWMA、加权平均与一次低通滤波的对比与选型
摘要 本文对比分析了EWMA(指数加权移动平均)、加权平均和一次低通滤波三种信号平滑方法的原理与适用场景。三者都用于将噪声较大的观测序列转化为更稳定的信号,但各有特点:加权平均适用于一次性样本处理;加权移动平均(FIR)具有严格的窗口限制;EWMA和一次低通滤波采用递推方式,仅需维护单个状态值,计算效率高但存在滞后效应。文章从权重结构、记忆特性、存储需求和响应速度等维度进行了详细对比,并提供了各方法的C语言实现示例。EWMA和一次低通滤波特别适合实时路径和动态控制场景,而加权移动平均更适合需要严格窗口定义的
2026-02-13 09:15:21
1011
原创 EWMA 指数加权移动平均
EWMA指数加权移动平均摘要 EWMA是一种递推式平滑方法,通过指数衰减历史数据权重来降低短期抖动影响。其核心公式为S_t=α·x_t+(1-α)·S_{t-1},仅需维护一个状态值,计算成本为O(1)。EWMA能形成连续趋势指标,适用于资源忙碌度估计、动态阈值控制等场景,但不适合需要立即响应突变的情况。Linux块层blk_mq_update_dispatch_busy采用EWMA判断队列忙碌度,通过整数缩放因子保持分辨率,并优化低负载时的写操作。参数选择上,权重越大越平滑但响应越慢,需权衡敏感性与稳定性
2026-02-12 13:17:36
919
原创 [Linux]学习笔记系列 -- [drivers]char
Linux字符设备驱动模型是UNIX/Linux系统中处理面向字节流设备的传统方案。该技术起源于UNIX"一切皆文件"的设计哲学,主要解决终端、打印机等流式设备的统一抽象问题。其核心原理是通过主/次设备号将设备节点与内核驱动关联,借助VFS层实现标准文件I/O操作。 主要优势包括:提供标准统一的API、简单直观的设计、通过ioctl实现灵活控制。典型应用场景包括串行通信、伪设备、硬件控制接口等。但不适用于需要随机访问的存储设备或基于数据包的网络设备。 相比块设备,字符设备缺乏通用缓冲层和
2026-02-12 08:35:51
1056
原创 修复 VS Code Remote-SSH 连接超时:启用 PTY 分配
摘要: VS Code Remote-SSH连接超时若伴随网络正常但PTY分配禁用(remote.SSH.permitPtyAllocation=false),需启用PTY以解决远端脚本执行问题。解决方案:在设置中配置"remote.SSH.permitPtyAllocation": true,必要时启用showLoginTerminal显示交互终端。验证步骤需确认22端口可达且命令行SSH可登录。此调整能修复因非交互会话阻塞导致的初始化超时问题。(148字)
2026-02-12 08:34:14
482
原创 [Linux]学习笔记系列 -- [drviers]amba
Linux内核的reset_control_deassert函数用于解除硬件外设的复位状态,属于复位控制子系统核心API。该函数通过复位控制器驱动将目标外设移出复位状态,使其可正常工作。调用时会检查复位控制器是否存在、是否支持解除操作,并确保操作符合硬件时序要求。该机制广泛应用于SoC初始化流程,确保各外设按正确顺序解除复位,是嵌入式系统启动和电源管理的关键组成部分。
2026-02-11 09:19:06
901
原创 游戏后台 CPU 占用高与全屏切换最小化问题排查指南
本文针对Windows平台3D游戏常见的两个问题提供解决方案:后台CPU占用高和全屏切换最小化。对于高CPU占用,建议启用垂直同步或限制帧率至60FPS以下,关闭后台程序,并调整系统电源模式。全屏切换最小化问题可通过改用无边框窗口模式解决,同时建议更新显卡驱动和关闭可能抢占焦点的软件。这些优化措施能有效提升游戏运行效率和使用体验。
2026-02-11 09:11:18
1136
原创 VS Code Codex 登录失败(1455 端口占用)处理说明
该错误属于本地端口冲突占用者通常是异常残留的 VS Code / 扩展进程定位进程 → 结束进程 → 完全重启 VS Code处理完成后即可恢复正常登录流程该问题在 Windows 环境下较为常见,属于已知行为,并非配置或使用错误。
2026-02-10 13:56:10
3028
原创 [Linux]学习笔记系列 -- [drivers][tty]tty
本文介绍了Linux内核中的TTY子系统,它是处理终端和串口通信的核心框架。TTY源于Unix系统,最初为物理电传打字机设计,后发展为支持虚拟终端和伪终端(PTY)。其三层架构包括TTY核心、线路规程(处理输入输出逻辑)和底层驱动。TTY子系统提供了标准化的终端接口,支持行编辑、会话管理等功能,是命令行交互、远程登录(如SSH)和容器化技术的基础。虽然功能强大,但也存在历史包袱和性能开销问题。在需要原始数据传输或进程通信时,建议使用更简单的管道或套接字。TTY与console和serial子系统相关但不同,
2026-02-10 10:47:30
321
原创 分卷压缩包损坏排查指南
分卷压缩包损坏排查指南摘要 当分卷压缩包(ZIP/RAR/7z格式)解压报错时,可按以下步骤处理: 确认分卷类型:ZIP分卷需操作主.zip文件,RAR/7z分卷从.part1.rar或.7z.001开始; 先用NanaZip测试入口文件,若报错则需进一步定位; 推荐使用7-Zip测试,可直接显示损坏分卷(如Game.z03); 若7-Zip仅显示内容错误,可通过解压进度区间反推损坏分卷; 重下损坏分卷后需再次测试验证。常见误区包括操作错误分卷文件、文件名不一致等。通过系统测试可避免全部分卷重复下载。
2026-02-10 10:45:31
1490
原创 [Linux]学习笔记系列 -- [drivers][tty]sysrq
Linux内核魔法键(Magic SysRq Key)是系统终极应急与调试工具,主要用于解决系统完全冻结时的诊断和安全重启问题。该技术源自SGI IRIX系统,在Linux 2.1.43内核中引入,通过特殊键盘组合或/proc接口直接与内核通信,绕过上层可能已死锁的软件栈。其核心原理是低层键盘事件拦截和命令分发表,提供从安全重启到深度调试的丰富功能。主要应用于服务器环境作为最后救援手段,但需谨慎使用,因其暴力执行特性可能带来数据损坏风险。通过/proc/sys/kernel/sysrq文件可动态配置功能开关
2026-02-07 15:27:39
488
原创 [Linux]学习笔记系列 -- [drivers][tty]stm32-usart
STM32 USART驱动寄存器分析 本文分析了STM32系列芯片USART驱动中的关键寄存器配置,包括F4、F7和H7三个系列的不同寄存器布局。重点解读了CR1控制寄存器的各个功能位: 中断控制位(IDLEIE/RXNEIE/TCIE等)用于管理各种中断事件 数据格式控制位(M0/M1)决定传输位数(7/8/9位) 奇偶校验控制位(PCE/PS)实现硬件校验功能 收发使能位(TE/RE)控制收发器状态 低功耗模式位(UESM)管理USART唤醒功能 不同STM32系列在寄存器偏移和功能支持上存在差异,F7
2026-02-07 15:26:34
1096
原创 [Linux]学习笔记系列 -- [drivers][tty]serial
摘要: Linux内核的serial驱动框架为UART硬件提供统一接口,解决不同芯片的驱动复用问题。它通过uart_driver、uart_port等核心数据结构抽象硬件差异,连接TTY子系统与物理端口。广泛应用于内核调试控制台、嵌入式设备通信等场景,但不适合高速或总线通信。相比SPI/I2C,UART更适用于异步、点对点的低速长距离通信。该框架稳定且活跃,是Linux设备驱动的关键组件之一。
2026-02-06 10:42:47
489
原创 [Linux]学习笔记系列 -- [drivers][tty][serial_core]
本文分析了Linux内核串行核心层中的关键数据结构struct uart_port,它作为UART硬件端口的软件抽象,集成了硬件资源、配置参数和操作函数集。该结构体采用数据驱动和抽象分层设计,通过回调机制(uart_ops)实现接口与实现的分离,并包含丰富的标志位(UPF_*和UPSTAT_*)来描述端口状态。此外,uart_iotype枚举定义了访问UART寄存器的不同方式。这种设计使串行核心层能统一管理各类UART硬件,而具体驱动只需填充相应数据成员和回调函数即可完成硬件适配。
2026-02-06 10:40:32
478
原创 [Linux]学习笔记系列 -- [drivers][mmc][mmc_sdio]
本文分析了Linux内核中SDIO总线驱动(sdio_bus.c)的实现原理与架构设计。该驱动通过在MMC总线基础上创建独立的sdio_bus_type总线,解决了多功能SDIO卡中不同功能(如Wi-Fi和蓝牙)的设备管理问题。其核心机制包括: 为每个SDIO功能创建独立设备节点 提供功能驱动绑定接口 实现功能电源管理 支持热插拔操作 该设计允许内核将物理卡上的各功能视为独立逻辑设备,实现了精细化的设备驱动绑定与管理。
2026-02-05 08:54:03
1012
原创 [Linux]学习笔记系列 -- [drivers][mmc]mmc_sd
本文介绍了Linux内核中SD UHS-II总线管理的实现,重点分析drivers/mmc/core/sd_uhs2.c文件。UHS-II标准通过新增LVDS接口实现300MB/s+的高速传输,解决了专业设备存储瓶颈问题。该驱动包含UHS-II卡发现、初始化、寄存器访问和信号训练等关键功能,采用模块化设计独立于传统SD逻辑。虽然依赖硬件支持且调试复杂,但它是发挥UHS-II性能的唯一标准方案,广泛应用于高端笔记本电脑、外置读卡器等场景。相比传统SD/UHS-I,UHS-II在速度、接口和初始化流程上都有显著
2026-02-05 08:52:52
1027
原创 [Linux]学习笔记系列 --[drivers]mmc]mmc
title: mmccategories: 子系统是为了给Linux内核提供一个统一的、可扩展的框架来支持一整类基于**多媒体卡(MultiMediaCard)**规范及其衍生协议的设备而诞生的。这些设备包括:在没有这个统一框架之前,对这些设备的支持是零散的。该框架的诞生解决了以下关键问题:MMC子系统是Linux内核中最为成熟和活跃的核心子系统之一。由于几乎所有的移动和嵌入式设备都依赖它,因此它得到了持续的维护和功能增强。 的核心是一个清晰的三层架构:主机控制器驱动 (Host Driver) - ()
2026-02-04 10:27:43
1679
原创 [Linux]学习笔记系列 -- [drivers][input]serio
本文介绍了Linux内核中的serio子系统,该子系统为PS/2及传统串行输入设备提供总线抽象。serio采用三层架构:底层端口驱动与硬件交互,中层总线核心管理设备匹配,上层设备驱动解析协议。它解决了硬件接口抽象、驱动解耦等问题,主要应用于虚拟机输入和遗留硬件支持。虽然技术成熟稳定,但由于PS/2接口过时,serio在现代系统中仅作为遗留支持使用,被性能更优的USB HID取代。代码片段展示了serio通过sysfs向用户空间导出接口,支持驱动信息查询和手动绑定控制。
2026-02-04 10:26:47
1209
e-LinkS使用方法-3.1 (1)
2018-07-25
液晶显示板revc-20141009-sch-r
2018-07-25
LM324四重运算放大器TI数据手册中文版
2020-09-20
CUBE+STM32F7+FREEMODBUSV1.5 多从机
2022-01-21
STM32F1必备参考书
2018-07-25
RoboMaster M3508直流无刷减速电机
2018-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅