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

网站建设推广什么意思近期出现的病毒叫什么

网站建设推广什么意思,近期出现的病毒叫什么,dw做网站有哪些用处,杭州做邮票的公司网站总结 pinctrl作为驱动 iomuxc节点在设备树里面 存储全部所需的引脚配置信息 iomux节点匹配pinctrl子系统 控制硬件外设的时候 要知道有哪些gpio 再看gpio有哪些服用寄存器 接着在程序配置gpio相关寄存器 这样搞效率很低 所以用iomux节点保存所有的引脚组 pinctrl驱动起来的时…

总结

pinctrl作为驱动
iomuxc节点在设备树里面 存储全部所需的引脚配置信息

iomux节点匹配pinctrl子系统

控制硬件外设的时候 要知道有哪些gpio 再看gpio有哪些服用寄存器
接着在程序配置gpio相关寄存器 这样搞效率很低
所以用iomux节点保存所有的引脚组 pinctrl驱动起来的时候获得所有引脚信息 保存在内存

pinctrl子系统预先确定引脚的数量和名字

  • 为每个引脚的配置信息分配内存
  • pinctrl子系统统一管理每个引脚的使用状态
    -iomux节点存放了各种引脚属性,pinctrl驱动解析iomux节点,存放引脚信息进入内存

iomux节点里如何填写

//iomuxc节点
//imx6ull.dtsi
iomuxc: iomuxc@20e0000 {compatible = "fsl,imx6ul-iomuxc";reg = <0x20e0000 0x4000>;};
//继续扩展 引用iomux节点 **imx6ull-seeed-npi.dts**
&iomuxc {pinctrl-names = "default""init","sleep";  //选定引脚状态pinctrl-0 = <&pinctrl_uart1>;  //一个状态就是一组引脚,比如对应下面pinctrl-1 =<&xxx>;pinctrl-2 =<&yyy>;
...pinctrl_uart1: uart1grp {fsl,pins = <MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0x1b0b1MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX 0x1b0b1>;};...
}

上面 引脚里面的宏是什么意思

MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX
#define MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0x0084 0x0310 0x0000 0 0
< mux_reg conf_reg input_reg mux_mode input_val >0x0084    0x0310    0x0000     0x0      0x0

mux_reg:引脚复用设置寄存器 基地址+mux_reg 就是 PIN 的复用寄存器地址。
conf_reg : 设置这个引脚的电气属性的寄存器地址 基地址+conf_reg =设置pin的电气属性地址
input_reg:引脚输入设置寄存器 有些外设有 input_reg 寄存器
引脚需要输入功能时设置
mux_mode:复用寄存器设置值
设置引脚复用
input_val:输入寄存器设置值
设置引脚输入特性

宏的最后跟随了一串数字 用来设置PIN的电气属性值 比如IO 的上/下拉、驱动能力和速度等
在这里插入图片描述
在这里插入图片描述

引脚状态初始化

在设备树里面节点 会变成plantform_dev 会执行probe进行匹配驱动
但是执行probe和drv配对之前 先回执行really_porbe() 这个函数和下面的引脚状态关系很大
用来初始化引脚值

//iomuxc节点
//imx6ull.dtsi
iomuxc: iomuxc@20e0000 {compatible = "fsl,imx6ul-iomuxc";reg = <0x20e0000 0x4000>;};
//继续扩展 引用iomux节点 **imx6ull-seeed-npi.dts**
&iomuxc {pinctrl-names = "default""init","sleep";  //选定引脚状态pinctrl-0 = <&pinctrl_uart1>;  //一个状态就是一组引脚,比如对应下面pinctrl-1 =<&xxx>;pinctrl-2 =<&yyy>;
...pinctrl_uart1: uart1grp {fsl,pins = <MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0x1b0b1MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX 0x1b0b1>;};...
}

还是用上一个设备树举例 看了下面的例子
就知道驱动的引脚其实在 probe之前就已经初始化好了电气属性了

drivers/base/dd.c
static int really_probe(struct device *dev, struct device_driver *drv)
{int ret = -EPROBE_DEFER;
...
re_probe:dev->driver = drv;ret = pinctrl_bind_pins(dev);  //这里根据iomux节点的 几个引脚状态来初始化引脚组
...if (dev->bus->probe) {ret = dev->bus->probe(dev);if (ret)goto probe_failed;} else if (drv->probe) {ret = drv->probe(dev); //这个是熟悉的probeif (ret)goto probe_failed;}...}
int pinctrl_bind_pins(struct device *dev)dev->pins->default_state = pinctrl_lookup_state(dev->pins->p,PINCTRL_STATE_DEFAULT);//从设备节点状态找到指定状态//本次是default状态dev->pins->init_state = pinctrl_lookup_state(dev->pins->p,PINCTRL_STATE_INIT); /这次找init状态if (IS_ERR(dev->pins->init_state))pinctrl_select_state(dev->pins->p,dev->pins->default_state);//没有init状态变成default状态elseret = pinctrl_select_state(dev->pins->p, dev->pins->init_state);//有的话引脚变成init状态
http://www.ds6.com.cn/news/63637.html

相关文章:

  • 网站建设公司招商seo排名计费系统
  • 西安网站建设设计的好公司广州aso优化公司 有限公司
  • 简述网站首页制作过程关闭站长工具seo综合查询
  • 手机网页图片seo软件
  • 学校网站建设情况报告佛山企业用seo策略
  • 做微信电影网站做网络优化哪家公司比较好
  • 免费网站源码建站系统安仁网络推广
  • 长春做网站价格如何建网站教程
  • 网站开发技术课程设计说明书软文推广收费
  • 黑龙江恒泰建设集团网站磁力搜索引擎不死鸟
  • 门户网站手机版google seo 优化
  • 网站关键词优化排名要怎么做百度一下免费下载
  • 做网站UI工具原创代写文章平台
  • 鄂州做网站的公司今天刚刚发生的新闻台湾新闻
  • 网站 快照 更新慢长沙seo优化价格
  • 怎么做提货网站2023第二波疫情已经到来
  • 网站宽度 1000px百度相册登录入口
  • 深圳手机报价网站seo销售代表招聘
  • 中文域名网站跳转网站推广优化技巧
  • 武汉p2p网站建设公司线上推广方式有哪些
  • 龙山建设工程有限公司网站中国销售网
  • 网站空间需要多大最快的新闻发布平台
  • 大庆做网站最厉害的人重庆seo排名软件
  • 一般给公司做网站怎么收费福州关键词排名软件
  • 湖北系统建站怎么用北京seo优化方案
  • 做网站找个人还是公司运营商大数据精准营销
  • 网站地图做法做seo站外优化平台
  • 国外 素材 网站石家庄网络营销
  • 做网站如何收费龙网网络推广软件
  • 移动论坛网站模板seoapp推广