CN113535213A - 一种可编程逻辑器件的固件更新方法及系统 - Google Patents

一种可编程逻辑器件的固件更新方法及系统 Download PDF

Info

Publication number
CN113535213A
CN113535213A CN202110822422.7A CN202110822422A CN113535213A CN 113535213 A CN113535213 A CN 113535213A CN 202110822422 A CN202110822422 A CN 202110822422A CN 113535213 A CN113535213 A CN 113535213A
Authority
CN
China
Prior art keywords
memory
control signal
firmware
programmable logic
logic device
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.)
Granted
Application number
CN202110822422.7A
Other languages
English (en)
Other versions
CN113535213B (zh
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.)
Lenovo Changfeng Technology Beijing Co Ltd
Original Assignee
Lenovo Changfeng Technology Beijing 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 Lenovo Changfeng Technology Beijing Co Ltd filed Critical Lenovo Changfeng Technology Beijing Co Ltd
Priority to CN202110822422.7A priority Critical patent/CN113535213B/zh
Publication of CN113535213A publication Critical patent/CN113535213A/zh
Application granted granted Critical
Publication of CN113535213B publication Critical patent/CN113535213B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

本发明公开了一种可编程逻辑器件的固件更新方法及系统,其中,所述方法包括:获得所述第一存储器的属性信息;判断所述第一存储器是否为外置存储器,获得第一判断结果;获得第一高电平CPU控制信号;根据所述第一高电平CPU控制信号,向所述第一存储器写入固件更新数据;判断写入的所述固件更新数据是否完整,获得第一检测结果;如果所述第一检测结果为写入的所述固件更新数据完整,对可编程逻辑器件进行固件更新。解决了现有技术中的基于增加额外的硬件外设以及拆机等方式,对可编程逻辑器件进行固件更新,使得对产品造成损耗的同时,更新效率低下的技术问题。

Description

