当前位置: 首页 > news >正文

长沙门户网站如何在微信上做小程序

长沙门户网站,如何在微信上做小程序,黑马程序员培训怎么样,建设网站怎么建立服务器之前呢,我们讲解了在内核中pinctrl子系统是怎么实现的,今天我们来尝试一下自己去写一个pinctrl子系统: 首先呢,我们来看看一个pinctrl子系统需要做的事情: 上面的话,我们看了一个pinctrl子系统需要的三大功能以及在驱…

之前呢,我们讲解了在内核中pinctrl子系统是怎么实现的,今天我们来尝试一下自己去写一个pinctrl子系统:

首先呢,我们来看看一个pinctrl子系统需要做的事情:

上面的话,我们看了一个pinctrl子系统需要的三大功能以及在驱动程序中对应的三大结构体

下面我们来看看编写驱动程序时我们需要干什么:

我们是需要去搭建俩个驱动程序的,一个是pin controller设备节点的驱动程序,一个是client设备节点的驱动程序

设备树文件已经给出了,下面我们来看看驱动程序应该怎么去写:

下面我们来慢慢看:

我们先来把驱动程序的框架搭建出来:

接着就是去构建platform_deiver结构体了:


这样子在驱动程序和设备树节点通过compatible属性匹配后,probe函数就会被调用,那么在这里面,我们就需要去解析设备树,也就是需要去实现Pinctrl desc结构体:

首先就是分配pinctrl desc结构体了:

接着就是去设置了:

第一个作用就是去描述引脚了,单个引脚就只需要靠pins npins去描述就行,对于一组引脚,我们就需要去配置相应的结构体virtual_pctrl_ops去进行描述了:

接着就是实现这个结构体里面的函数指针了:第一个就是获取一共有多少组,我们这里为了图方便,这里一个引脚就代表一组吧:

所以我们这个函数只需要去返回引脚的数量就行了

接着就是获取组的名字:

一样的,我们只需要去返回pins结构体数组里面的名字就行

接着就是去获取组的引脚:

那个把设备树上面的信息转换成mapping结构体我们后面再讲,因为有点复杂,我们接着来看probe函数:

接着就是去设置pinctrl子系统的第二个功能,也就是引脚复用了,一样的,我们只需要去配置好virtual_pmx_ops结构体就可以了:

先来看第一个函数,这个是用来查看一共有多少个功能的:这里面全是静态的,是比较简单的,其实还有一种动态的从设备树里面去获取的方法

第二个就是去获取这个功能的名字了:

第三个就是获取指定功能的引脚组:

最后一个也就是最重要的,也就是去把对应的组设置成指定的功能:但是因为没有硬件寄存器去给我们操作,所以我们去打印信息就行了,毕竟只是虚拟的嘛,所以没有必要去搞的那么复杂

那么pinctrl子系统的第二个功能,引脚复用就讲完了,我们再回看probe函数:

第三个功能就是去配置引脚功能了:

这样子就大概虚拟的把指定的引脚设置成相应的配置模式了

那么我们去设置pinctrl desc结构体就搞完了,最后去注册就行了:

那么我们就只剩下怎么去从设备树中去注册一个Mapping结构体了,client驱动只需要去写一个简单的platform_driver就可以了

接着我们来看看怎么去注册mapping结构体:

那么到这里,我们就彻底讲完啦,完结,撒花(doge.)

http://www.dtcms.com/a/438616.html

相关文章:

  • Linux网络Socket编程TCP
  • 神卓云监控 K900 在海康 / 大华异地监控场景中的应用实践
  • 深圳专业网站开发上海公司建立网站吗
  • Photoshop - Photoshop 工具栏(1)移动工具
  • 怎么给网站做域名重定向公司网站建设合规吗
  • [创业之路-664]:越是通用的东西,适用的范围越广,解决问题的受众越多,解决方案的提供商越垄断,强者恒强。因此,通用 人工智能的服务是少数大厂的游戏。
  • id创建网站桐乡市城乡规划建设局网站
  • 网站建设谈单情景对话html响应式网页设计代码范文
  • 设计图片免费素材网站做网站运营需要什么资源
  • gas 优化
  • [创业之路-667]:第四次工业革命(智能革命)未来将创造大量的财富,普通人通过哪些方式参与这些财富的创造与分享?
  • New StarsAI1.0.1
  • 青岛高端网站制作培训机构网站建设要求
  • Spring AI 实战:构建智能对话系统
  • Font Awesome 医疗图标
  • 同时显示文件夹大小的其它“免费”方案
  • Vue--Vue基础(二)
  • 高端网站建设搭建服装定制尺寸量身表
  • linux banner 设计
  • WordPress之家
  • php企业网站开发好学么承德网
  • 从技术史看:Unix 从何而来
  • qt 可以做网站吗优化师简历
  • DreamControl——结合扩散模型和RL的全身人形控制:利用在人体运动数据上训练得到的扩散先验,随后在仿真中引导RL策略完成特定任务
  • Spring Boot 实现邮件发送功能:整合 JavaMailSender 与 FreeMarker 模板
  • 新手理解的电子IO口
  • 网站开发完整项目案例做视频网站视频短片
  • 怎样自己做一个网站想创建一个网站
  • wordpress本站只对会员开放网站建设求职要求
  • PyQt5 QLineEdit案例大全:进阶实战应用指南