资料下载
由于coding平台不支持通过浏览器直接打开,必须使用git工具进行下载:
代码语言:javascript代码运行次数:0
运行复制“`javascriptgit clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git“`
视频观看百问网驱动大全
GPIO子系统层次与数据结构参考资料:
Linux 5.x内核文档 Linux-5.4Documentationdriver-apiLinux-5.4Documentationdevicetreebindingsgpiogpio.txtLinux-5.4driversgpiogpio-74×164.cLinux 4.x内核文档 Linux-4.9.88DocumentationgpioLinux-4.9.88Documentationdevicetreebindingsgpiogpio.txtLinux-4.9.88driversgpiogpio-74×164.c
GPIO子系统的层次
1.1 层次
1.2 GPIOLIB向上提供的接口
获得GPIO | gpiod_get | gpio_request | | gpiod_get_index | | gpiod_get_array | gpio_request_array | | devm_gpiod_get | | devm_gpiod_get_index | | devm_gpiod_get_array | 设置方向 | gpiod_direction_input | gpio_direction_input | | gpiod_direction_output | gpio_direction_output | 读值、写值 | gpiod_get_value | gpio_get_value | | gpiod_set_value | gpio_set_value | 释放GPIO | gpio_free | gpio_free | | gpiod_put | gpio_free_array | | gpiod_put_array | | devm_gpiod_put | | devm_gpiod_put_array |
1.3 GPIOLIB向下提供的接口
重要的3个核心数据结构
记住GPIO Controller的要素,这有助于理解它的驱动程序:
即构数智人
即构数智人是由即构科技推出的AI虚拟数字人视频创作平台,支持数字人形象定制、短视频创作、数字人直播等。
36 查看详情
一个GPIO Controller里有多少个引脚?有哪些引脚?需要提供函数,设置引脚方向、读取/设置数值需要提供函数,把引脚转换为中断以Linux面向对象编程的思想,一个GPIO Controller必定会使用一个结构体来表示,这个结构体必定含有这些信息:
GPIO引脚信息控制引脚的函数中断相关的函数
2.1 gpio_device每个GPIO Controller用一个gpio_device来表示:
里面每一个gpio引脚用一个gpio_desc来表示gpio引脚的函数(引脚控制、中断相关),都放在gpio_chip里
2.2 gpio_chip我们并不需要自己创建gpio_device,编写驱动时要创建的是gpio_chip,里面提供了:
控制引脚的函数中断相关的函数引脚信息:支持多少个引脚?各个引脚的名字?
2.3 gpio_desc我们去使用GPIO子系统时,首先是获得某个引脚对应的gpio_desc。
gpio_device表示一个GPIO Controller,里面支持多个GPIO。
在gpio_device中有一个gpio_desc数组,每一引脚有一项gpio_desc。
如何编写GPIO Controller驱动程序
分配、设置、注册gpioc_chip结构体,示例:driversgpiogpio-74x164.c

以上就是05_GPIO子系统层次与数据结构的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/477414.html
微信扫一扫
支付宝扫一扫

