更新 | 持续开源迅为RK3568驱动指南第十二篇-GPIO子系统

news2024/11/16 3:13:33

《iTOP-RK3568开发板驱动开发指南》更新,本次更新内容对应的是驱动(第十二期_GPIO子系统-全新升级)视频,后续资料会不断更新,不断完善,帮助用户快速入门,大大提升研发速度。

文档教程更新至第十二篇

第1篇 驱动基础篇

第2篇 字符设备基础

第3篇 并发与竞争

第4篇 高级字符设备进阶

第5篇 中断

第6篇 平台总线

第7篇 设备树

第8篇 设备树插件

第9篇 设备模型

第10篇 热插拔

第11篇 pinctrl子系统

第12篇 GPIO子系统

未完待续,持续更新中...

✦ 第一篇 驱动基础

第1章 前言

第2章 你好!内核源码

第3章 helloworld 驱动实验

第4章 内核模块实验

第5章 驱动模块传参实验

第6章 内核模块符号导出实验

✦ 第二篇 字符设备基础

第7章 menuconfig图形化配置实验

第8章 驱动模块编译进内核实验

第9章 申请字符设备号实验

第10章 注册字符设备实验

第11章 创建设备节点实验

第12章 字符设备驱动框架实验

第13章 杂项设备驱动实验

第14章 内核空间与用户空间数据交互实验

第15章 文件私有数据实验

第16章 一个驱动兼容不同设备实验

第17章 Linux错误处理实验

第18章 点亮LED灯实验

✦ 第三篇 并发与竞争

第19章 并发与竞争实验

第20章 原子操作实验

第21章 自旋锁实验

第22章 自旋锁死锁实验

第23章 信号量实验

第24章 互斥锁实验

✦ 第四篇 高级字符设备进阶

第25章 IO模型引入实验

第26章 阻塞IO实验

第27章 非阻塞IO实验

第28章 IO多路复用实验

第29章 信号驱动IO实验

第30章 定时器实验   

第31章 秒字符设备驱动实验 

第32章 Linux内核打印实验  

第33章 llseek定位设备驱动实验

第34章 IOCTL驱动传参实验  

第35章 IOCTL地址传参实验

第36章 封装驱动API接口实验

第37章 优化驱动稳定性和效率实验  

第38章 驱动调试方法实验

✦ 第五篇 中断

第39章 中断实验

第40章 中断申请流程

第41章 中断下文tasklet实验 

第42章 软中断实验

第43章 特殊的软中断tasklet分析实验

第44章 共享工作队列实验

第45章 自定义工作队列实验

第46章 延迟工作实验 

第47章 工作队列传参实验

第48章 并发管理工作队列实验

第49章 中断线程化实验

✦第六篇 平台总线

第50章 平台总线模型介绍

第51章 注册platform设备实验

第52章 注册platform驱动实验

第53章 probe函数编写实验

第54章 点亮LED灯实验(平台总线)

✦ 第七篇 设备树

第55章 初识设备树

第56章 设备树基本语法

第57章 实例分析:中断

第58章 实例分析:时钟

第59章 实例分析:CPU

第60章 实例分析:GPIO

第61章 实例分析:pinctrl

第62章 dtb文件格式讲解

第63章 dtb展开成device_node实验

第64章 device_node转换成platform_device实验

第65章 设备树下platform_device和platform_driver匹配实验

第66章 of操作函数实验:获取设备树节点

第67章 of操作函数实验:获取属性

第68章 ranges属性实验

第69章 of操作函数实验:获取中断资源

第70章 参考文档:设备树bindings

✦ 第八篇 设备树插件

第71章 设备树插件介绍

第72章 设备树插件语法和编译实验

第73章 设备树插件使用实验

第74章 虚拟文件系统ConfigFS介绍

第75章ConfigFS的核心数据结构

第76章 注册configfs子系统实验

第77章 注册group容器实验

第78章 用户空间创建item实验

