买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种ARM平台在BDK程序阶段打开FRB-2timer的实现方法_郑州云海信息技术有限公司_201710334140.6 

申请/专利权人:郑州云海信息技术有限公司

申请日:2017-05-12

公开(公告)日:2020-03-06

公开(公告)号:CN107133129B

主分类号:G06F11/14(20060101)

分类号:G06F11/14(20060101)

优先权:

专利状态码:有效-授权

法律状态:2020.03.06#授权;2017.09.29#实质审查的生效;2017.09.05#公开

摘要:本发明公开了一种ARM平台在BDK程序阶段打开FRB‑2timer的实现方法,本发明的一种ARM平台在BDK程序阶段打开FRB‑2timer的实现方法和现有技术相比,能够在ARM平台的BDK程序阶段打开FRB‑2timer,以便FRB‑2timer能保护ARM平台的整个开机阶段,在BDK程序发生宕机的现象时,FRB‑2timer可以补救。

主权项:1.一种ARM平台在BDK程序阶段打开FRB-2timer的实现方法,其特征在于,该方法是用CPU上面的两个GPIO和BMC上面的两个GPIO相连,在开机BDK程序开始执行的初期阶段,把CPU的GPIO输出为高电平,BMC程序线程轮询BMC端GPIO的状态,发现GPIO有被拉高,就打开FRB-2timer,在BDK程序的后段,把CPU上面的两个GPIO拉低,相应的BMC端的两个GPIO电平也会变低,BMC程序线程关闭FRB-2timer;具体操作步骤如下:步骤1)从CPU端接出两个GPIO输出端,两个GPIO输出端分别为GPIO11和GPIO12,分别对应接入BMC上面的两个GPIO输入端,两个GPIO输出端分别为GPIO11和GPIO12;步骤2)BDK程序在开机过程中设置GPIO11和GPIO12的状态值,把CPU的GPIO11和GPIO12输出为高电平;步骤3)BMC轮询程序判断GPIO11和GPIO12的状态值;步骤4)GPIO11和GPIO12都为高,打开FRB-2timer,否则不打开;步骤5)BDK程序后期拉低CPU上面的GPIO11和GPIO12的电平,相应的BMC端的两个GPIO电平也会变低;步骤6)BMC轮询程序关闭FRB-2timer。

