[发明专利]一种固件升级方法、固件升级装置及固件升级系统有效
申请号: | 201810706543.3 | 申请日: | 2018-06-29 |
公开(公告)号: | CN108694052B | 公开(公告)日: | 2021-08-10 |
发明(设计)人: | 刘伟;王彦伟;宿栋栋 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F8/654 | 分类号: | G06F8/654 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 升级 方法 装置 系统 | ||
1.一种固件升级方法,其特征在于,所述方法应用于固件升级系统,所述固件升级系统包括主机、FPGA和flash;所述主机与FPGA通过PCI-e相连,所述FPGA通过串行外设接口扩展QSPI与flash相连;将flash划分为引导指针、预设的镜像0至镜像N的N+1个镜像区域,所述镜像0为第一镜像,镜像1至镜像N中的任意一个镜像为第二镜像;所述flash通过QSPI接口将多个镜像对应的地址空间映射到FPGA缓存中;主机通过PCI-e-FPGA-flash形成的通路根据镜像对应的地址对flash进行擦写以使得flash中的固件升级;
所述方法包括:
接收待写入的第一数据;所述待写入的第一数据是已根据预设转化规则转化成符合flash写入要求的数据;
通过用户指令确定待更新镜像;
若所述待更新镜像为预设的第一镜像,则读取引导指针的数值,所述引导指针指向闪存flash开机上电时第一个镜像的地址;所述第一镜像指的是静态镜像,所述静态镜像中存储的是执行所述固件升级方法的程序代码;
将所述引导指针的数值插入到所述第一数据的起始位置;
擦除待更新镜像内的内容;
将所述第一数据写入到待更新镜像中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述待更新镜像为预设的第二镜像,则擦除待更新镜像内的内容;所述第二镜像为动态镜像,镜像内存储的程序代码能够使得FPGA实现各种具体功能;
将所述第一数据写入到待更新镜像中。
3.根据权利要求1或2所述的方法,其特征在于,所述接收待写入的第一数据之前,所述方法还包括:
接收第二数据;所述第二数据指的是存入电脑内存中的数据;
将所述第二数据根据预设转化规则转化成第一数据。
4.根据权利要求3所述的方法,其特征在于,所述擦除待更新镜像内的内容之前,所述方法还包括:
判断所述预设的第一镜像和所述第一数据的大小之差是否在预设的范围内;
若所述预设的第一镜像和所述第一数据的大小之差在预设的范围内,则使能flash写入标志位;
将flash的写保护标志位置于disable。
5.根据权利要求4所述方法,其特征在于,所述将所述第一数据写入到待更新镜像中之后,所述方法包括:
读取写入的所述第一数据与内存数据对比;
若所述第一数据与内存数据一致,则确定所述第一数据已正确写入。
6.根据权利要求5所述方法,其特征在于,所述方法还包括:
若所述第一数据已正确写入,则使能所述flash的写保护标志位。
7.根据权利要求6所述的方法,其特征在于,所述将所述第一数据写入到待更新镜像中之后,所述方法还包括:
根据所述待更新镜像的起始地址从flash中加载所述待更新镜像中的第一数据;
关闭高速串行计算机扩展总线标准PCI-e的中断程序,所述PCI-e为与现场可编程门阵列FPGA连接的接口;
对flash重新配置所述引导指针的地址;
重启所述PCI-e的中断程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810706543.3/1.html,转载请声明来源钻瓜专利网。