第79章 完善drop和release函数实验

第80章 注册attribute实验

第81章 实现多级目录实验

第82章 移植设备树插件驱动实验

第83章 设备树插件驱动分析实验

第84章设备树插件参考资料介绍

✦第九篇 设备模型

第85章设备模型基本框架-kobject和kset

第86章 创建kobject实验

第87章 创建kset实验

第88章 为什么要引入设备模型

第89章 进一步探究设备模型

第90章 虚拟文件系统sysfs目录层次分析实验

第91章 什么是引用计数器 

第92章 引用计数器实验

第93章  kobject释放实例分析实验

第95章 创建属性文件并实现读写功能实验1

第96章 优化属性文件读写函数实验

第97章 创建属性文件并实现读写功能实验2

第98章 创建多个属性文件的简便方法

第99章 注册一个自己的总线实验

第100章 在总线目录下创建属性文件实验 

第101章 总线注册流程理论分析实验

第102章  platform总线注册流程实例分析实验 

第103章 在总线下注册设备实验

第104章 设备注册流程分析实验 

第105章  platform总线设备注册流程实例分析实验 

第106章 为什么注册总线之前要先注册设备实例分析实验 

第107章 在自己的总线下注册驱动实验

第108章 驱动注册流程分析实验

第109章  probe函数执行流程分析实验

第110章 加载驱动和加载设备先后顺序分析实验 

第111章 platform总线注册驱动流程实例分析实验

✦第十篇 热插拔

第112章 热插拔简介

第113章 内核是如何发送事件到用户空间

第114章 内核发送事件到用户空间的方法

第115章 完善kset_uevent_ops结构体实验

第116章 netlink监听广播信息实验

第117章 uevent_helper实验

第118章 使用udev挂载U盘和T卡实验

第119章使用mdev挂载U盘和T卡实验

✦ 第十一篇pinctrl子系统

第120章 pinctrl子系统的引入

第121章 pinctrl probe函数讲解

第122章pinctrl 子系统函数操作集

第123章dt_node_to_map函数分析

第124章pinctrl_bind_pins函数

第125章 add_setting函数分析

第126章 通过pinctrl状态设置引脚复用实验

第127章 猜想验证

✦ 第十二篇 GPIO子系统

第128章 GPIO入门实验

128.1 什么是GPIO

128.2 GPIO引脚分布

128.3 GPIO电气属性

128.4 GPIO电气特性

第129章 GPIO控制和操作实验

129.1 使用命令通过sysfs文件系统控制GPIO

129.1.1 内核配置

129.1.2 GPIO编号计算

129.1.3 使用sysfs控制接口控制GPIO

129.2 使用C程序通过sysfs文件系统控制GPIO

129.2.1 控制GPIO输出实验

129.2.2 控制GPIO输入实验

129.3 使用C程序通过sysfs文件系统使用GPIO中断

129.3.1编写应用程序

129.3.2开发板测试

129.4 使用IO命令操作寄存器控制GPIO

129.4.1 IO命令

129.4.2 LED引脚寄存器查找

129.4.3 IO命令点灯测试

129.5 通过mem设备控制GPIO

129.5.1 Linux系统用户态访问内核态方式

129.5.2 /dev/mem设备

129.5.3 /dev/mem设备的使用方法。

129.5.4 mmap函数

129.5.5 LED灯实验

第130章 GPIO的调试方法

130.1 方法一

130.2 方法二

第131章 GPIO子系统API函数的引入

第132章 获取单个gpio描述实验

132.1 函数介绍

132.2 设备树的修改

132.3 驱动程序的编写

132.4运行测试

132.4.1 编译驱动程序

132.4.2 运行测试

第133章 GPIO操作函数实验

133.1 函数介绍

133.2 驱动程序的编写

133.3 运行测试

133.3.1 编译驱动程序

133.3.2 运行测试

第134章 三级节点操作函数实验

134.1 函数介绍

134.2 设备树的修改

