![](https://img-blog.csdnimg.cn/e25440dc73f54ae5a997ae1a482cadce.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
深入理解Linux驱动程序开发
文章平均质量分 93
该专栏为董哥原创高质量文章,深入探究Linux驱动程序开发相关技术,希望能帮助到大家!
目前包括技术如下:
1. LED子系统深入剖析
2. NVMEM子系统深入剖析
3. Linux调试工具集合
后续文章不断,价格会逐步上调,订阅的越早,优惠越多哦!
dong__ge
所有专栏付费文章,可在知识星球【嵌入式艺术】中获取。 本人多年嵌入式驱动开发经验,熟悉linux驱动开发,RTOS开发,蓝牙协议栈,WIFI配网等技术。
专注高质量嵌入式知识分享,喜欢的朋友:点赞,关注,不迷路,后续给大家带来更多干货!
展开
-
【深入理解Linux锁机制】八、完成量
本系列文章,深入讲解了Linux锁机制,包括:【深入理解Linux锁机制】一、内核锁的由来【深入理解Linux锁机制】二、中断屏蔽【深入理解Linux锁机制】三、原子操作【深入理解Linux锁机制】四、自旋锁【深入理解Linux锁机制】五、衍生自旋锁【深入理解Linux锁机制】六、信号量【深入理解Linux锁机制】七、互斥体【深入理解Linux锁机制】八、完成量旨在帮助大家更加深入的了解Linux内核相关知识。原创 2023-09-08 08:30:00 · 384 阅读 · 1 评论 -
【深入理解Linux锁机制】七、互斥体
本系列文章,深入讲解了Linux锁机制,包括:【深入理解Linux锁机制】一、内核锁的由来【深入理解Linux锁机制】二、中断屏蔽【深入理解Linux锁机制】三、原子操作【深入理解Linux锁机制】四、自旋锁【深入理解Linux锁机制】五、衍生自旋锁【深入理解Linux锁机制】六、信号量【深入理解Linux锁机制】七、互斥体【深入理解Linux锁机制】八、完成量旨在帮助大家更加深入的了解Linux内核相关知识。原创 2023-09-08 07:15:00 · 398 阅读 · 0 评论 -
【深入理解Linux锁机制】六、信号量
本系列文章,深入讲解了Linux锁机制,包括:【深入理解Linux锁机制】一、内核锁的由来【深入理解Linux锁机制】二、中断屏蔽【深入理解Linux锁机制】三、原子操作【深入理解Linux锁机制】四、自旋锁【深入理解Linux锁机制】五、衍生自旋锁【深入理解Linux锁机制】六、信号量【深入理解Linux锁机制】七、互斥体【深入理解Linux锁机制】八、完成量旨在帮助大家更加深入的了解Linux内核相关知识。原创 2023-09-07 08:43:16 · 285 阅读 · 0 评论 -
【深入理解Linux锁机制】五、衍生自旋锁
本系列文章,深入讲解了Linux锁机制,包括:【深入理解Linux锁机制】一、内核锁的由来【深入理解Linux锁机制】二、中断屏蔽【深入理解Linux锁机制】三、原子操作【深入理解Linux锁机制】四、自旋锁【深入理解Linux锁机制】五、衍生自旋锁【深入理解Linux锁机制】六、信号量【深入理解Linux锁机制】七、互斥体【深入理解Linux锁机制】八、完成量旨在帮助大家更加深入的了解Linux内核相关知识。原创 2023-09-06 08:24:06 · 216 阅读 · 0 评论 -
【深入理解Linux锁机制】四、自旋锁
本系列文章,深入讲解了Linux锁机制,包括:【深入理解Linux锁机制】一、内核锁的由来【深入理解Linux锁机制】二、中断屏蔽【深入理解Linux锁机制】三、原子操作【深入理解Linux锁机制】四、自旋锁【深入理解Linux锁机制】五、衍生自旋锁【深入理解Linux锁机制】六、信号量【深入理解Linux锁机制】七、互斥体【深入理解Linux锁机制】八、完成量旨在帮助大家更加深入的了解Linux内核相关知识。原创 2023-08-24 09:09:31 · 316 阅读 · 0 评论 -
【深入理解Linux锁机制】三、原子操作
本系列文章,深入讲解了Linux锁机制,包括:【深入理解Linux锁机制】一、内核锁的由来【深入理解Linux锁机制】二、中断屏蔽【深入理解Linux锁机制】三、原子操作【深入理解Linux锁机制】四、自旋锁【深入理解Linux锁机制】五、衍生自旋锁【深入理解Linux锁机制】六、信号量【深入理解Linux锁机制】七、互斥体【深入理解Linux锁机制】八、完成量旨在帮助大家更加深入的了解Linux内核相关知识。原创 2023-08-17 07:15:00 · 337 阅读 · 0 评论 -
Linux内核态内存泄露检测工具——Kmemleak
在Linux内核开发中,Kmemleak是一种用于检测内核中内存泄漏的工具。内存泄漏指的是程序中已经不再使用的内存没有被妥善地释放,导致内存的浪费。内核中的内存泄漏同样会导致系统性能下降、系统崩溃等问题。Kmemleak能够检测内核中的内存泄漏,通过检测内核中未被释放但又无法找到其使用位置的内存,进一步定位、修复内存泄漏的问题。在用户空间,我们常用Valgrind来检测;在内核空间,我们常用Kmemleak来检测。原创 2023-06-22 07:00:00 · 1443 阅读 · 1 评论 -
Linux内核调试工具——devmem
我们在底层开发过程中,经常需要在终端查看或者修改设备寄存器的值,有这样一个工具----devmem,可用于读取或者修改物理寄存器的值,非常方便!简而言之,devmem就是在Linux命令行模式下,直接操作我们设备寄存器的值!......原创 2022-08-11 17:57:09 · 6731 阅读 · 4 评论 -
Linux远程调试工具——gdbserver
对于开发者来说,调试必不可少。对于开发PC软件,通常系统已经继承了调试工具(比如Linux系统的GDB),或者IDE直接支持对程序的调试。而对于开发嵌入式软件来说调试的手段比较有限,很多开发者仅有的调试手段依然是最原始的打印(我也是其中之一)。当然除了打印调试之外还有通过来调试,gdbserver在目标系统中运行,gdb则在宿主机上运行。简而言之,gdbserver是一个程序,它允许宿主机可以通过网络,远程调试目标板。...原创 2022-08-13 17:30:55 · 1597 阅读 · 1 评论 -
Linux内核调试工具——Debugfs
Debugfs其存在的主要意义是为了内核开发者向用户空间传递更多有用的信息,与proc不同,proc只提供进程相关的信息;同时也与sysfs不同,sysfs对每个文件都要求一定的规则,而Debugfs没有任何的规则。简而言之,Debugfs是一种用于内核调试的虚拟文件系统。name:文件夹名称parent:父目录,如果为NULL,则在root根目录下name:文件名mode:文件访问权限parent:父目录,用于保存该文件data:保存一些数据等fops:文件操作接口一些类似的接口。...原创 2022-08-13 16:22:34 · 1231 阅读 · 1 评论 -
猿创征文|【Linux Debug】有了core-dump,Bug一举拿下!
`core-dump`文件,又称为**核心转储**,是操作系统在**进程收到某些信号终止运行**时,将此时**进程的地址空间、进程状态以及其他信息**写入到一个文件中,这个文件就是`core-dump`文件,其主要是为了方便开发人员调试,定位问题。原创 2022-11-09 08:14:51 · 626 阅读 · 38 评论 -
猿创征文|【Linux Debug】Linux调试工具——GDB介绍
我是董哥,嵌入式领域新星创作者创作理念:专注分享高质量嵌入式文章,让大家读有所得!原创 2022-11-03 08:46:40 · 452 阅读 · 0 评论 -
【LED子系统深度剖析】八、小试牛刀
✍ Linux驱动开发系列文章| LED子系统:该篇详细讲解了以IMX6ULL为例,详细讲解Linux中LED子系统的开发流程✍原创 2023-05-26 22:58:30 · 1610 阅读 · 0 评论 -
【LED子系统深度剖析】六、核心层详解(三)
✍ Linux驱动开发系列文章| LED子系统:该篇详细讲解了核心层的led-triggers.c的初始化流程以及核心API的实现✍原创 2023-05-19 08:32:16 · 1138 阅读 · 0 评论 -
【LED子系统深度剖析】四、核心层详解(一)
✍ Linux驱动开发系列文章| LED子系统:该篇详细讲解了核心层的led-class.c的初始化流程以及相关API的实现✍原创 2023-05-11 09:01:42 · 1175 阅读 · 0 评论 -
【LED子系统深度剖析】七、触发器实现
✍ Linux驱动开发系列文章| LED子系统:该篇详细讲解了heartbeat触发器的实现方法✍原创 2023-05-23 08:40:09 · 1326 阅读 · 2 评论 -
【LED子系统深度剖析】一、开篇词|Linux驱动开发必读
✍ Linux驱动开发系列文章| LED子系统:该文章为LED子系统专栏文章的大纲,该系列文章进行概览!原创 2023-06-02 07:00:00 · 1417 阅读 · 29 评论 -
【LED子系统深度剖析】二、LED子系统框架分析
✍ Linux驱动开发系列文章| LED子系统:该篇详细讲解了Linux内核中LED子系统的框架,目录结构及核心文件✍原创 2023-03-29 08:25:36 · 1918 阅读 · 13 评论 -
【LED子系统深度剖析】十、详细实现流程(番外篇)
✍ Linux驱动开发系列文章| LED子系统:该篇详细讲解了LED子系统的实现流程✍原创 2023-05-30 10:18:35 · 1332 阅读 · 0 评论 -
【LED子系统深度剖析】九、数据结构详解(番外篇)
✍ Linux驱动开发系列文章| LED子系统:该篇主要对LED子系统的数据结构进行梳理✍原创 2023-05-29 08:39:22 · 1199 阅读 · 0 评论 -
【LED子系统深度剖析】五、核心层详解(二)
✍ Linux驱动开发系列文章| LED子系统:该篇详细讲解了核心层的led-core.c的初始化流程以及核心API的实现✍原创 2023-05-15 08:31:24 · 1198 阅读 · 0 评论 -
【LED子系统深度剖析】三、硬件驱动层详解
✍ Linux驱动开发系列文章| LED子系统:该篇深度讲解了led-gpio.c的初始化流程以及相关API的实现✍原创 2023-04-23 08:49:41 · 2097 阅读 · 38 评论 -
【NVMEM子系统】三、 核心数据结构及内在关联
上篇文章,主要介绍了NVMEM子系统的驱动框架、驱动目录分布,用户空间下的目录结构等内容;为了更好去理解NVMEM子系统,本篇主要了解NVMEM子系统的核心数据结构以及内在关联。原创 2023-02-27 08:30:17 · 1355 阅读 · 0 评论 -
【NVMEM子系统】一、Efuse介绍及安全启动浅析
上面我们也了解过了,efuse主要用于记录一些OEM的产品信息,并且也会用于安全启动,那么安全启动是什么,为什么要做安全启动?安全启动以限制消费者能力,防止消费者从软硬件层面,对产品的部分关键系统进行读写,调试等高级权限,达到对产品的商业保密,知识产权的保护。安全启动的安全模型是建立在消费者是攻击者的假设之上刷机安装自定义的操作系统绕过厂家封闭的支付平台绕过系统保护,复制厂家保护的数字产品。除此之外呢,有的比较专业的消费者,还可以使用数字示波器监听CPU和RAMeMMC。原创 2023-02-16 07:00:00 · 4406 阅读 · 49 评论 -
【NVMEM子系统】四、efuse驱动实现流程
在对`nvmem`驱动框架,数据结构,数据关联熟悉之后,我们来详细分析在`NVMEM`框架之下,如何实现`efuse`驱动。原创 2023-03-14 08:19:57 · 1357 阅读 · 0 评论 -
【NVMEM子系统】二、NVMEM驱动框架
该子系统整体架构不算太大,还是比较容易去理解的,下面我们一起去一探究竟!,该子系统主要用于实现EEPROMEfuse等非易失存储器的统一管理。在早期,像EEPROM驱动是存放于目录下,由于没有做到好的抽象,每次需要去访问相应内存空间,都需要去复制几乎一样的代码,去注册sysfs,这是一个相当大的抽象泄露。NVMEM子系统就是为了解决以往的抽象泄露问题。原创 2023-02-20 08:14:19 · 1260 阅读 · 0 评论