基于嵌入式LinuxIPMI驱动程序设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于嵌入式LinuxIPMI驱动程序设计.doc

基于嵌入式Linux的IPMI驱动程序设计 2012-04-28 丁四华,张志政,东南大学 摘 要:针对Linux内核下通用IPMI协议实现部分过于复杂、繁琐、占用过多内存资源,不利于某些简单嵌入式应用场合的不足,提出了通过在FPGA逻辑模拟I2C通道的HOST单板与IPMC子卡的硬件环境上,采用经过简化的IPMI请求/应答消息格式,借助专业Linux的I2C核心框架,实现了相应的IPMI驱动程序功能,方便了管理员监测、管理、诊断系统状态,并根据系统崩溃时的状态,来及时恢复系统。本文详细描述了简化的IPMI协议原理,以及基于Linux内核I2C核心框架的IPMI驱动的各功能模块的设计原理,并详细描述了IPMI驱动功能模块的数据收发流程。研究结果表明,改进的简化IPMI驱动功能模块有效的降低了系统的复杂度、节省了内存资源,达到了精简嵌入式应用系统的目的。 关键词:Linux;IPMI协议;FPGA;IPMC子卡;I2C总线 1. 引言 ????IPMI(Intelligent Platform Management Interface)是一种无代理的智能平台管理接口,是由Intel 等公司推出的一个重要的开放标准。IPMI定义了管理员如何监测系统硬件状态,控制系统组件和检索重要系统事件的日志以进行远程管理和恢复。 ????近年来,广泛采用IPMI协议来监测硬件系统的状况,例如温度、风扇、电压和硬件错误(存储、网络等)和机箱防盗,刀片支持等。由于IPMI可以独立于操作系统之外,即使操作系统已经暂停或服务器已经关闭,管理员照样可以监测、管理、诊断和恢复系统。 ????针对Linux 内核自带的IPMI驱动过于复杂、繁琐、占用过多内存资源的不足,本文根据ATCA(Advanced Telecom Computing Architecture)方案设计,采用简化的IPMI协议来管理ATCA机框内各硬件单板的物理地址与状态。ATCA平台的HOST单板通过I2C总线接口同IPMC(Intelligent Platform Management Controller)子卡通信,从而获得启动所需的单板物理地址等消息, HOST 单板和IPMC子卡之间采用IPMI协议进行通信。本文讨论了该方案在Linux 下IPMI 驱动程序功能的设计。 2. IPMI 协议原理 ????HOST单板和IPMC子卡之间的硬件接口通过I2C总线来通信,软件上采用IPMI协议。HOST单板不能直接获取单板的相关物理信息,必须要通过IPMI 协议从IPMC子卡上获取。 ????下面描述IPMI 协议设计要点。 ????(1)IPMI协议采用Request/Response 的模式,我们通常把IPMI的请求消息称为命令,通过采用Request/Response 模式可使IPMI消息在不同的传输通道上传送,在我们的系统中,采用了I2C总线作为物理上面的传输通道进行消息的传送,上面传输的消息的格式按照IPMI协议规定的消息格式。 ????(2)IPMI命令是一个功能命令的集合,通过IPMI消息中的Network Function字段来表示,这些命令集合中包括了与事件相关的一些命令集合。通过在命令集合里面不同的字段的不同含义来代表该条消息的具体请求。 ????(3)IPMI中所有的请求消息中都包括一个网络功能(Network Function),命令(command),以及可选的数据(data)字段。IPMI的响应消息和IPMI的请求消息采用同样的消息格式。IPMI消息分为请求和应答两种消息,具体的消息格式如下所示: 图1 IPMI请求消息格式 图2 IPMI应答消息格式 ????在IPMI消息中,一次请求消息的最大长度不能超过32Bytes,如图1中所示,在这最长的32个BYTES的消息结构中,包括了接收该消息的地址(Responser Address),自身的地址(Requester Address),消息中的NetFn/LUN字段总共是一个BYTE,前面6个bits表示的是NetFn,后面的2个bits表示的请求方的LUN,Seq/Lun字段与NetFn/LUN字段相似,只不过前面的6个bits表示的是序列号,command字段用来表示具体的命令,data字段中存放的是具体的数据,最大长度不能超过25bytes,除了上面的三个字段外,还有两个校验和字段,分别用来对消息头和消息体来进行校验。 ????应答消息(参见图2)和请求消息在结构上面相同,在回应请求的应答消息中用该将请求的地址和响应的地址字段相互调换,序列号保持不变,NetFn字段加1,LUN填写的是将请求消息中的字段互换。例如在HOST通过IPMC获取32bits的物理信息,HOST按照请求的消息格式发送

文档评论(0)

wdhtm341 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档