134.3 驱动程序的编写

134.4运行测试

134.4.1 编译驱动程序

134.4.2 运行测试

第135章 GPIO子系统与pinctrl子系统相结合实验

135.1 函数介绍

135.2 设备树的修改

135.3 驱动程序的编写

135.4运行测试

135.4.1 编译驱动程序

135.4.2 运行测试

第136章 实战:实现动态切换引脚复用功能

136.1 设备树的修改

136.2 驱动程序的编写

136.3运行测试

136.3.1 编译驱动程序

136.3.2 运行测试

更多文档可以查看

B站搜索-北京迅为RK3568开发板,

公众Hao关注:北京迅为,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1083686.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【翻译】增长秘笈,如何让你的开源项目Star数快速增长

TL;DR (前言) 本文翻译自 https://star-history.com/blog/playbook-for-more-github-stars,尽可能遵照原文,部分内容做少许改动。 我和我的团队最近推出了一个面向开发者的开源工具。这是我第一次推广一个开源工具。很难找到有意…

ES相关面试问题整理

索引模板了解么 索引模板,一种复用机制,就像一些项目的开发框架如 Laravel 一样,省去了大量的重复,体力劳动。当新建一个 Elasticsearch 索引时,自动匹配模板,完成索引的基础部分搭建。 模板定义&#xf…

印尼封锁TikTok Shop后,数字商业将何去何从?

近年来,TikTok已成为全球范围内备受欢迎的短视频平台,它的崛起改变了用户的娱乐方式,也为商家提供了一个全新的数字营销平台。 然而,最近印尼政府宣布封锁TikTok Shop,理由是平台上存在虚假广告和欺诈行为。这一决定引…

跳槽阿里,面试被虐惨了

1、八股文几乎全背熟,谁能想到最后问的全是JVM,一下给我问懵了,当场就挂了! 2、曾经的我很不屑JVM,后来我逐帧学习! 3、现在竞争激烈,甭管什么厂,都要问点JVM! 最近有…

sonarqube 代码质量检测

官方文档 1.安装 我安装的是 sonarqube-10.2 需要jdk17的环境请先安装 jdk17 下载sonarqube-10.2安装包 直接解压、运行启动脚本 sonarqube-10.2.1.78527\bin\windows-x86-64\StartSonar.batsonarqube访问端口:9000 http://localhost:9000 2.项目改造 2.1 修改…

【TensorFlow2 之011】TF 如何使用数据增强提高模型性能?

一、说明 亮点:在这篇文章中,我们将展示数据增强技术作为提高模型性能的一种方式的好处。当我们没有足够的数据可供使用时,这种方法将非常有益。 教程概述: 无需数据增强的训练什么是数据增强?使用数据增强进行训练可视…

Excel 中使用数据透视图进行数据可视化

使用数据透视表(PivotTable)是在Excel中进行数据可视化的强大工具。下面将提供详细的步骤来使用数据透视表进行数据可视化。 **步骤一:准备数据** 首先,确保你有一个包含所需数据的Excel表格。数据应该按照一定的结构和格式组织…

4.js中next()方法与prev()方法使用

我们可以选择某个DOM元素进行获取和操作,但是有时候我们在操作某个元素的时候,也要对它相邻的的元素进行获取或是操作,那我们该如何去做呢,今天记录一个获取某个元素的相邻的上一个元素或相邻的下一个元素 js中的next()方法 next…

【HarmonyOS】低代码平台组件拖拽使用技巧之堆叠容器

【关键字】 HarmonyOS、低代码平台、组件拖拽、堆叠组件 1、写在前面 从本篇开始,我们一起来学习一下低代码平台中组件的托拉拽,虽然组件拖拽十分简单,但实际上还是有一定的技巧,新手上路难免会遇到一定的问题,如果能…

Python并行编程之道—加速海量任务同时执行

