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

合肥做网站yuanmus软件开发外包商业模式

合肥做网站yuanmus,软件开发外包商业模式,wordpress 学院 模板,wordpress 添加主题编辑[导读] 新版的U-Boot以及内核都引入了设备树#xff0c;那么这究竟是棵什么样的树呢#xff1f;长啥样#xff1f;有啥用#xff1f;为啥弄个这样的树#xff1f;本文基于对设备树标准的理解#xff0c;来学习整理一下相关的要点#xff0c;供大家参考。Linux为啥要设备… [导读] 新版的U-Boot以及内核都引入了设备树那么这究竟是棵什么样的树呢长啥样有啥用为啥弄个这样的树本文基于对设备树标准的理解来学习整理一下相关的要点供大家参考。Linux为啥要设备树 在Linux3.x之前的内核源码中存在大量对板级细节信息描述的代码。这些代码充斥在/arch/arm/plat-xxx和/arch/arm/mach-xxx目录而且更严重的问题是由于ARM商业生态模式基于ARM IP授权模式产生越来越多ARM核芯片。如此一来这类辣鸡代码越来越多维护变得愈加困难。于是在2011年3月17这天Linux之父Linus Torvalds飙了邮件中骂到“this whole ARM thing is a f*cking pain in the ass”。自此之后Linux内核引入了设备树机制以描述计算机板机底层硬件信息。啥是设备树 设备树device tree是一种描述特定计算机的硬件组件的数据结构以便操作系统的内核或者引导程序可以使用和管理那些组件包括一个或多个CPU内存总线和外围设备 。为什么说这个数据结构是树呢设备树是通过Open Firmware项目从基于SPARC的工作站和服务器发展而来由https://www.devicetree.org/组织维护目前的发展至V0.3版。来看看设备树标准中的例子该图显示了一个简单的设备树的示例表示该树几乎完整到足以启动一个简单的操作系统描述了平台类型CPU内存和1个UART。看这个图正是一种树形数据结构。节点设备树数据结构本质上由一系列带属性的节点组成节点由节点名、单元地址以及属性组成。描述节点的语法为node-nameunit-address node-name 由1到31个ASCII字符描述字符可取0-9,a-z,A-Z,逗号(,),点(.),加减号 -以及下划线(_)组成unit-address节点所在的总线类型。/ 表示树的根节点那么上图的节点是哪些呢移除掉属性简化一下节点的单元地址特定于节点所在的总线类型。单元地址必须与节点的r一般与reg属性中指定的第一个地址匹配。如果节点不具有reg属性则必须省略 unit-address并且节点名称仅会将节点与树中同一级别的其他节点区分开。特定总线的绑定可以为reg和unit-address的格式指定其他更具体的要求。节点名称一般按照功能描述进行命令以提升可读性比如adcatmaudio-codecaudio-controllerbacklightbluetoothbus.......路径名path name通过指定从根节点到所有后代节点到所需节点的完整路径可以唯一标识设备树中的节点。按照下述约定进行描述/node-name-1/node-name-2/node-name-N 比如上图中CPU1的路径为/cpus/cpu1 属性语法属性用于描述节点的特征由属性名及值组成。属性名可由下表中字符组成字符描述0-9数字a-z A-Z大小写字母逗号.点_下划线 -加减号问号##字符值empty 空无值u32 u64 大端16进制数所谓大端模式就是高字节存在低地址string 以\0字符串结尾的字符串phandle 引用设备树中另一个节点的方法。见标准属性中举例。stringlist  字符串表标准属性compatible 其值为stringlist兼容的属性值包含一个或多个字符串这些字符串定义了设备的编程模型。使用此字符串列表选择设备驱动程序。该属性值由具有空终止字符串的串联列表组成。它们使设备可以表达与一系列类似设备的兼容性从而可能使单个设备驱动程序与多个设备匹配。比如compatible  fsl,mpc8641, ns16550; model, string 其值为字符串用于指定设备制造商的型号。如上例中的mpc8641/ns16550phandle,u32phandle属性为设备树内唯一的节点指定一个数字标识符。phandle属性值由其他需要引用与该属性关联的节点的节点使用。比如pic10000000 {phandle  1;interrupt-controller; }; 定义的phandle值为1。另一个设备节点可以使用一个phandle值1引用pic节点another-device-node {interrupt-parent  1; }; statusstring status属性指示设备的运行状态。取值范围定义如下表值描述okay表示设备使能正运行disabled表示该设备目前禁用但将来可能会使能reserved表示该设备正在运行但不应使用。fail表示设备无法运行。发现了一个严重的错误不进行修理就不可工作。fail-sss与fail的区别是sss字段表示检测到的错误#address-cells 及 #size-cells可以在设备树层次结构中具有子节点的任何设备节点中使用#address-cells和#size-cells属性它们描述如何寻址子设备节点。#address-cells属性指示在reg属性中需要多少个单元即32位值来形成address字段。size-cells属性定义子节点的reg属性中size字段需要多少个单元即32位值reg, prop-encoded-array, ( address , length ) 对。virtual-regu32 virtual-reg属性指定一个有效地址该地址映射到设备节点的reg属性中指定的第一个物理地址。此属性使引导程序可以为客户端程序提供已设置的虚拟到物理的映射。rangesempty 或 prop-encoded-array任意数量的child-bus-addressparent-bus-addresslength三元组。ranges属性提供了一种定义总线的地址空间子地址空间和总线节点的父节点的地址空间父地址空间之间的映射或转换的方法。soc {compatible  simple-bus;#address-cells  1;#size-cells  1;ranges  0x0 0xe0000000 0x00100000;serial4600 {device_type  serial;compatible  ns16550;reg  0x4600 0x100;clock-frequency  0;interrupts  0xA 0x8;interrupt-parent  ipic;}; }; 其中0x0 0xe0000000 0x00100000; 此属性值指定对于1024 KB的地址空间范围以物理0x0寻址的子节点映射到物理0xe0000000的父地址。通过这种映射可以通过地址为0xe0004600的加载或存储偏移量0x4600在reg中指定和在range中指定的0xe0000000映射来寻址串行设备节点。dma-rangesempty或prop-encoded-array形式的任意数量的child-bus-addressparent-bus-addresslength三元组。dma-ranges属性用于描述内存映射总线的直接内存访问DMA结构该总线可以从源于该总线的DMA操作访问其设备树父对象。它提供了一种定义总线的物理地址空间和总线父级的物理地址空间之间的映射或转换的方法。child-bus-address是子总线地址空间内的物理地址。表示地址的宽度取决于总线并且可以从此节点出现dma-ranges属性的节点的address-cells中确定。parent-bus-address是父总线地址空间内的物理地址。代表父级地址的cell数量取决于总线可以从定义父级地址空间的节点的address-cells属性中确定。length指定了子地址空间中范围的大小。可以从节点定义了dma-ranges属性的节点的size-cells来确定表示大小的cell数。总结一下 本文总结了Linux设备树出现的缘由以及设备树节点常规概念节点、属性以及标准属性。设备树还有中断以及中断映射、设备绑定、二进制格式等概念后续有时间在学习整理。辛苦原创如喜欢请点赞/在看/分享不胜感激推荐阅读    专辑|Linux文章汇总    专辑|程序人生    专辑|C语言嵌入式Linux微信扫描二维码关注我的公众号
http://www.zqtcl.cn/news/799596/

