摘要:
1 休眠与唤醒 1.APP 调用 read 等函数试图读取数据,比如读取按键; 2.APP 进入内核态,也就是调用驱动中的对应函数,发现有数据则复制到用户空间并马上返回; 3.如果 APP 在内核态,也就是在驱动程序中发现没有数据,则 APP 休眠; 4.当有数据时,比如当按下按键时,驱动程序的中断
阅读全文
posted @ 2023-06-09 17:53
fuzidage
阅读(178)
推荐(0)
摘要:
1.异步通知概述 前面讲到APP 读取按键方式里面包含4种方式:1.查询方式,2.休眠唤醒,3,poll机制的休眠唤醒,4.异步通知 字符设备驱动-3-GPIO驱动KEY示例 | Hexo (fuzidage.github.io) 什么是异步通知? 你去买奶茶: ◼ 你在旁边等着,眼睛盯着店员,生怕
阅读全文
posted @ 2023-06-02 17:48
fuzidage
阅读(118)
推荐(0)
摘要:
1 前言引入 前面字符设备驱动-3-GPIO驱动KEY示例 | Hexo (fuzidage.github.io) 字符设备驱动-3.gpio驱动(按键) - fuzidage - 博客园 (cnblogs.com) 就引入了poll机制,那么底层驱动的poll机制实现原理到底是什么呢? 1.1 阻
阅读全文
posted @ 2023-05-17 17:19
fuzidage
阅读(418)
推荐(0)
摘要:
1.设备树相关的头文件 1.处理 DTB of_fdt.h // dtb 文件的相关操作函数, 我们一般用不到, // 因为 dtb 文件在内核中已经被转换为 device_node 树(它更易于使用) 2.处理 device_node of.h // 提供设备树的一般处理函数, // 比如 of_
阅读全文
posted @ 2023-05-03 22:23
fuzidage
阅读(746)
推荐(0)
摘要:
1 引用设备树 在内核中,使用同一个芯片的板子,它们所用的外设资源不一样,比如 A 板用 GPIO A,B 板用 GPIO B, 如果用plateform_device定义资源信息,那么每次单板硬件资源变动后,都要改驱动程序源码,重新编译驱动,重新加载驱动,非常麻烦。 随着 ARM 芯片的流行,内核
阅读全文
posted @ 2023-04-29 20:24
fuzidage
阅读(439)
推荐(1)
摘要:
title: 字符设备驱动-3-GPIO驱动KEY示例 date: 2024-07-28 17:51:13 tags: Linux设备驱动 1 APP 读取按键方式 查询方式 休眠-唤醒方式 poll 方式 异步通知方式 第2、3、4种方法,都涉及中断服务程序。 1.1 查询方式 APP 调用 op
阅读全文
posted @ 2023-01-31 21:04
fuzidage
阅读(420)
推荐(0)
摘要:
1 总线设备驱动模型 设备定义资源,platform_device结构体 驱动定义platform_driver结构体,实现probe, file_operations 总线驱动模型优点: 驱动只是一套控制驱动框架,基本不用修改,和单板硬件相关的都在设备代码里面,硬件修改只需要修改设备资源相关的代码
阅读全文
posted @ 2023-01-06 18:28
fuzidage
阅读(1703)
推荐(0)
摘要:
title: 字符设备驱动-1-GPIO驱动LED示例 date: 2024-07-24 00:21:50 tags: Linux设备驱动 GPIO: General-purpose input/output,通用输入输出接口。下面以IMX6ULL芯片的GPIO寄存器来展开介绍。 1 GPIO 寄存
阅读全文
posted @ 2023-01-06 17:18
fuzidage
阅读(539)
推荐(0)
摘要:
1.信号量和互斥锁的使用场合 锁的特性就是保护临界资源的,一个线程A加锁,另一个线程B解锁,不合常理。A正在操作临界资源,B把A对临界资源的操作权限去除了…… 线程间同步”的使用方法可以使用条件变量或者是信号量实现而不要使用mutex锁,mutex锁一般被用在保护线程间临界资源的情况下。 总结:se
阅读全文
posted @ 2022-12-26 18:03
fuzidage
阅读(213)
推荐(0)
摘要:
线程属性为一个结构体: typedef struct { int detachstate; //线程的分离状态 int schedpolicy; //线程调度策略 structsched_param schedparam; //线程的调度參数 int inheritsched; //线程的继承性 i
阅读全文
posted @ 2022-12-26 17:15
fuzidage
阅读(881)
推荐(0)