CN115495136A - 一种基于国产飞腾平台的bmc快速在线升级方法 - Google Patents

一种基于国产飞腾平台的bmc快速在线升级方法 Download PDF

Info

Publication number
CN115495136A
CN115495136A CN202211176323.7A CN202211176323A CN115495136A CN 115495136 A CN115495136 A CN 115495136A CN 202211176323 A CN202211176323 A CN 202211176323A CN 115495136 A CN115495136 A CN 115495136A
Authority
CN
China
Prior art keywords
bmc
serial port
cpld
board card
burning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211176323.7A
Other languages
English (en)
Inventor
王志超
夏宝洲
汪永安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Zhongwei Information Technology Co ltd
Original Assignee
Shenzhen Zhongwei Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Zhongwei Information Technology Co ltd filed Critical Shenzhen Zhongwei Information Technology Co ltd
Priority to CN202211176323.7A priority Critical patent/CN115495136A/zh
Publication of CN115495136A publication Critical patent/CN115495136A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开一种基于国产飞腾平台的BMC快速在线升级方法,应用于安装有BMC、CPLD和CPU的板卡中,所述板卡通过调试串口与工具计算机连接,所述方法包括:控制所述CPLD将所述调试串口旁路到所述BMC的烧录串口,并设置所述BMC从bootloader启动;通过所述工具计算机与所述BMC进行串口指令交互,将固件bin文件烧录进所述BMC中,并重启所述BMC;通过串口指令交互将烧录文件传输至所述BMC中,由所述BMC用GPIO模拟JTAG接口协议,以对所述CPLD进行升级。通过本发明,无需对整个系统进行拆卸便可通过对外的调试串口对BMC及相关的CPLD进行在线固件更新,节省升级带来的时间成本和避免硬件磕碰风险。

Description

