CN107479916A - 一种更新psu fw的方法 - Google Patents
一种更新psu fw的方法 Download PDFInfo
- Publication number
- CN107479916A CN107479916A CN201710657147.1A CN201710657147A CN107479916A CN 107479916 A CN107479916 A CN 107479916A CN 201710657147 A CN201710657147 A CN 201710657147A CN 107479916 A CN107479916 A CN 107479916A
- Authority
- CN
- China
- Prior art keywords
- psu
- data
- return value
- flash
- boot
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
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
一种更新PSU FW的方法,具体包括以下步骤:判断当前处于USER端还是BOOT端;如果处于USER端,则请求跳转到BOOT端;如果处于BOOT端,则执行下一步操作;请求PSU准备接收FLASH数据,并擦除UESR端程序;PSU写入FLASH数据;校验获取FLASH数据传输后结果的返回值正确;请求重启PSU并跳转到USER端;校验更新完成标志的数据返回值正确,PSU更新完成。解决了当前技术对场景的限制,不需要使用PC电脑,直接将电源FW程序和PSU升级支撑程序拷贝到所需系统下,执行命令即可自动对电源进行PSU FW升级。
Description
技术领域
本发明涉及电源固件升级技术领域,具体地说是一种更新PSU FW的方法。
背景技术
当前电源在线更新主要通过PMbus(Power Management Bus,电源管理总线)接口,使用烧录工具连接PC电脑进行更新,不用拆开电源机壳也不用将电源从服务器中取出,但是前提是主板预留升级端口。
当需要升级PSU(Power Supply Unit电源供应器模块)FW(Firmware固件)但是又无法接触服务器内部的时候现有技术无法实现,而且这种升级需要操作人员的PC有相应的烧录FW及烧录工具,限制条件较多。
发明内容
本发明的目的在于提供一种更新PSU FW的方法,用于解决烧录FW限制条件多的问题。
本发明解决其技术问题所采取的技术方案是:一种更新PSU FW的方法,其特征是,具体包括以下步骤:
判断PSU当前处于USER端还是BOOT端;如果处于USER端,则请求跳转到BOOT端;如果处于BOOT端,则执行下一步操作;
请求PSU准备接收FLASH数据,并擦除UESR端程序;
PSU写入FLASH数据;
校验获取FLASH数据传输后结果的返回值正确;
请求重启PSU并跳转到USER端;
校验更新完成标志的数据返回值正确,PSU更新完成。
进一步地,在执行上述步骤之前需要自动下载更新程序,所述自动下载更新程序的具体方法包括:
遍历PMBus从机设备找到需要升级的PSU;
设置需要升级的PSU的FLASH地址,并设置升级操作解锁KEY,防误操作进行BOOT下载模式;
进入hex文件并解析hex文件,提取更新用的主要数据;
进入下载进程。
进一步地,判断处于USER端还是BOOT端的标准是:当返回值为0x00000058时,表示处于USER端;当返回值为0x00018AEB时,表示处于BOOT端。
进一步地,请求跳转到BOOT端具体包括以下步骤:
解锁BOOT更新权限;
延时请求USER端跳转到BOOT端。
进一步地,请求PSU准备接收FLASH数据之前还包括以下准备步骤:
获取反馈数据,并判断返回值是否为1,如果是,则获取下载参数,否则,获取更新日志LOG结束更新;
发送hex文件头信息;
获取反馈数据,并判断返回值是否为1,如果是,则下发FLASH数据更新前准备,请求PSU准备接收FLASH数据。
进一步地,所述的下载参数包括FLASH协议长度、是否支持初级程序需更新、擦除FLASH时间、WRITE FLASH时间。
进一步地,PSU写入FLASH数据之前还包括以下准备步骤:
延时等待PSU擦除FLASH数据;
确定单次数据发送长度,该单次数据来自解析后的hex文件;
延时等待PSU写入FLASH数据。
进一步地,校验获取FLASH数据传输后结果的返回值为:解析到FLASH的终止地址0xFFFF后获取FLASH数据传输后的结果的返回值;返回值正确表示返回值为1;
如果返回值错误,则继续请求PSU准备接收FLASH数据,并擦除UESR端程序,当错误3次以上,则获取更新日志LOG,结束更新。
进一步地,校验更新完成标志的数据返回值之前还包括以下步骤:
延时等待PSU恢复跳转;
判断更新后的LOG,并获取反馈数据;
如果反馈数据符合标准,则PSU运行新程序,更新结束;如果反馈数据不符合标准,则获取更新日志LOG,结束更新。
进一步地,符合标准的反馈数据包括:
USER端转到BOOT端的反馈数据:0bxxx0000;
FW更新完成的返回值:1;
PSU USER端运行的返回值:1。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
解决了当前技术对场景的限制,不需要使用PC电脑,直接将电源FW程序和PSU升级支撑程序拷贝到所需系统下,执行命令即可自动对电源进行PSU FW升级。
附图说明
图1为本发明目前PSU FW升级原理示意图;
图2为本发明改进后的PSU FW升级原理示意图;
图3-1为本发明实施例的方法流程示意图之部分一;
图3-2为本发明实施例的方法流程示意图之部分二。
具体实施方式
为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
为了更详细的了解本发明,图1是对本发明的现有技术进行解释。
如图1所示,在线升级需要PC机上安装升级所需的开发软件;使用支持Bootloader功能的烧录器连接PC和系统PMbus接口;通过连接好的通路对电源进行FW升级。
以下是通过实施例对本发明进行详细解释。本发明实施例以linux系统为例。
如图2所示,对本发明的原理做简单的介绍。本发明不需要烧录器等硬件设施,本发明可通过在线刷新进程实现对电源FW的在线更新。linux系统通过FW刷新进程对PSU FW进行在线更新。FW刷新进程可通过KCS接口模块与linux系统进行通信。
如图3-1至3-2所示,一种更新PSU FW的方法,具体包括以下步骤:
遍历PMBus从机设备找到需要升级的PSU。
设置需要升级的PSU的FLASH地址,并设置升级操作解锁KEY,防误操作进行BOOT下载模式;FLASH地址范围包括0x2000-0xFFFF。
进入hex文件并解析hex文件,提取更新用的主要数据,hex文件为PSU FW更新的主要文件,PSU FW更新主要是对hex文件进行更新。
进入下载进程。
判断PSU当前处于USER端还是BOOT端;当返回值为0x00000058时,表示处于USER端,返回值为0x00018AEB时表示处于BOOT端;如果处于USER端,则请求跳转到BOOT端;如果处于BOOT端,则执行下一步操作。USER端跳转到BOOT端需要解锁BOOT更新权限,并延时等待程序跳转。如果USER端超过3次跳转不到BOOT端,则获取此时软件可编程状态,更新日志LOG,结束更新。当PSU处于USER端时,不需要更新电源固件,当PSU处于BOOT端时才需要更新电源固件。
获取软件升级状态的返回值,如果返回值是1,则进行下一步操作,否则,获取此时软件可编程状态,更新日志LOG,结束更新。
根据软件支持类型,获取下载参数,下载参数包括FLASH协议长度、是否支持初级程序需更新、擦除FLASH时间、WRITE FLASH时间。
根据在线可编程程序的存储功能(也就是图2中所示的KCS接口模块)发送hex文件头信息。
读取软件升级状态,判断反馈数据,如果返回值为1,则执行下一步操作,否则,获取此时软件可编程状态,更新日志LOG,结束更新。
根据在线可编程程序的状态,下发FLASH数据更新前的准备,请求PSU准备好等待接受FLASH数据,PSU擦除USER端程序。
延时等待PSU擦除FLASH数据,延时的目的是为了给PSU足够的反应时间来擦除FLASH数据。
根据在线可编程程序的存储功能,解析hex文件,确定单次数据发送长度。
延时等待PSU写入FLASH数据,延时的目的是为了给PSU足够的反应时间来写入FLASH数据。
判断是否解析到FLASH的终止地址0xFFFF,如果是,则执行下一步操作,否则继续解析hex文件。
根据在线可编程程序的状态,获取FLASH数据传输后结果。
判读返回数据位是否为1,如果是,则校验成功,执行下一步操作;如果超过3次不是,则获取此时软件可编程状态,更新日志LOG,结束更新。
获取FLASH数据传输后结果。
请求PSU重启,并跳转到USER端。
延时等待PSU跳转,给PSU足够的反应时间进行跳转。
根据在线可编程程序的状态,判断更新后的LOG。
获取在线可编程程序的状态的反馈数据,地址是否为0bxxx0000,如果是,则执行下一步操作,否则,获取此时软件可编程状态,更新日志LOG。
读取软件升级状态,判断返回值是否为1,返回值为1表示更新完成;如果是,则执行下一步操作,否则,获取软件可编程状态,更新日志LOG。
获取PSU USER端的运行状态,判断返回值是否为1,返回值为1表示PSU USER端运行可靠,PSU更新成功,PSU运行新程序,结束更新;否则,获取此时软件可编程状态,更新日志LOG,结束更新。
图3中的所需的指令表示可如下所示:
D2:ISP Status/Command for Secondary side and Primary side初级侧和次级侧在线可编程程序状态;
D4:ISP Memory在线可编程程序存储功能;
F3:FIRMWARE_UPDATE_STATUS_FLAG软件升级状态。
以上指令的含义并不唯一,可根据实际情况进行设定,以上指令只是本发明的优选实施例,并不全部代表本发明。
以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。
Claims (10)
1.一种更新PSU FW的方法,其特征是,具体包括以下步骤:
判断PSU当前处于USER端还是BOOT端;如果处于USER端,则请求跳转到BOOT端;如果处于BOOT端,则执行下一步操作;
请求PSU准备接收FLASH数据,并擦除UESR端程序;
PSU写入FLASH数据;
校验获取FLASH数据传输后结果的返回值正确;
请求重启PSU并跳转到USER端;
校验更新完成标志的数据返回值正确,PSU更新完成。
2.根据权利要求1所述的方法,其特征是,在执行上述步骤之前需要自动下载更新程序,所述自动下载更新程序的具体方法包括:
遍历PMBus从机设备找到需要升级的PSU;
设置需要升级的PSU的FLASH地址,并设置升级操作解锁KEY,防误操作进行BOOT下载模式;
进入hex文件并解析hex文件,提取更新用的主要数据;
进入下载进程。
3.根据权利要求1所述的方法,其特征是,判断处于USER端还是BOOT端的标准是:当返回值为0x00000058时,表示处于USER端;当返回值为0x00018AEB时,表示处于BOOT端。
4.根据权利要求1所述的方法,其特征是,请求跳转到BOOT端具体包括以下步骤:
解锁BOOT更新权限;
延时请求USER端跳转到BOOT端。
5.根据权利要求1所述的方法,其特征是,请求PSU准备接收FLASH数据之前还包括以下准备步骤:
获取反馈数据,并判断返回值是否为1,如果是,则获取下载参数,否则,获取更新日志LOG结束更新;
发送hex文件头信息;
获取反馈数据,并判断返回值是否为1,如果是,则下发FLASH数据更新前准备,请求PSU准备接收FLASH数据。
6.根据权利要求5所述的方法,其特征是,所述的下载参数包括FLASH协议长度、是否支持初级程序需更新、擦除FLASH时间、WRITE FLASH时间。
7.根据权利要求1所述的方法,其特征是,PSU写入FLASH数据之前还包括以下准备步骤:
延时等待PSU擦除FLASH数据;
确定单次数据发送长度,该单次数据来自解析后的hex文件;
延时等待PSU写入FLASH数据。
8.根据权利要求1所述的方法,其特征是,校验获取FLASH数据传输后结果的返回值为:解析到FLASH的终止地址0xFFFF后获取FLASH数据传输后的结果的返回值;返回值正确表示返回值为1;
如果返回值错误,则继续请求PSU准备接收FLASH数据,并擦除UESR端程序,当错误3次以上,则获取更新日志LOG,结束更新。
9.根据权利要求1所述的方法,其特征是,校验更新完成标志的数据返回值之前还包括以下步骤:
延时等待PSU恢复跳转;
判断更新后的LOG,并获取反馈数据;
如果反馈数据符合标准,则PSU运行新程序,更新结束;如果反馈数据不符合标准,则获取更新日志LOG,结束更新。
10.根据权利要求9所述的方法,其特征是,符合标准的反馈数据包括:
USER端转到BOOT端的反馈数据:0bxxx0000;
FW更新完成的返回值:1;
PSU USER端运行的返回值:1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710657147.1A CN107479916A (zh) | 2017-08-03 | 2017-08-03 | 一种更新psu fw的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710657147.1A CN107479916A (zh) | 2017-08-03 | 2017-08-03 | 一种更新psu fw的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107479916A true CN107479916A (zh) | 2017-12-15 |
Family
ID=60597614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710657147.1A Pending CN107479916A (zh) | 2017-08-03 | 2017-08-03 | 一种更新psu fw的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107479916A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110078435A1 (en) * | 2006-10-10 | 2011-03-31 | Exaflop Llc | Updating a Power Suppy Microcontroller |
CN104461647A (zh) * | 2014-12-22 | 2015-03-25 | 浪潮电子信息产业股份有限公司 | 一种远程批量刷新服务器电源模块的实现方法 |
CN104932915A (zh) * | 2015-03-20 | 2015-09-23 | 浪潮集团有限公司 | 一种通过rmc更新台达psu固件的方法 |
CN106547592A (zh) * | 2016-11-04 | 2017-03-29 | 郑州云海信息技术有限公司 | 一种实现新型云服务器电源软件在线更新的设计方法 |
-
2017
- 2017-08-03 CN CN201710657147.1A patent/CN107479916A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110078435A1 (en) * | 2006-10-10 | 2011-03-31 | Exaflop Llc | Updating a Power Suppy Microcontroller |
CN104461647A (zh) * | 2014-12-22 | 2015-03-25 | 浪潮电子信息产业股份有限公司 | 一种远程批量刷新服务器电源模块的实现方法 |
CN104932915A (zh) * | 2015-03-20 | 2015-09-23 | 浪潮集团有限公司 | 一种通过rmc更新台达psu固件的方法 |
CN106547592A (zh) * | 2016-11-04 | 2017-03-29 | 郑州云海信息技术有限公司 | 一种实现新型云服务器电源软件在线更新的设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105354070B (zh) | 一种通过i2c升级设备固件的方法 | |
CN102495744B (zh) | 基于can总线的电动汽车电控设备控制软件升级方法 | |
CN107479917A (zh) | 一种批量刷新psu fw的方法 | |
CN105183515B (zh) | 云台固件升级的方法及装置 | |
CN104461611A (zh) | 一种rack机柜批量刷新节点bios的方法 | |
WO2011088701A1 (zh) | 一种跨平台版本在线升级的方法及装置 | |
WO2017185954A1 (zh) | 一种实现usb设备管理的方法、主机和系统 | |
CN103744708A (zh) | 一种实现linux操作系统下固定磁盘设备名的方法 | |
CN110196726A (zh) | 一种基于cpu+cpld实现fpga程序远程升级加载的方法 | |
CN111104147A (zh) | 一种bmc升级方法、装置、终端及存储介质 | |
CN109728886A (zh) | 一种适于跨版本升级的数据同步方法、装置、设备及存储介质 | |
CN112231005A (zh) | 一种基于uboot管理fpga版本的方法 | |
CN117687664A (zh) | 一种dsp的在线升级配置方法及装置 | |
CN109660386B (zh) | 一种半导体存储器老化测试系统软件升级方法 | |
CN106878486A (zh) | 一种防止板载网卡mac地址被修改的方法及系统 | |
CN108536458A (zh) | 一种fpga在线升级方法、装置、设备及存储介质 | |
CN107479916A (zh) | 一种更新psu fw的方法 | |
WO2023226670A1 (zh) | 一种eSIM固件升级方法、装置、设备及介质 | |
CN109426511A (zh) | 软核更新方法和系统 | |
CN112203170B (zh) | 一种光网络单元的升级方法、装置、介质及设备 | |
WO2016131294A1 (zh) | 版本升级处理方法及装置 | |
CN116112412A (zh) | 一种虚拟网卡绑定冗余功能测试方法、系统、装置及介质 | |
CN109697077B (zh) | 硬盘固件启动方法、装置及设备 | |
CN113377457B (zh) | 一种信号处理分系统及数字信号处理dsp程序在线加载方法 | |
US6301709B1 (en) | Circuit pack system with semi-or fully-automatic upgrade capability |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171215 |
|
RJ01 | Rejection of invention patent application after publication |