全文数据:一种ARM平台在BDK程序阶段打开FRB-2timer的实现方法技术领域[0001]本发明涉及ARM平台服务器存储器领域,具体地说是一种ARM平台在BDK程序阶段打开FRB-2timer的实现方法。背景技术[0002]在ARM平台的专案设计中,开机程序主要被分为两个部分,BDK程序和UEFIBIOS程序,先执行BDK程序,然后执行UEFIBIOS程序,其中UEFIBIOS程序按照执行的流程又分为SEC,PEI,DXE,BDS四个阶段,而X86平台没有BDK程序,只有UEFIBIOS程序。一般在X86平台上都是在UEFIBIOS中通过IPMI命令打开FRB-2timer—种watchdog,看门狗时钟,主要是用于在开机阶段几率性发生宕机现象,自动重启,让系统尝试下次进系统),这样基本上能保证FRB-2timer保护整个的开机阶段,但是由于ARM平台中开机程序为BDK程序和UEFIBIOS程序,而且先执行BDK程序,BDK程序基本占据开机时间的一半,所以很有必要在BDK程序中就打开FRB-2timer,以便BDK程序发生宕机的现象时,FRB-2timer可以补救,但是在目前的设计中,BDK程序还没有支持IPMI协议,所以BDK程序没有办法给BMC发送IPMI命令,让其打开FRB-2timer,只能通过其他的方式通知BMC。发明内容[0003]本发明的技术任务是提供一种ARM平台在BDK程序阶段打开FRB-2timer的实现方法。[0004]本发明的技术任务是按以下方式实现的,该方法是用CPU上面的两个GPI0和BMC上面的两个GPI0相连,在开机BDK程序开始执行的初期阶段,把CPU的GPI0输出为高电平,BMC程序线程轮询BMC端GPI0的状态,发现GPI0有被拉高,就打开FRB-2timer,在BDK程序的后段,把CPU上面的两个GPI0拉低,相应的BMC端的两个GPI0电平也会变低,BMC程序线程关闭FRB-2timer〇[0005]所述的CPU的GPI0设置为输出端,BMC上的GPI0设为输入端。[0006]具体操作步骤如下:步骤1从CPU端接出两个GPI0输出端,两个GPI0输出端分别为GPI011和GPI012,分别对应接入BMC上面的两个GPI0输入端,两个GPI0输出端分别为GPI011和GPI012;步骤2BDK程序在开机过程中设置GPI011和GPI012的状态值,把CPU的GPI011和GPI012输出为高电平;步骤3BMC轮询程序判断GP1011和GP1012的状态值;步骤4GPI011和GPI012都为高,打开FRB-2timer,否则不打开;步骤5BDK程序后期拉低CPU上面的GPI011和GPI012的电平,相应的BMC端的两个GPI0电平也会变低;步骤6BMC轮询程序关闭FRB-2timer。[0007]本发明的一种ARM平台在BDK程序阶段打开FRB-2timer的实现方法和现有技术相比,能够在ARM平台的BDK程序阶段打开FRB-2timer,以便FRB-2timer能保护ARM平台的整个开机阶段,在BDK程序发生宕机的现象时,FRB-2timer可以补救。附图说明[0008]附图1为一种ARM平台在BDK程序阶段打开FRB-2timer的实现方法的实施流程图。[0009]附图2为CPU与BMC的连接关系图。具体实施方式[0010]实施例1:该ARM平台在BDK程序阶段打开FRB-2timer的实现方法是用CPU上面的两个GPI0和BMC上面的两个GPI0相连,CHJ的GPI0设置为输出端,BMC上的GPI0设为输入端;在开机BDK程序开始执行的初期阶段,把CPU的GPI0输出为高电平,BMC程序线程轮询腸C端GPI0的状态,发现GPI0有被拉高,就打开FRB-2timer,在BDK程序的后段,把CPU上面的两个GPIO拉低,相应的BMC端的两个GPIO电平也会变低,BMC程序线程关闭FRB-2timer。[0011]实施例2:该ARM平台在BDK程序阶段打开FRB-2timer的实现方法具体操作步骤如下:步骤1从CPU端接出两个GPI0输出端,两个GPI0输出端分别为GPI011和GPI012,分别对应接入BMC上面的两个GPI0输入端,两个GPI0输出端分别为GPI011和GPI012;步骤2BDK程序在开机过程中设置GPI011和GPI012的状态值,把CPU的GPI011和GPI012输出为高电平;步骤381«:轮询程序判断0?1011和0?1012的状态值;步骤4GPI011和GPI012都为高,打开FRB-2timer,否则不打开;步骤5BDK程序后期拉低CPU上面的GPI011和GPI012的电平,相应的BMC端的两个GPI0电平也会变低;步骤6BMC轮询程序关闭FRB-2timer。[0012]通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

权利要求:1.一种ARM平台在BDK程序阶段打开FRB-2timer的实现方法,其特征在于,该方法是用CPU上面的两个GPIO和BMC上面的两个GPIO相连,在开机BDK程序开始执行的初期阶段,把CPU的GPIO输出为高电平,BMC程序线程轮询BMC端GPIO的状态,发现GPIO有被拉高,就打开FRB-2timer,在BDK程序的后段,把CPU上面的两个GP10拉低,相应的BMC端的两个GP10电平也会变低,BMC程序线程关闭FRB-2timer。2.根据权利要求1所述的一种ARM平台在BDK程序阶段打开FRB-2timer的实现方法,其特征在于,所述的CPU的GPIO设置为输出端,BMC上的GPIO设为输入端。3.根据权利要求1所述的一种ARM平台在BDK程序阶段打开FRB-2timer的实现方法,其特征在于,具体操作步骤如下:步骤1从CPU端接出两个GPIO输出端,两个GPIO输出端分别为GPI011和GPI012,分别对应接入BMC上面的两个GPIO输入端,两个GPIO输出端分别为GPI011和GPI012;步骤2BDK程序在开机过程中设置GPI011和GPI012的状态值,把CPU的GPI011和GPI012输出为高电平;步骤3BMC轮询程序判断GPI011和GPI012的状态值;步骤4GPI011和GPI012都为高,打开FRB-2timer,否则不打开;步骤5BDK程序后期拉低CPU上面的GPI011和GPI012的电平,相应的BMC端的两个GPIO电平也会变低;步骤6BMC轮询程序关闭FRB-2timer。

百度查询: 郑州云海信息技术有限公司 一种ARM平台在BDK程序阶段打开FRB-2timer的实现方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。