一种可编程逻辑器件的固件更新方法及系统
技术领域
本发明涉及可编程逻辑器件领域,尤其涉及一种可编程逻辑器件的固件更新方法及系统。
背景技术
可编程逻辑器件,作为一种通用集成电路产生的,它的逻辑功能按照用户对器件编程来确定,一般的PLD的集成度很高,足以满足设计一般的数字系统的需要,但需要对其进行固件更新,确保芯片的正常工作。
但本申请发明人在实现本申请实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:
现有技术中存在基于增加额外的硬件外设以及拆机等方式,对可编程逻辑器件进行固件更新,使得对产品造成损耗的同时,更新效率低下的技术问题。
发明内容
本申请实施例通过提供一种可编程逻辑器件的固件更新方法及系统,解决了现有技术中的基于增加额外的硬件外设以及拆机等方式,对可编程逻辑器件进行固件更新,使得对产品造成损耗的同时,更新效率低下的技术问题。通过根据存储器的属性来确定其存在方式,进而基于SPI通道,可使得存储器完成更新数据的写入,待到确保写入的固件更新数据完整,再对可编程逻辑器件进行固件更新,达到了无需额外增加硬件成本、无需拆机、确保良好的兼容性,即可实现对可编程逻辑器件的固件更新,提高更新效率,同时减少因拆机导致的产品损耗的技术效果。
本申请实施例提供一种可编程逻辑器件的固件更新方法,其中,所述方法应用于具有第一存储器和可编程逻辑器件的电路模块,所述方法包括:获得所述第一存储器的属性信息;根据所述第一存储器的属性信息,判断所述第一存储器是否为外置存储器,获得第一判断结果;根据所述第一判断结果,获得第一高电平CPU控制信号,其中,所述第一高电平CPU控制信号包括第一控制信号或第二控制信号;根据所述第一高电平CPU控制信号,向所述第一存储器写入固件更新数据;判断写入的所述固件更新数据是否完整,获得第一检测结果;如果所述第一检测结果为写入的所述固件更新数据完整,对可编程逻辑器件进行固件更新。
另一方面,本申请还提供了一种可编程逻辑器件的固件更新系统,其中,所述系统包括:第一获得单元:所述第一获得单元用于获得第一存储器的属性信息;第一判断单元:所述第一判断单元用于根据所述第一存储器的属性信息,判断所述第一存储器是否为外置存储器,获得第一判断结果;第二获得单元:所述第二获得单元用于根据所述第一判断结果,获得第一高电平CPU控制信号,其中,所述第一高电平CPU控制信号包括第一控制信号或第二控制信号;第一写入单元:所述第一写入单元用于根据所述第一高电平CPU控制信号,向所述第一存储器写入固件更新数据;第二判断单元:所述第二判断单元用于判断写入的所述固件更新数据是否完整,获得第一检测结果;第一更新单元:所述第一更新单元用于如果所述第一检测结果为写入的所述固件更新数据完整,对可编程逻辑器件进行固件更新。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
通过获得所述第一存储器的属性信息;根据所述第一存储器的属性信息,判断所述第一存储器是否为外置存储器,获得第一判断结果;根据所述第一判断结果,获得第一高电平CPU控制信号,其中,所述第一高电平CPU控制信号包括第一控制信号或第二控制信号;根据所述第一高电平CPU控制信号,向所述第一存储器写入固件更新数据;判断写入的所述固件更新数据是否完整,获得第一检测结果;如果所述第一检测结果为写入的所述固件更新数据完整,对可编程逻辑器件进行固件更新。达到了无需额外增加硬件成本、无需拆机、确保良好的兼容性,即可实现对可编程逻辑器件的固件更新,提高更新效率,同时减少因拆机导致的产品损耗的技术效果。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
图1为本申请实施例一种可编程逻辑器件的固件更新方法的流程示意图;
图2为本申请实施例一种可编程逻辑器件的固件更新方法的判断写入的所述固件更新数据是否完整,获得第一检测结果之后的流程示意图;
图3为本申请实施例一种可编程逻辑器件的固件更新方法的通过所述切换开关将所述第一存储器切换到所述可编程逻辑器件的GPIO接口上的流程示意图;
图4为本申请实施例一种可编程逻辑器件的固件更新方法的控制所述第一存储器开启串行接口通道的流程示意图;
图5为本申请实施例一种可编程逻辑器件的固件更新方法的获得第一低电平CPU控制信号的流程示意图;
图6为本申请实施例一种可编程逻辑器件的固件更新方法的获得第二低电平CPU控制信号的流程示意图;
图7为本申请实施例一种可编程逻辑器件的固件更新系统的结构示意图;
图8为本申请实施例示例性电子设备的结构示意图。
附图标记说明:第一获得单元11,第一判断单元12,第二获得单元13,第一写入单元14,第二判断单元15,第一更新单元16,总线300,接收器301,处理器302,发送器303,存储器304,总线接口305。
具体实施方式
本申请实施例通过提供一种可编程逻辑器件的固件更新方法及系统,解决了现有技术中的基于增加额外的硬件外设以及拆机等方式,对可编程逻辑器件进行固件更新,使得对产品造成损耗的同时,更新效率低下的技术问题。通过根据存储器的属性来确定其存在方式,进而基于SPI通道,可使得存储器完成更新数据的写入,待到确保写入的固件更新数据完整,再对可编程逻辑器件进行固件更新,达到了无需额外增加硬件成本、无需拆机、确保良好的兼容性,即可实现对可编程逻辑器件的固件更新,提高更新效率,同时减少因拆机导致的产品损耗的技术效果。
下面,将参考附图详细的描述根据本申请的示例实施例。显然,所描述的实施例仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
申请概述
可编程逻辑器件,作为一种通用集成电路产生的,它的逻辑功能按照用户对器件编程来确定,一般的PLD的集成度很高,足以满足设计一般的数字系统的需要,但需要对其进行固件更新,确保芯片的正常工作。现有技术中存在基于增加额外的硬件外设以及拆机等方式,对可编程逻辑器件进行固件更新,使得对产品造成损耗的同时,更新效率低下的技术问题。
针对上述技术问题,本申请提供的技术方案总体思路如下:
本申请实施例提供一种可编程逻辑器件的固件更新方法,其中,所述方法应用于具有第一存储器和可编程逻辑器件的电路模块,所述方法包括:获得所述第一存储器的属性信息;根据所述第一存储器的属性信息,判断所述第一存储器是否为外置存储器,获得第一判断结果;根据所述第一判断结果,获得第一高电平CPU控制信号,其中,所述第一高电平CPU控制信号包括第一控制信号或第二控制信号;根据所述第一高电平CPU控制信号,向所述第一存储器写入固件更新数据;判断写入的所述固件更新数据是否完整,获得第一检测结果;如果所述第一检测结果为写入的所述固件更新数据完整,对可编程逻辑器件进行固件更新。
为了更好地理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
实施例一
如图1所示,本申请实施例提供了一种可编程逻辑器件的固件更新方法,其中,所述方法应用于具有第一存储器和可编程逻辑器件的电路模块,所述方法包括:
步骤S100:获得所述第一存储器的属性信息;
具体而言,可编程逻辑器件(programmable logic device即PLD),作为一种通用集成电路产生的,它的逻辑功能按照用户对器件编程来确定,一般的PLD的集成度很高,足以满足设计一般的数字系统的需要,但需要对其进行固件更新,确保芯片的正常工作。在本申请实施例中,为了提高可编程逻辑器件的固件更新效率,减少对产品的拆机损耗,可先获得所述第一存储器的属性信息,其中,所述第一存储器即为可编程逻辑器件,所述属性信息在此可理解为:可编程逻辑器件的连接方式,即是如何连接在SPI FLASH(即时钟同步串行通信接口)上的,一般来讲,可分为内置存储器的可编程逻辑器件(即CPLD)和外置存储器的可编程逻辑器件(即FPGA)。其中,支持内置存储器的可编程逻辑器件的固件保存在内置的SPI FLASH中,器件上电后,自动从内置的spi flash中加载固件,完成芯片初始化;支持外置存储器的可编程逻辑器件的固件保存在外挂的SPI FLASH中,外挂的spi flash与芯片指定的spi port连接,器件上电后,自动从外置的spi flash中加载固件,完成芯片初始化。
步骤S200:根据所述第一存储器的属性信息,判断所述第一存储器是否为外置存储器,获得第一判断结果;
具体而言,已知所述第一存储器的属性信息,可基于此,判断所述第一存储器是否为外置存储器,获得第一判断结果,因存在方式不同,使得对器件的更新方式存在不同,所述第一判断结果包括两种结果:即所述第一存储器为外置存储器以及所述第一存储器不是外置存储器(相反属于内置存储器),判断结果的不同,使得更新方式存在不同。
步骤S300:根据所述第一判断结果,获得第一高电平CPU控制信号,其中,所述第一高电平CPU控制信号包括第一控制信号或第二控制信号;
步骤S400:根据所述第一高电平CPU控制信号,向所述第一存储器写入固件更新数据;
具体而言,无论所述第一存储器是内置的存在方式或是外挂的存在方式,在对可编程逻辑器件的固件进行更新时,都需要获得第一高电平CPU控制信号,即gpio port控制CPLD使能SPI通道,通过基于CPU控制信号为高电平,使得开启SPI通道,基于SPI通道,可使得所述第一存储器完成更新数据的写入,进一步的,所述第一存储器是内置的存在方式或是外挂的存在方式,也影响着控制信号的不同,所述第一控制信号或所述第二控制信号对应着所述第一判断结果的不同情况。
步骤S500:判断写入的所述固件更新数据是否完整,获得第一检测结果;
步骤S600:如果所述第一检测结果为写入的所述固件更新数据完整,对可编程逻辑器件进行固件更新。
具体而言,为了确保更新数据的写入完整,进而确保固件更新完成,可判断写入的所述固件更新数据是否完整,即所述固件更新数据是否写入完整,是否存在数据遗漏或延迟写入等情况,所述第一检测结果包含两种情况:所述固件更新数据写入完整以及所述固件更新数据写入不完整,如果如果所述第一检测结果为写入的所述固件更新数据完整,则说明更新数据写入完整,对可编程逻辑器件进行固件更新,进而确保固件更新完成。通过根据存储器的属性来确定其存在方式,进而基于SPI通道,可使得存储器完成更新数据的写入,待到确保写入的固件更新数据完整,再对可编程逻辑器件进行固件更新,达到了无需额外增加硬件成本、无需拆机、确保良好的兼容性,即可实现对可编程逻辑器件的固件更新,提高更新效率,同时减少因拆机导致的产品损耗的技术效果。
优选的,如图2所示,所述判断写入的所述固件更新数据是否完整,获得第一检测结果之后,步骤S500还包括:
步骤S510:如果所述第一检测结果为写入的所述固件更新数据不完整,获得第一写入信号;
步骤S520:根据所述第一写入信号,重新向所述第一存储器写入所述固件更新数据。
具体而言,在判断写入的所述固件更新数据是否完整时,如果所述第一检测结果为写入的所述固件更新数据不完整,则说明更新数据还未写入完整,无法可编程逻辑器件进行固件更新,可获得第一写入信号,即根据所述第一写入信号,重新向所述第一存储器写入所述固件更新数据,重复对写入的数据完整性检测的步骤,确保对更新数据写入完整,使得对可编程逻辑器件进行固件更新,进而确保固件更新完成。
优选的,如图3所示,所述根据所述第一高电平CPU控制信号,向所述第一存储器写入固件更新数据,所述电路模块还具有一串行接口的切换开关,步骤S400还包括:
步骤S410:如果所述第一判断结果为所述第一存储器为外置存储器,获得第一控制信号;
步骤S420:根据所述第一控制信号,通过所述切换开关将所述第一存储器切换到所述可编程逻辑器件的GPIO接口上,获得所述可编程逻辑器件的所述固件更新数据;
步骤S430:根据标准可编程逻辑器件写入协议,将所述固件更新数据写入所述第一存储器。
具体而言,如果所述第一存储器为外置存储器,在对所述第一存储器写入固件更新数据时,可基于所述切换开关进行写入操作,进一步的,硬件上添加spi port的切换开关,即可以通过控制信号选择外置spi flash是与固件专用port连还是与通用gpio port连,FPGA构建切换逻辑,使得CPU可以通过gpio来控制spi flash的切换开关,使得在CPU控制信号的控制下,切换开关按要求将spi flash映射到CPU的spi port上,这样电路板上的CPU则可以直接操作外置的spi Flash,固件升级软件则可以通过U盘获取FPGA的固件,然后通过标准的spi flash写入协议,将FPGA固件更新到FPGA外置的spi flash中,由此完成FPGA的固件更新,在不增加额外的PC机或是网络服务器,即可自身完成FPGA的固件更新,提高固件的更新效率。
优选的,如图4所示,所述根据所述第一高电平CPU控制信号,向所述第一存储器写入固件更新数据,本申请实施例还包括:
步骤S440:如果所述第一判断结果为所述第一存储器为内置存储器,获得第二控制信号;
步骤S450:根据所述第二控制信号,控制所述第一存储器开启串行接口通道,获得所述可编程逻辑器件的所述固件更新数据;
步骤S460:根据标准可编程逻辑器件写入协议,将所述固件更新数据写入所述第一存储器。
具体而言,如果所述第一存储器为内置存储器时,在对所述第一存储器写入固件更新数据时,可根据所述第二控制信号,控制所述第一存储器开启串行接口通道,CPLD通过内部逻辑,将内部SPI Flash的引脚映射逻辑开关上,在CPU控制信号的控制下,逻辑开关按要求将内部spi flash的引脚映射到外部CPU的spi port上,这样电路板上的CPU则可以直接操作CPLD的内部spi Flash。固件升级软件则可以通过U盘获取CPLD的固件,然后通过标准的spi flash写入协议,将CPLD固件更新到CPLD内部spi flash中,由此完成CPLD的固件更新,由此实现了对内置存储器的固件更新。
优选的,如图5所示,所述如果所述第一检测结果为写入的所述固件更新数据完整,对可编程逻辑器件进行固件更新之后,步骤S600还包括:
步骤S610:如果所述第一判断结果为所述第一存储器为外置存储器,获得第一低电平CPU控制信号;
步骤S620:根据所述第一低电平CPU控制信号,所述切换开关将所述第一存储器切换到所述可编程逻辑器件的专用串行接口上。
具体而言,如果所述第一存储器为外置存储器,在对外置存储器的可编程逻辑器件进行固件更新之后,可中断写入操作,即CPU将开始的高电平控制信号转变为低电平控制信号,使得所述切换开关将所述第一存储器切换到所述可编程逻辑器件的专用串行接口上,即中断可编程逻辑器件与通用gpio port的连接,进而结束对外置存储器的固件更新。
优选的,如图6所示,所述如果所述第一检测结果为写入的所述固件更新数据完整,对可编程逻辑器件进行固件更新之后,步骤S600还包括:
步骤S630:如果所述第一判断结果为所述第一存储器为内置存储器,获得第二低电平CPU控制信号;
步骤S640:根据所述第二低电平CPU控制信号,控制所述第一存储器关闭所述串行接口通道。
具体而言,如果所述第一存储器为内置存储器,在对内置存储器的可编程逻辑器件进行固件更新之后,可中断写入操作,进一步的,所述第二低电平CPU控制信号为CPU将高电平控制信号转换为低电平控制信号,进而根据所述第二低电平CPU控制信号,控制所述第一存储器关闭所述串行接口通道,即关闭spi通道,进而结束对内置存储器的固件更新。
综上所述,本申请实施例所提供的一种可编程逻辑器件的固件更新方法及系统具有如下技术效果:
1、通过获得所述第一存储器的属性信息;根据所述第一存储器的属性信息,判断所述第一存储器是否为外置存储器,获得第一判断结果;根据所述第一判断结果,获得第一高电平CPU控制信号,其中,所述第一高电平CPU控制信号包括第一控制信号或第二控制信号;根据所述第一高电平CPU控制信号,向所述第一存储器写入固件更新数据;判断写入的所述固件更新数据是否完整,获得第一检测结果;如果所述第一检测结果为写入的所述固件更新数据完整,对可编程逻辑器件进行固件更新。达到了无需额外增加硬件成本、无需拆机、确保良好的兼容性,即可实现对可编程逻辑器件的固件更新,提高更新效率,同时减少因拆机导致的产品损耗的技术效果。
2、基于CPLD进行固件的更新,可通过内部逻辑,将内部SPI Flash的引脚映射逻辑开关上,在CPU控制信号的控制下,逻辑开关按要求将内部spi flash的引脚映射到外部CPU的spi port上,这样电路板上的CPU则可以直接操作CPLD的内部spi Flash。固件升级软件则可以通过U盘获取CPLD的固件,然后通过标准的spi flash写入协议,将CPLD固件更新到CPLD内部spi flash中,由此完成CPLD的固件更新。
3、基于FPGA进行固件的更新,可在硬件上添加spi port的切换开关,即可以通过控制信号选择外置spi flash是与固件专用port连还是与通用gpio port连。FPGA构建切换逻辑,使得CPU可以通过gpio来控制spi flash的切换开关。这样,在CPU控制信号的控制下,切换开关按要求将spi flash映射到CPU的spi port上,这样电路板上的CPU则可以直接操作外置的spi Flash。固件升级软件则可以通过U盘获取FPGA的固件,然后通过标准的spiflash写入协议,将FPGA固件更新到FPGA外置的spi flash中,由此完成FPGA的固件更新。
实施例二
基于与前述实施例中一种可编程逻辑器件的固件更新方法同样发明构思,本发明还提供了一种可编程逻辑器件的固件更新系统,如图7所示,所述系统包括:
第一获得单元11:所述第一获得单元11用于获得第一存储器的属性信息;
第一判断单元12:所述第一判断单元12用于根据所述第一存储器的属性信息,判断所述第一存储器是否为外置存储器,获得第一判断结果;
第二获得单元13:所述第二获得单元13用于根据所述第一判断结果,获得第一高电平CPU控制信号,其中,所述第一高电平CPU控制信号包括第一控制信号或第二控制信号;
第一写入单元14:所述第一写入单元14用于根据所述第一高电平CPU控制信号,向所述第一存储器写入固件更新数据;
第二判断单元15:所述第二判断单元15用于判断写入的所述固件更新数据是否完整,获得第一检测结果;
第一更新单元16:所述第一更新单元16用于如果所述第一检测结果为写入的所述固件更新数据完整,对可编程逻辑器件进行固件更新。
进一步的,所述系统还包括:
第三获得单元:所述第三获得单元用于如果所述第一检测结果为写入的所述固件更新数据不完整,获得第一写入信号;
第二写入单元:所述第二写入单元用于根据所述第一写入信号,重新向所述第一存储器写入所述固件更新数据。
进一步的,所述系统还包括:
第四获得单元:所述第四获得单元用于如果所述第一判断结果为所述第一存储器为外置存储器,获得第一控制信号;
第一切换单元:所述第一切换单元用于根据所述第一控制信号,通过所述切换开关将所述第一存储器切换到所述可编程逻辑器件的GPIO接口上,获得所述可编程逻辑器件的所述固件更新数据;
第三写入单元:所述第三写入单元用于根据标准可编程逻辑器件写入协议,将所述固件更新数据写入所述第一存储器。
进一步的,所述系统还包括:
第五获得单元:所述第五获得单元用于如果所述第一判断结果为所述第一存储器为内置存储器,获得第二控制信号;
第一控制单元:所述第一控制单元用于根据所述第二控制信号,控制所述第一存储器开启串行接口通道,获得所述可编程逻辑器件的所述固件更新数据;
第四写入单元:所述第四写入单元用于根据标准可编程逻辑器件写入协议,将所述固件更新数据写入所述第一存储器。
进一步的,所述系统还包括:
第六获得单元:所述第六获得单元用于如果所述第一判断结果为所述第一存储器为外置存储器,获得第一低电平CPU控制信号;
第二切换单元:所述第二切换单元用于根据所述第一低电平CPU控制信号,所述切换开关将所述第一存储器切换到所述可编程逻辑器件的专用串行接口上。
进一步的,所述系统还包括:
第七获得单元:所述第七获得单元用于如果所述第一判断结果为所述第一存储器为内置存储器,获得第二低电平CPU控制信号;
第二控制单元:所述第二控制单元用于根据所述第二低电平CPU控制信号,控制所述第一存储器关闭所述串行接口通道。
前述图1实施例一中的一种可编程逻辑器件的固件更新方法的各种变化方式和具体实例同样适用于本实施例的一种可编程逻辑器件的固件更新系统,通过前述对一种可编程逻辑器件的固件更新方法的详细描述,本领域技术人员可以清楚的知道本实施例中一种可编程逻辑器件的固件更新系统的实施方法,所以为了说明书的简洁,再次不再详述。
实施例三
下面参考图8来描述本申请实施例的电子设备。
图8图示了根据本申请实施例的电子设备的结构示意图。
基于与前述实例施中一种可编程逻辑器件的固件更新方法的发明构思,本发明还提供一种可编程逻辑器件的固件更新系统,其上存储有计算机程序,该程序被处理器执行时实现前文所述一种可编程逻辑器件的固件更新系统的任一方法的步骤。
其中,在图8中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口305在总线300和接收器301和发送器303之间提供接口。接收器301和发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他系统通信的单元。处理器302负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。
本申请实施例提供一种可编程逻辑器件的固件更新方法,其中,所述方法应用于具有第一存储器和可编程逻辑器件的电路模块,所述方法包括:获得所述第一存储器的属性信息;根据所述第一存储器的属性信息,判断所述第一存储器是否为外置存储器,获得第一判断结果;根据所述第一判断结果,获得第一高电平CPU控制信号,其中,所述第一高电平CPU控制信号包括第一控制信号或第二控制信号;根据所述第一高电平CPU控制信号,向所述第一存储器写入固件更新数据;判断写入的所述固件更新数据是否完整,获得第一检测结果;如果所述第一检测结果为写入的所述固件更新数据完整,对可编程逻辑器件进行固件更新。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种可编程逻辑器件的固件更新方法,其中,所述方法应用于具有第一存储器和可编程逻辑器件的电路模块,所述方法包括:
获得所述第一存储器的属性信息;
根据所述第一存储器的属性信息,判断所述第一存储器是否为外置存储器,获得第一判断结果;
根据所述第一判断结果,获得第一高电平CPU控制信号,其中,所述第一高电平CPU控制信号包括第一控制信号或第二控制信号;
根据所述第一高电平CPU控制信号,向所述第一存储器写入固件更新数据;
判断写入的所述固件更新数据是否完整,获得第一检测结果;
如果所述第一检测结果为写入的所述固件更新数据完整,对可编程逻辑器件进行固件更新。
2.如权利要求1所述的方法,其中,所述判断写入的所述固件更新数据是否完整,获得第一检测结果之后,包括:
如果所述第一检测结果为写入的所述固件更新数据不完整,获得第一写入信号;
根据所述第一写入信号,重新向所述第一存储器写入所述固件更新数据。
3.如权利要求1所述的方法,其中,所述根据所述第一高电平CPU控制信号,向所述第一存储器写入固件更新数据,所述电路模块还具有一串行接口的切换开关,所述方法包括:
如果所述第一判断结果为所述第一存储器为外置存储器,获得第一控制信号;
根据所述第一控制信号,通过所述切换开关将所述第一存储器切换到所述可编程逻辑器件的GPIO接口上,获得所述可编程逻辑器件的所述固件更新数据;
根据标准可编程逻辑器件写入协议,将所述固件更新数据写入所述第一存储器。
4.如权利要求1所述的方法,其中,所述根据所述第一高电平CPU控制信号,向所述第一存储器写入固件更新数据,包括:
如果所述第一判断结果为所述第一存储器为内置存储器,获得第二控制信号;
根据所述第二控制信号,控制所述第一存储器开启串行接口通道,获得所述可编程逻辑器件的所述固件更新数据;
根据标准可编程逻辑器件写入协议,将所述固件更新数据写入所述第一存储器。
5.如权利要求3所述的方法,其中,所述如果所述第一检测结果为写入的所述固件更新数据完整,对可编程逻辑器件进行固件更新之后,包括:
如果所述第一判断结果为所述第一存储器为外置存储器,获得第一低电平CPU控制信号;
根据所述第一低电平CPU控制信号,所述切换开关将所述第一存储器切换到所述可编程逻辑器件的专用串行接口上。
6.如权利要求4所述的方法,其中,所述如果所述第一检测结果为写入的所述固件更新数据完整,对可编程逻辑器件进行固件更新之后,包括:
如果所述第一判断结果为所述第一存储器为内置存储器,获得第二低电平CPU控制信号;
根据所述第二低电平CPU控制信号,控制所述第一存储器关闭所述串行接口通道。
7.一种可编程逻辑器件的固件更新系统,其中,所述系统包括:
第一获得单元:所述第一获得单元用于获得第一存储器的属性信息;
第一判断单元:所述第一判断单元用于根据所述第一存储器的属性信息,判断所述第一存储器是否为外置存储器,获得第一判断结果;
第二获得单元:所述第二获得单元用于根据所述第一判断结果,获得第一高电平CPU控制信号,其中,所述第一高电平CPU控制信号包括第一控制信号或第二控制信号;
第一写入单元:所述第一写入单元用于根据所述第一高电平CPU控制信号,向所述第一存储器写入固件更新数据;
第二判断单元:所述第二判断单元用于判断写入的所述固件更新数据是否完整,获得第一检测结果;
第一更新单元:所述第一更新单元用于如果所述第一检测结果为写入的所述固件更新数据完整,对可编程逻辑器件进行固件更新。
8.一种可编程逻辑器件的固件更新系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现权利要求1-6任一项所述方法的步骤。
CN202110822422.7A 2021-07-21 2021-07-21 一种可编程逻辑器件的固件更新方法及系统 Active CN113535213B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110822422.7A CN113535213B (zh) 2021-07-21 2021-07-21 一种可编程逻辑器件的固件更新方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110822422.7A CN113535213B (zh) 2021-07-21 2021-07-21 一种可编程逻辑器件的固件更新方法及系统