一种基于国产飞腾平台的BMC快速在线升级方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于国产飞腾平台的BMC快速在线升级方法。
背景技术
目前类似于国产的融合刀片系统等复杂系统,通常需要使用一个BMC芯片作为单板管理,以及CPLD芯片作为电源管理;这两种芯片在出货前会调试好功能后烧录功能程序再出货,但是出货后由于解BUG或新增需求等因素可能会要更新相关固件,这时候需要使用对应芯片的官方烧录工具进行烧录。
对于一个复杂的系统,对外接口一般是不会预留固件更新接口的,而且已经出货的板卡由客户非专业的操作更新固件是有一定风险的,所以更新固件就会遇到以下问题:
1、对外接口没有预留固件更新接口,要更新固件,只能进行拆机,有一定的硬件磕碰或操作失误的风险,
2、已经在客户端的板卡要更新,由于官方工具的使用及拆机都需要有一定的专业技能,不建议指导客户自行更新,所以只能安排人员出差,增加人工成本及时间成本。
发明内容
鉴于以上技术问题,本发明提供了一种基于国产飞腾平台的BMC快速在线升级方法,以解决现有技术中复杂系统的固件更新问题。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
本发明的目的是提供一种基于国产飞腾平台的BMC快速在线升级方法,应用于安装有BMC、CPLD和CPU的板卡中,所述板卡通过调试串口与工具计算机连接,所述方法包括:
控制所述CPLD将所述调试串口旁路到所述BMC的烧录串口,并设置所述BMC从bootloader启动;
通过所述工具计算机与所述BMC进行串口指令交互,将固件bin文件烧录进所述BMC中,并重启所述BMC;
通过串口指令交互将烧录文件传输至所述BMC中,由所述BMC用GPIO模拟JTAG接口协议,以对所述CPLD进行升级。
进一步的,所述控制所述CPLD将所述调试串口旁路到所述BMC的烧录串口,并设置所述BMC的boot_sel启动管脚为从bootloader启动,具体包括:
判断所述板卡的工作模式,在所述板卡为AT模式时,对所述板卡上电开机进入系统,在系统下通过I2C工具发送串口复用指令至所述CPLD,使得所述CPLD将外部的调试串口旁路到所述BMC的所述烧录串口,并设置所述BMC的boot_sel启动管脚为从bootloader启动,复位所述BMC;
在所述板卡工作模式为ATX模式时,在对所述板卡上电不启动系统,使得所述CPLD默认将所述调试串口旁路到所述BMC的所述烧录串口,设置所述BMC的boot_sel启动管脚为从bootloader启动。
进一步的,所述通过所述工具计算机与所述BMC进行串口指令交互,将固件bin文件烧录进所述BMC中,具体包括:
根据所述BMC是否响应来建立与所述BMC的连接;
擦除所述BMC中的FLASH程序空间;
校验所述BMC的固件是否完整擦除;
烧录固件bin文件至所述BMC;
校验固件是否烧录完成。
本发明的技术方案具有以下有益效果:
无需对整个系统进行拆卸便可通过对外的调试串口对BMC及相关的CPLD进行在线固件更新,节省升级带来的时间成本和避免硬件磕碰风险;
通过BMC的bootloader程序可以对烧录程序做自定义加密处理,防止竞争对手盗刷BMC固件,保护板卡厂商和固件厂商知识产权。
附图说明
图1为本说明书实施例的方法的原理流程图;
图2为本说明书实施例的应用系统的示意图;
图3为本说明书实施例的模拟JTAG接口通信的管脚时序变化的示例性图示。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
另外,示范性对实施方式提及的名词进行解释,如bootloader为引导加载程序,在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。
BMC(Baseboard management controller),执行伺服器远端管理控制器,为基板管理控制器,是独立于服务器系统之外的小型操作系统,是一个集成在主板上的芯片,也有产品是通过PCIE等形式插在主板上,对外表现形式只是一个标准的RJ45网口,拥有独立IP的固件系统。服务器集群一般使用BMC指令进行大规模无人值守操作,包括服务器的远程管理、监控、安装、重启等。
CPLD(Complex Programmable Logic Device)是Complex PLD的简称,一种较PLD为复杂的逻辑元件。CPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。
IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。
boot_sel,指的是BMC的启动引脚。
bin文件,为二进制文件,其用途依系统或应用而定。一种文件格式binary的缩写。一个后缀名为".bin"的文件,只是表明它是binary格式。一般来讲是机器代码,汇编语言编译后的结果。具体在本发明中,bin文件指的是承载着更新内容的程序文件。
工具计算机,可以是服务器或个人计算机中的一种,具体在本发明中,可以是一台计算机/服务器,也可以是由多台计算机、服务器组成的系统,在需要进行固件更新的主机通过串口连接工具计算机后,操作指令及烧录文件由工具计算机提供。执行主操作的主体与需要更新的主机可以是远程连接,也可以是通过网线/数据线直接连接。
GPIO,General-purpose input/output,通用型之输入输出的简称,功能类似8051的P0—P3,其接脚可以供使用者由程控自由使用,PIN脚依现实考量可作为通用输入(GPI)或通用输出(GPO)或通用输入与输出(GPIO),如当clk generator,chip select等。
JTAG接口协议,是一种国际标准测试协议,主要用于芯片内部测试,标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。
如图1至图2所示,本说明书实施例提供一种基于国产飞腾平台的BMC快速在线升级方法,应用于安装有BMC、CPLD和CPU的板卡中,所述板卡通过调试串口(RS232收发器)与工具计算机连接,工具计算机具体可以通过RJ45接口实现连接,在本实施例中,将BMC作为主控端,使用对外复用调试串口通过IAP技术自行更新BMC芯片的固件,然后在流程操作中添加GPIO模拟JTAG接口模块来升级CPLD外部芯片来完成整个系统的BMC和CPLD固件升级。该方法具体包括步骤S101-S103:
在步骤S101中,控制所述CPLD将所述调试串口旁路到所述BMC的烧录串口,并设置所述BMC从bootloader启动。
其中,具体的,在将调试串口旁路到BMC芯片的烧录串口之前,应先判断板卡的工作模块,在所述板卡为AT模式时,对所述板卡上电开机进入系统,在系统下通过I2C工具发送串口复用指令至所述CPLD,使得所述CPLD将外部的调试串口旁路到所述BMC的所述烧录串口,并设置所述BMC的boot_sel启动管脚为从bootloader启动,复位所述BMC;
在所述板卡工作模式为ATX模式时,在对所述板卡上电不启动系统,使得所述CPLD默认将所述调试串口旁路到所述BMC的所述烧录串口,设置所述BMC的boot_sel启动管脚为从bootloader启动。
在步骤S102中,通过所述工具计算机与所述BMC进行串口指令交互,将固件bin文件烧录进所述BMC中,并重启所述BMC;
在步骤S103中,通过串口指令交互将烧录文件传输至所述BMC中,由所述BMC用GPIO模拟JTAG接口协议,以对所述CPLD进行升级。
具体的,JTAG接口协议具备下载软件到FLASH中的功能,所以BMC可以使用四个CPLD的JTAG接口上,模拟JTAG接口通信的管脚时序变化以此达到升级CPLD程序的目的,模拟协议时序示例如图3所示。
在一实施方式中,所述通过所述工具计算机与所述BMC进行串口指令交互,将固件bin文件烧录进所述BMC中,具体包括:
发送自定义命令,根据所述BMC是否响应来建立与所述BMC的连接;
发送earse flash串口指令,擦除所述BMC中的FLASH程序空间;
发送read flash串口指令,校验所述BMC的固件是否完整擦除;
发送programming串口指令,烧录固件bin文件至所述BMC;
发送read flash串口指令,校验固件是否烧录完成。
发送reset串口指令,重启BMC芯片,完成烧录。
本发明的技术方案具有以下有益效果:
无需对整个系统进行拆卸便可通过对外的调试串口对BMC及相关的CPLD进行在线固件更新,节省升级带来的时间成本和避免硬件磕碰风险;
通过BMC的bootloader程序可以对烧录程序做自定义加密处理,防止竞争对手盗刷BMC固件,保护板卡厂商和固件厂商知识产权。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在上面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。公开于该背景技术部分的信息仅仅旨在加深对本发明的总体背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。

