驱动开发之gpiolib库的学习及使用

本文介绍了gpiolib库在驱动开发中的角色,强调了它如何统一管理GPIO,详细阐述了从驱动框架设置到GPIO在内核中的初始化过程,包括结构体配置、4bit模式设置以及注册步骤。此外,还提到了使用gpiolib进行GPIO操作的函数,如gpio_request和gpio_direction_input/output,并指出这些函数依赖于芯片厂商提供的硬件操控函数。
摘要由CSDN通过智能技术生成

1.goio库的作用:由于GPIO口较多,当编程人员调用使用GPIO时难免发生不同驱动使用同一个GPIO的情况,因此内核便采用gpio库去帮助统一管理gpio。
2.学习思路:a.了解驱动框架的设置,在内核中提供的接口和在厂商芯片代码的接口。b.以一条主线的方式去追gpio的建立过程,中间涉及的零碎信息也要搞清楚但不要丢失主线。c.区分各结构体信息和作用。d.培养架构思想,因为越复杂的驱动也会有越复杂的架构思想在里面,包含许多软硬件知识。
3.gpio在内核中的建立(以S5PV210为参考):
a.函数s5pv210_gpiolib_init首先设置结构体:
这里写图片描述
这里写图片描述
如图为类型为s3c_gpio_chip的结构体数组。其中每一个表示一个GPIO端口的抽象表现,.base返回一个端口的编号,.ngpio接收一个宏,记录该端口的IO口数量,.lable

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值