Publications (2)

Publication Number Publication Date
CN113535213A true CN113535213A (zh) 2021-10-22
CN113535213B CN113535213B (zh) 2024-03-29

Family

ID=78100614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110822422.7A Active CN113535213B (zh) 2021-07-21 2021-07-21 一种可编程逻辑器件的固件更新方法及系统

Country Status (1)

Country Link
CN (1) CN113535213B (zh)

Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101650662A (zh) * 2009-08-26 2010-02-17 中兴通讯股份有限公司 一种嵌入式系统的存储器件、固件启动及升级方法
CN101826025A (zh) * 2010-03-22 2010-09-08 太仓市同维电子有限公司 现场可编程逻辑器件固件升级装置及其方法
CN101978357A (zh) * 2008-03-21 2011-02-16 株式会社东芝 数据更新方法、存储器系统和存储器设备
CN102360302A (zh) * 2011-10-13 2012-02-22 福建星网锐捷网络有限公司 一种fpga配置文件在线升级方法及装置
US20170192768A1 (en) * 2016-01-05 2017-07-06 Inventec (Pudong) Technology Corporation Updating system of firmware of complex programmable logic device and updating method thereof
CN108628621A (zh) * 2018-03-05 2018-10-09 深圳市鼎阳科技有限公司 一种从设备的固件升级方法及固件升级的从设备、系统
CN108664264A (zh) * 2018-08-16 2018-10-16 成都爱斯顿科技有限公司 一种基于cpu通过jtag方式远程更新fpga的装置和方法
CN108694052A (zh) * 2018-06-29 2018-10-23 郑州云海信息技术有限公司 一种固件升级方法、固件升级装置及固件升级系统
CN109358893A (zh) * 2018-12-10 2019-02-19 武汉精立电子技术有限公司 一种fpga程序的在线升级方法、装置及系统
CN109542478A (zh) * 2018-11-09 2019-03-29 中电科仪器仪表有限公司 一种更新SPI Flash内FPGA程序的系统及方法
CN110704089A (zh) * 2019-10-21 2020-01-17 深圳市友华通信技术有限公司 多cpld在线升级方法和装置
CN110851164A (zh) * 2019-11-18 2020-02-28 沈阳航盛科技有限责任公司 一种具有逻辑在线升级功能的光纤通道节点卡
CN111414184A (zh) * 2020-04-14 2020-07-14 山东超越数控电子股份有限公司 一种国产服务器下bios固件更新方法
KR20200112137A (ko) * 2019-03-21 2020-10-05 엘에스일렉트릭(주) Plc 시스템의 펌웨어 관리 장치 및 방법과, 그 plc 시스템
CN112000351A (zh) * 2020-08-07 2020-11-27 北京浪潮数据技术有限公司 Bmc固件的更新方法、更新装置、更新设备及存储介质
US10860305B1 (en) * 2017-09-29 2020-12-08 Amazon Technologies, Inc. Secure firmware deployment
CN112162771A (zh) * 2020-09-29 2021-01-01 山东超越数控电子股份有限公司 一种基于国产处理器的服务器固件在线更新系统及方法
US10922068B1 (en) * 2018-11-09 2021-02-16 Xilinx, Inc. Updating firmware for programmable integrated circuits in computing environments
CN112527345A (zh) * 2020-11-27 2021-03-19 苏州浪潮智能科技有限公司 一种扩展柜cpld在线升级的方法、装置、设备及可读介质
CN112698887A (zh) * 2021-01-14 2021-04-23 成都壹石新科信息技术有限公司 具有隔离功能的fpga在线配置装置及方法
CN112860298A (zh) * 2021-02-22 2021-05-28 西安超越申泰信息科技有限公司 一种远程bios升级实现方法及系统
CN112925569A (zh) * 2021-02-24 2021-06-08 深圳市信锐网科技术有限公司 一种固件数据处理方法、装置、设备及存储介质