Claims (3)

1.一种基于国产飞腾平台的BMC快速在线升级方法,其特征在于,应用于安装有BMC、CPLD和CPU的板卡中,所述板卡通过调试串口与工具计算机连接,所述方法包括:
控制所述CPLD将所述调试串口旁路到所述BMC的烧录串口,并设置所述BMC从bootloader启动;
通过所述工具计算机与所述BMC进行串口指令交互,将固件bin文件烧录进所述BMC中,并重启所述BMC;
通过串口指令交互将烧录文件传输至所述BMC中,由所述BMC用GPIO模拟JTAG接口协议,以对所述CPLD进行升级。
2.根据权利要求1所述的基于国产飞腾平台的BMC快速在线升级方法,其特征在于,所述控制所述CPLD将所述调试串口旁路到所述BMC的烧录串口,并设置所述BMC的boot_sel启动管脚为从bootloader启动,具体包括:
判断所述板卡的工作模式,在所述板卡为AT模式时,对所述板卡上电开机进入系统,在系统下通过I2C工具发送串口复用指令至所述CPLD,使得所述CPLD将外部的调试串口旁路到所述BMC的所述烧录串口,并设置所述BMC的boot_sel启动管脚为从bootloader启动,复位所述BMC;
在所述板卡工作模式为ATX模式时,在对所述板卡上电不启动系统,使得所述CPLD默认将所述调试串口旁路到所述BMC的所述烧录串口,设置所述BMC的boot_sel启动管脚为从bootloader启动。
3.根据权利要求1所述的基于国产飞腾平台的BMC快速在线升级方法,其特征在于,所述通过所述工具计算机与所述BMC进行串口指令交互,将固件bin文件烧录进所述BMC中,具体包括:
根据所述BMC是否响应来建立与所述BMC的连接;
擦除所述BMC中的FLASH程序空间;
校验所述BMC的固件是否完整擦除;
烧录固件bin文件至所述BMC;
校验固件是否烧录完成。
CN202211176323.7A 2022-09-26 2022-09-26 一种基于国产飞腾平台的bmc快速在线升级方法 Pending CN115495136A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211176323.7A CN115495136A (zh) 2022-09-26 2022-09-26 一种基于国产飞腾平台的bmc快速在线升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211176323.7A CN115495136A (zh) 2022-09-26 2022-09-26 一种基于国产飞腾平台的bmc快速在线升级方法