相关文章:

  • wordpress获取站点链接wordpress 滑动验证
  • 怎么把网站上的通栏手机公司网站建设
  • 微山县建设局官方网站wordpress 内容换行
  • 网站选择空间ps个人主页设计
  • 河北网站seo外包网站嵌入百度地图
  • 公司怎么开网站WordPress有哪些工具
  • 一流专业建设网站原平新闻头条最新消息
  • 网站开发文档模板 开源北京保障房建设项目网站
  • 营销型网站分类网站关键词如何快速上首页
  • 帝国和WordPress比较wordpress文章页标题优化
  • 宁晋网站建设温岭新站seo
  • 大学科研项目做网站成都免费建站模板
  • 兰州网站开发企业在微信公众号发布wordpress
  • 网站信息化建设总体情况网站建设介绍ppt模板下载
  • 广州 建网站asp.net.网站开发
  • 装修网站模板国家正规现货交易平台
  • 福州高端网站制作网站建设项目单子来源
  • 网站制作的行业广州网站推广方案
  • 网站主域名建设通怎么样
  • 网站是如何建立的广告设计与制作工作内容
  • 网站优化课程培训公司取名生成器免费
  • 如何设立网站做外国网站买域名
  • 惠州网站建设公司排名聊城专业网站设计公司
  • 网站建设龙岗电子商务有限公司官网
  • 分栏型网站服装设计网站模板
  • 建设网站备案与不备案区别企业网站怎么做排名
  • php mysql的网站开发html网站制作答辩ppt
  • 网站制作有名 乐云践新专家网页制作公司需要什么资质
  • 织梦怎么用框架实现在浏览器的地址栏只显示网站的域名而不显示出文件名电脑网站模板
  • 北京网络营销网站品牌营销增长公司哪家好