前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >01_GPIO子系统视频介绍

01_GPIO子系统视频介绍

作者头像
韦东山
发布2021-12-08 10:06:45
5810
发布2021-12-08 10:06:45
举报
文章被收录于专栏:韦东山嵌入式

资料下载

coding无法使用浏览器打开,必须用git工具下载:

代码语言:javascript
复制
git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git

视频观看

百问网驱动大全

GPIO子系统视频介绍

参考资料:

  • Linux 5.x内核文档
    • Linux-5.4\Documentation\driver-api
    • Linux-5.4\Documentation\devicetree\bindings\gpio\gpio.txt
  • Linux 4.x内核文档
    • Linux-4.9.88\Documentation\gpio
    • Linux-4.9.88\Documentation\devicetree\bindings\gpio\gpio.txt

1. GPIO子系统的作用

芯片内部有很多引脚,这些引脚可以接到GPIO模块,也可以接到I2C等模块。

通过Pinctrl子系统来选择引脚的功能(mux function)、配置引脚:

在这里插入图片描述
在这里插入图片描述

当一个引脚被复用为GPIO功能时,我们可以去设置它的方向、设置/读取它的值。

GPIO名为"General Purpose Input/Output",通用目的输入/输出,就是常用的引脚。

GPIO可能是芯片自带的,也可能通过I2C、SPI接口扩展:

在这里插入图片描述
在这里插入图片描述

GPIO有一些通用功能、通用属性。

1.1 通用功能
  • 可以设为输出:让它输出高低电平;
  • 可以设为输入,读取引脚当前电平;
  • 可以用来触发中断

对于芯片自带的GPIO,它的访问时很快的,可以在获得spinlocks的情况下操作它。

但是,对于通过I2C、SPI等接口扩展的GPIO,访问它们时可能导致休眠,所以这些"GPIO Expander"就不能在获得spinlocks的情况下使用。

1.2 通用属性
1.3 GPIO子系统的作用

管理GPIO,既能支持芯片本身的GPIO,也能支持扩展的GPIO。

提供统一的、简便的访问接口,实现:输入、输出、中断。

2. 预计录制的内容

  • 使用GPIO子系统要掌握的重要概念
  • 基于GPIO子系统的LED驱动程序
  • LED驱动程序上机实验(分为多个单板)
  • GPIO子系统层次与数据结构
  • 具体单板上GPIO子系统源码分析(分为多个单板)
  • 编写一个GPIO扩展芯片的驱动程序
  • GPIO子系统与Pinctrl子系统的交互
  • GPIO子系统的sysfs接口

结构

  • 具体单板上GPIO子系统源码分析(分为多个单板)
  • 编写一个GPIO扩展芯片的驱动程序
  • GPIO子系统与Pinctrl子系统的交互
  • GPIO子系统的sysfs接口
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/08/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 资料下载
  • 视频观看
  • GPIO子系统视频介绍
    • 1. GPIO子系统的作用
      • 1.1 通用功能
      • 1.2 通用属性
      • 1.3 GPIO子系统的作用
    • 2. 预计录制的内容
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档