Publications (1)

Publication Number Publication Date
CN115495136A true CN115495136A (zh) 2022-12-20

Family

ID=84472231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211176323.7A Pending CN115495136A (zh) 2022-09-26 2022-09-26 一种基于国产飞腾平台的bmc快速在线升级方法

Country Status (1)

Country Link
CN (1) CN115495136A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116431189A (zh) * 2023-06-12 2023-07-14 广州万协通信息技术有限公司 基于pcie链路的板卡升级方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116431189A (zh) * 2023-06-12 2023-07-14 广州万协通信息技术有限公司 基于pcie链路的板卡升级方法、装置、设备及存储介质
CN116431189B (zh) * 2023-06-12 2024-02-27 广州万协通信息技术有限公司 基于pcie链路的板卡升级方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US7099818B1 (en) System and method for automatically matching components in a debugging system
CN102609286B (zh) 一种基于处理器控制的fpga配置程序远程更新系统及其方法
US6289300B1 (en) Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit
US7334117B2 (en) Device boot loader for processing one or more requests from a host computer system concurrently with loading or updating the firmware of the device
JP6199940B2 (ja) ネットワークの基本入出力システムの管理設備、方法及び非一時的なコンピュータ読取可能な媒体
RU2008129125A (ru) Способ загрузки хостового устройства из устройства mmc/sd, хостовое устройство, загружаемое из устройства mmc/sd, и устройство mmc/sd, из которого может быть загружено хостовое устройство
US20070288737A1 (en) Service processor host flash update over LPC
CN104077204B (zh) 可重构的8位rsic单片机仿真器
CN107704285B (zh) 现场可编程门阵列多版本配置芯片、系统和方法
CN107690630B (zh) 计算设备中的桥配置
CN104035803A (zh) 一种更新cpld/fpga固件的方法、装置及烧录器
CN103970565A (zh) 一种服务器系统中fpga多途径下载配置实现方法
WO2021136200A1 (zh) 引导程序的加载方法、存储介质及嵌入式终端
CN103605542A (zh) Fpga配置文件的在线升级装置
CN110196726A (zh) 一种基于cpu+cpld实现fpga程序远程升级加载的方法
CN115495136A (zh) 一种基于国产飞腾平台的bmc快速在线升级方法
CN111475362B (zh) 一种多核同构dsp处理器测试系统及方法
TWI478061B (zh) 更新韌體的方法
US20080126862A1 (en) System and Method for Testing Software Code for Use on a Target Processor
CN111414182A (zh) 一种基于spi的fpga远程升级方法
CN112463196A (zh) 可编程逻辑器件的程序更新系统及方法
KR100505700B1 (ko) 엠시유를 이용하여 다양한 목표 시스템을 검증하는 재탑재에뮬레이션 장치, 이를 구비한 마이크로 컴퓨터 개발시스템, 및 그 방법
CN106445574A (zh) 一种用于实现dsp系统在线编程方法
CN106548311B (zh) 库存管理设定系统
McDougall Simple amp running linux and bare-metal system on both zynq soc processors

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination