![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux驱动实践分析
文章平均质量分 86
小吴伴学者
算法分享,多机器人任务分配领域博主|Linux内核子系统,驱动开发
展开
-
Linux platform 设备驱动实验
本篇文章主要介绍了总线--驱动----设备模型下的platform总线的初始化过程,如何进行设备和驱动的匹配和绑定的?以及从源码的角度解释了为什么会执行驱动中的probe函数。原创 2023-05-29 09:50:00 · 1144 阅读 · 2 评论 -
Linux中断实验
本篇文章只要介绍了LInux的中断机制,主要分为上半部和下半部。下半部的实现方式有软中断,tasklet,work_struct三种方式,详细讲述了这三种下半部方式的使用方法。原创 2023-05-25 10:21:54 · 320 阅读 · 0 评论 -
内核定时器驱动实验
本篇文章讲述了内核定时器的使用过程。原创 2023-05-23 10:06:50 · 224 阅读 · 0 评论 -
Linux 并发与竞争
此篇文章讲述了原子操作、自旋锁、信号量和互斥体的使用过程,以及它们对应的使用场景。原创 2023-05-09 10:44:19 · 271 阅读 · 0 评论 -
Uboot启动流程 (3)
该篇文章详细分析了Uboot执行bootz命令启动内核的流程,并最终跳转到kernel_entry()内核第一行程序中执行,并把机器ID,设备树地址等参数传进了内核。原创 2023-05-03 20:33:48 · 433 阅读 · 0 评论 -
Uboot启动流程(2)
Uboot启动流程(2)分析了bootz命令执行之前的准备,主要是初始化设备和内存分布,为malloc等区域保存内存。原创 2023-05-01 22:46:42 · 87 阅读 · 0 评论 -
Uboot启动(1)
Uboot的启动流程1:进入SVC模式,设置SP指针。原创 2023-05-01 17:05:10 · 157 阅读 · 0 评论 -
Linux驱动——pinctrl和gpio子系统
无论是哪种芯片,都有类似下图的结构:要想让pinA、B用于GPIO,需要设置IOMUX让它们连接到GPIO模块;要想让pinA、B用于I2C,需要设置IOMUX让它们连接到I2C模块。所以GPIO、I2C应该是并列的关系,它们能够使用之前,需要设置IOMUX。有时候并不仅仅是设置IOMUX,还要配置引脚,比如上拉、下拉、开漏等等。传统的配置 pin 的方式就是直接操作相应的寄存器,但是这种配置方式比较繁琐、而且容易出问题(比如 pin 功能冲突)。原创 2023-04-24 15:25:39 · 421 阅读 · 0 评论 -
Linux——驱动:字符设备驱动框架
主要从源码的角度对字符设备的注册和注销过程进行了分析,且在板子上进行了实践。原创 2023-04-20 16:21:14 · 912 阅读 · 0 评论