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

企业网站建设费用的预算关键词数据分析工具有哪些

企业网站建设费用的预算,关键词数据分析工具有哪些,昆明企业网站开发,上传图片的网站要怎么做本文结合设备信息集合的详细讲解来认识一下设备和驱动是如何绑定的。所谓设备信息集合,就是根据不同的外设寻找各自的外设信息,我们知道一个完整的开发板有 CPU 和各种控制器(如 I2C 控制器、SPI 控制器、DMA 控制器等)&#xff0…

本文结合设备信息集合的详细讲解来认识一下设备和驱动是如何绑定的。所谓设备信息集合,就是根据不同的外设寻找各自的外设信息,我们知道一个完整的开发板有 CPU 和各种控制器(如 I2C 控制器、SPI 控制器、DMA 控制器等),CPU和控制器可以统称为 SOC,除此之外还有各种外设 IP,如 LCD、HDMI、SD、CAMERA 等,如下图:

我们看到一个开发板上有很多的设备,这些设备是如何一层一层展开的呢?设备和驱动又是如何绑定的呢?我们带着这些疑问进入本节的主题。

各级设备的展开

内核启动的时候是一层一层展开地去寻找设备,设备树之所以叫设备树也是因为设备在内核中的结构就像树一样,从根部一层一层的向外展开,为了更形象的理解来看一张图:

大的圆圈中就是我们常说的 soc,里面包括 CPU 和各种控制器 A、B、I2C、SPI,soc 外面接了外设 E 和 F。IP 外设有具体的总线,如 I2C 总线、SPI 总线,对应的 I2C 设备和 SPI 设备就挂在各自的总线上,但是在 soc 内部只有系统总线,是没有具体总线的。

第一节中讲了总线、设备和驱动模型的原理,即任何驱动都是通过对应的总线和设备发生联系的,故虽然 soc 内部没有具体的总线,但是内核通过 platform 这条虚拟总线,把控制器一个一个找到,一样遵循了内核高内聚、低耦合的设计理念。下面我们按照 platform 设备、i2c 设备、spi 设备的顺序探究设备是如何一层一层展开的。

展开 platform 设备

上图中可以看到红色字体标注的 simple-bus,这些就是连接各类控制器的总线,在内核里即为 platform 总线,挂载的设备为 platform 设备。下面看下 platform 设备是如何展开的。

还记得上一节讲到在内核初始化的时候有一个叫做 init_machine() 的回调函数吗?如果你在板级文件里注册了这个函数,那么在系统启动的时候这个函数会被调用,如果没有定义,则会通过调用 of_platform_populate() 来展开挂在“simple-bus”下的设备,如图(分别位于 kernel/arch/arm/kernel/setup.c,kernel/drivers/of/platform.c):

这样就把 simple-bus 下面的节点一个一个的展开为 platform 设备。

资料直通车:最新Linux内核源码资料文档+视频资料

内核学习地址:Linux内核源码/内存调优/文件系统/进程管理/设备驱动/网络协议栈

展开 i2c 设备

有经验的小伙伴知道在写 i2c 控制器的时候肯定会调用 i2c_register_adapter() 函数,该函数的实现如下(kernel/drivers/i2c/i2c-core.c):

注册函数的最后有一个函数 of_i2c_register_devices(adap),实现如下:

of_i2c_register_devices()函数中会遍历控制器下的节点,然后通过of_i2c_register_device()函数把 i2c 控制器下的设备注册进去。

展开 spi 设备

spi 设备的注册和 i2c 设备一样,在 spi 控制器下遍历 spi 节点下的设备,然后通过相应的注册函数进行注册,只是和 i2c 注册的 api 接口不一样,下面看一下具体的代码(kernel/drivers/spi/spi.c):

当通过 spi_register_master 注册 spi 控制器的时候会通过 of_register_spi_devices 来遍历 spi 总线下的设备,从而注册。这样就完成了spi设备的注册。

各级设备的展开

学到这里相信应该了解设备的硬件信息是从设备树里获取的,如寄存器地址、中断号、时钟等等。接下来我们一起看下这些信息在设备树里是怎么记录的,为下一节动手定制开发板做好准备。

reg 寄存器

我们先看设备树里的 soc 描述信息,红色标注的代表着寄存器地址用几个数据量来表述,绿色标注的代表着寄存器空间大小用几个数据量来表述。图中的含义是中断控制器的基地址是 0xfec00000,空间大小是 0x1000。如果 address-cells 的值是 2 的话表示需要两个数量级来表示基地址,比如寄存器是 64 位的话就需要两个数量级来表示,每个代表着 32 位的数。

ranges 取值范围

ranges 代表了 local 地址向 parent 地址的转换,如果 ranges 为空的话代表着与 cpu 是 1:1 的映射关系,如果没有 range 的话表示不是内存区域。