Patent Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101978357A (zh) * 2008-03-21 2011-02-16 株式会社东芝 数据更新方法、存储器系统和存储器设备
CN101650662A (zh) * 2009-08-26 2010-02-17 中兴通讯股份有限公司 一种嵌入式系统的存储器件、固件启动及升级方法
CN101826025A (zh) * 2010-03-22 2010-09-08 太仓市同维电子有限公司 现场可编程逻辑器件固件升级装置及其方法
CN102360302A (zh) * 2011-10-13 2012-02-22 福建星网锐捷网络有限公司 一种fpga配置文件在线升级方法及装置
US20170192768A1 (en) * 2016-01-05 2017-07-06 Inventec (Pudong) Technology Corporation Updating system of firmware of complex programmable logic device and updating method thereof
US10860305B1 (en) * 2017-09-29 2020-12-08 Amazon Technologies, Inc. Secure firmware deployment
CN108628621A (zh) * 2018-03-05 2018-10-09 深圳市鼎阳科技有限公司 一种从设备的固件升级方法及固件升级的从设备、系统
CN108694052A (zh) * 2018-06-29 2018-10-23 郑州云海信息技术有限公司 一种固件升级方法、固件升级装置及固件升级系统
CN108664264A (zh) * 2018-08-16 2018-10-16 成都爱斯顿科技有限公司 一种基于cpu通过jtag方式远程更新fpga的装置和方法
CN109542478A (zh) * 2018-11-09 2019-03-29 中电科仪器仪表有限公司 一种更新SPI Flash内FPGA程序的系统及方法
US10922068B1 (en) * 2018-11-09 2021-02-16 Xilinx, Inc. Updating firmware for programmable integrated circuits in computing environments
CN109358893A (zh) * 2018-12-10 2019-02-19 武汉精立电子技术有限公司 一种fpga程序的在线升级方法、装置及系统
KR20200112137A (ko) * 2019-03-21 2020-10-05 엘에스일렉트릭(주) Plc 시스템의 펌웨어 관리 장치 및 방법과, 그 plc 시스템
CN110704089A (zh) * 2019-10-21 2020-01-17 深圳市友华通信技术有限公司 多cpld在线升级方法和装置
CN110851164A (zh) * 2019-11-18 2020-02-28 沈阳航盛科技有限责任公司 一种具有逻辑在线升级功能的光纤通道节点卡
CN111414184A (zh) * 2020-04-14 2020-07-14 山东超越数控电子股份有限公司 一种国产服务器下bios固件更新方法
CN112000351A (zh) * 2020-08-07 2020-11-27 北京浪潮数据技术有限公司 Bmc固件的更新方法、更新装置、更新设备及存储介质
CN112162771A (zh) * 2020-09-29 2021-01-01 山东超越数控电子股份有限公司 一种基于国产处理器的服务器固件在线更新系统及方法
CN112527345A (zh) * 2020-11-27 2021-03-19 苏州浪潮智能科技有限公司 一种扩展柜cpld在线升级的方法、装置、设备及可读介质
CN112698887A (zh) * 2021-01-14 2021-04-23 成都壹石新科信息技术有限公司 具有隔离功能的fpga在线配置装置及方法
CN112860298A (zh) * 2021-02-22 2021-05-28 西安超越申泰信息科技有限公司 一种远程bios升级实现方法及系统
CN112925569A (zh) * 2021-02-24 2021-06-08 深圳市信锐网科技术有限公司 一种固件数据处理方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
赵冬青,梁璠,上官鹏,储成群: "一种基于SPI FLASH的FPGA固件更新方法", 电子设计工程, vol. 28, no. 438, 20 August 2020 (2020-08-20), pages 11 - 16 *
陈长, 王铮, 胡俊: "基于SiTCP通信协议的FPGA可回滚远程固件更新方法", 核技术, vol. 43, no. 11, 15 November 2020 (2020-11-15), pages 42 - 46 *