这次我要和大家分享一种加速海量任务执行的方法,那就是Python并行编程。如果你经常处理大量的任务,并且希望能够同时执行它们以提高效率,那么并行编程将会给你带来巨大的帮助! 1、了解并行编程 并行编程是利用多个执行单元同时执…

国产化系统加密/国产化系统防泄密

​深信达网络科技有限公司自主研发的深信达主机加固系统软件V2.0、深信达沙盒防泄密系统软件V5.0,与麒麟软件完成兼容认证,并被纳入麒麟软件安全生态联盟成员之一。 麒麟软件主要面向通用和专用领域打造安全创新操作系统产品和相应解决方案,以…

《动手学深度学习 Pytorch版》 8.4 循环神经网络

8.4.1 无隐状态的神经网络 对于无隐藏装态的神经网络来说,给定一个小批量样本 X ∈ R n d \boldsymbol{X}\in\mathbb{R}^{n\times d} X∈Rnd,则隐藏层的输出 H ∈ R n h \boldsymbol{H}\in\mathbb{R}^{n\times h} H∈Rnh 通过下式计算: …

【2023研电赛】商业计划书命题:基于三维视觉感知的可重构智能表面通信设计

该作品参与极术社区组织的2023研电赛作品征集活动,欢迎同学们投稿,获取作品传播推广,并有丰富礼品哦~ 基于三维视觉感知的可重构智能表面通信设计 参赛单位:华北水利水电大学 参赛队伍:创新小组 指导老师:邵…

揭秘光耦合器继电器:了解其功能和应用

在现代电子领域,光耦合器继电器已成为重要组件,可实现各种电路之间的无缝通信。这些小型但功能强大的设备广泛用于从家庭自动化到工业控制系统的各种应用。在本文中,我们将深入研究光耦合器继电器的工作原理,并探讨其广泛采用背后…

外汇天眼:又一平台被假冒,投资者交友误入假BOQ惨遭杀猪盘!

我们都知道,现在网站制作的门槛越来越低,只要懂点皮毛就很容易模仿别人的网站。因为道理很简单,拷贝正规网站前台的样式表和前端代码,然后找个开源的后台程序一对接,网站就做好了。正是如此,一些骗子就利用…

ikuai配置

ikuai配置 一.安装爱快路由二.进入爱快路由web界面三.配置外网设置四.配置DHCP服务器(爱快默认未启用此服务,不配置此步网段内主机获取不到ip也就无法上网) 一.安装爱快路由 爱快路…

【SCSS篇】Vite+Vue3项目全局引入scss文件

文章目录 前言一、安装与使用1.1 安装1.2 scss 全局文件编写1.2.1 概述 1.3 全局引入和配置1.4 组件内使用 vue2 项目引入 sass附:忽略ts类型检测 前言 Sass 是世界上最成熟、最稳定、最强大的专业级CSS扩展语言!在日常项目开发过程中使用非常广泛&…

信钰证券:9月以来A股20家银行 获机构不同批次调研

Wind数据显现,自9月份以来,已经有20家银行获安排不同批次调研。其间常熟银行、瑞丰银行被调研次数较多,别离为20次、11次;宁波银行、渝农商行获安排调研家数居前,别离为206家、128家。从上市银行宣布的调研情况来看&am…

知识图谱03——安装pytorch与torch-geometric

参考自https://blog.csdn.net/Andrew_zjc/article/details/117914736 下载pytorch 查阅自己电脑cuda版本 打开命令行,输入 nvidia-smi可以看到我电脑cuda版本12.0,pytorch版本向下兼容 登陆torch官网下载,https://pytorch.org/ 没有12.0,…

【保姆级】网络安全工程师学习成长路线,就业前景,薪资待遇分享

前言 最近总能在网上看到很多诸如:“怎样成为网络信息安全工程师”等相关问题,这可能与近几年网络安全事件频发,国家对于互联网信息安全和互联网舆情的重视程度不断提升有关,似乎网络信息安全工程师随之成为炙手可热的职业。 待…