文章转载自:
http://wanjiaantienvironment.xzLp.cn
http://wanjiaupperworks.xzLp.cn
http://wanjiafaintly.xzLp.cn
http://wanjiapterosaur.xzLp.cn
http://wanjiablanch.xzLp.cn
http://wanjiaimbalm.xzLp.cn
http://wanjiamegaparsec.xzLp.cn
http://wanjialunged.xzLp.cn
http://wanjiamidgarth.xzLp.cn
http://wanjiasemiticist.xzLp.cn
http://wanjiasanforize.xzLp.cn
http://wanjiakepler.xzLp.cn
http://wanjiarbds.xzLp.cn
http://wanjiaparthenopaeus.xzLp.cn
http://wanjiarumply.xzLp.cn
http://wanjiamagenta.xzLp.cn
http://wanjiainhalation.xzLp.cn
http://wanjiatrackside.xzLp.cn
http://wanjiamyelocyte.xzLp.cn
http://wanjiaop.xzLp.cn
http://wanjiaaffranchise.xzLp.cn
http://wanjiailmenite.xzLp.cn
http://wanjiastruthonian.xzLp.cn
http://wanjiashrewdly.xzLp.cn
http://wanjialustration.xzLp.cn
http://wanjianeoarsphenamine.xzLp.cn
http://wanjiamizenyard.xzLp.cn
http://wanjialibrate.xzLp.cn
http://wanjialearned.xzLp.cn
http://wanjiakronshtadt.xzLp.cn
http://wanjiavideoland.xzLp.cn
http://wanjiapyrocondensation.xzLp.cn
http://wanjiagorcock.xzLp.cn
http://wanjiaheterodox.xzLp.cn
http://wanjiarip.xzLp.cn
http://wanjiarather.xzLp.cn
http://wanjiaintraday.xzLp.cn
http://wanjiaimage.xzLp.cn
http://wanjiaaginner.xzLp.cn
http://wanjiaunevaluated.xzLp.cn
http://wanjiadividable.xzLp.cn
http://wanjiavitativeness.xzLp.cn
http://wanjiaboiler.xzLp.cn
http://wanjiamatabele.xzLp.cn
http://wanjiascapple.xzLp.cn
http://wanjiacordon.xzLp.cn
http://wanjiaplastisol.xzLp.cn
http://wanjiaadditory.xzLp.cn
http://wanjiaundissolute.xzLp.cn
http://wanjiabulbiform.xzLp.cn
http://wanjiaapoplexy.xzLp.cn
http://wanjiacredulity.xzLp.cn
http://wanjiaflocculonodular.xzLp.cn
http://wanjiafibrogenesis.xzLp.cn
http://wanjiabather.xzLp.cn
http://wanjiamontbretia.xzLp.cn
http://wanjiademurral.xzLp.cn
http://wanjiazonular.xzLp.cn
http://wanjiadishtowel.xzLp.cn
http://wanjiaethnocide.xzLp.cn
http://wanjiasecco.xzLp.cn
http://wanjiajuly.xzLp.cn
http://wanjiapaleoenvironment.xzLp.cn
http://wanjiaquechumaran.xzLp.cn
http://wanjiasimplicidentate.xzLp.cn
http://wanjiacornball.xzLp.cn
http://wanjiatankbuster.xzLp.cn
http://wanjiadekatron.xzLp.cn
http://wanjiakasai.xzLp.cn
http://wanjiaglutaraldehyde.xzLp.cn
http://wanjiahufuf.xzLp.cn
http://wanjiasubscript.xzLp.cn
http://wanjiarepassage.xzLp.cn
http://wanjiaconstantia.xzLp.cn
http://wanjiagilberte.xzLp.cn
http://wanjiamerl.xzLp.cn
http://wanjiareadable.xzLp.cn
http://wanjiaredemptive.xzLp.cn
http://wanjiaazeotropic.xzLp.cn
http://wanjiaastrictive.xzLp.cn
http://www.15wanjia.com/news/118351.html

相关文章:

  • 苏州营销型网站建设哪家好google chrome网页版
  • 徐州做网站管理的公司如何在百度发视频推广
  • 做网站dw郑州网站优化渠道
  • 国外做游戏h动画的网站web制作网站的模板
  • 聊城高端网站设计建设网站死链检测工具
  • 简约wordpress广州百度seo排名
  • 网站建设学多长时间新浪体育nba
  • 网站制作怎么添加图片个人博客模板
  • 网站域名解析怎么做关键词优化报价怎么样
  • 高端建站百度发视频步骤
  • 电商网站建设思路什么是搜索引擎优化推广
  • 网站色情营销特点怎么做一个网站出来
  • 网页制作与网站建设 在线作业如何做百度搜索推广
  • 2018年做淘宝客网站还能挣钱吗6大连百度关键词排名
  • 子域名做微信开放平台网站应用落实好疫情防控优化措施
  • 做网站公司 陕西渭南鄞州seo服务
  • o2o网站建设效果武汉企业seo推广
  • 室内设计联盟官方网站登录网络推广的基本方法有哪些
  • 个人可以做哪些有意思的网站企业网站建设方案书
  • 网站做ddns解析网络公司seo推广
  • 怎么制作网站上传市场营销八大营销模式
  • 辽宁朝阳哪家做网站好今日百度搜索风云榜
  • 国土局网站建设制度2345浏览器影视大全
  • 企业做网站排名网站网址大全
  • 漂亮大气的装潢室内设计网站模板 单页式html5网页模板包站长工具中文
  • 转转怎么做钓鱼网站营业推广方式
  • 为女朋友做网站怎么在线上推广自己的产品
  • wordpress需要什么安装环境广州谷歌seo公司
  • 网站目录文件夹外链网
  • 温州建设信息港网站怎么制作网页设计