Also Published As

Publication number Publication date
CN113535213B (zh) 2024-03-29

Similar Documents

Publication Publication Date Title
CN102609286B (zh) 一种基于处理器控制的fpga配置程序远程更新系统及其方法
US8386764B2 (en) BIOS architecture
US20110145815A1 (en) Virtual hot plugging of devices and virtual devices
CN107066746B (zh) 基于i2c接口通过cpld来实现pca9555功能的方法
US7822964B2 (en) Booting apparatus for booting a computer and method therefor and computer with a booting apparatus
CN104035803A (zh) 一种更新cpld/fpga固件的方法、装置及烧录器
CN105279127A (zh) 一种基于PCI或PCIe总线的FPGA程序下载系统及方法
CN116541032B (zh) 数据烧录方法、装置、设备及计算机存储介质
CN115562738B (zh) 一种端口配置方法、组件及硬盘扩展装置
CN110244983A (zh) 固定串口号的方法、终端设备及存储介质
CN102253845B (zh) 服务器系统
CN103268302A (zh) 一种接口扩展电路、接口扩展连接方法和嵌入式系统
CN111752623B (zh) 显示配置方法、装置、电子设备及可读存储介质
CN113535213B (zh) 一种可编程逻辑器件的固件更新方法及系统
CN114185720B (zh) 服务器动态热备份的方法、装置、设备及存储介质
CN116560688A (zh) 用于域控制器的软件更新方法
CN208538117U (zh) 一种电服务器主板内存故障指示灯结构
CN100533418C (zh) 用于修改版本标识寄存器的内容的方法和装置
CN110795369A (zh) 基于gpio管脚实现mido从机功能的方法及终端
CN115543246A (zh) 一种bmc和服务器
CN211015473U (zh) 一种升级配置逻辑电路、可编程逻辑器件及升级配置系统
CN113064833A (zh) 一种单片机仿真方法、系统、装置、设备及存储介质
CN105630120A (zh) 一种加载处理器硬件配置字的方法及装置
CN106548311B (zh) 库存管理设定系统
CN112860621A (zh) 一种fpga嵌入式管理系统、设计方法及介质

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
GR01 Patent grant
GR01 Patent grant