一种CPLD芯片固件升级方法技术

技术编号:38481747 阅读:13 留言:0更新日期:2023-08-15 16:59
本发明专利技术提供一种CPLD芯片固件升级方法,应用于支持不同的至少两种CPLD芯片的固件升级,包括如下步骤:提供对应至少两种所述CPLD芯片的至少两个固件升级文件;合并至少两个所述固件升级文件得到升级文件包,并于所述升级文件包中对应每个所述固件升级文件开始的位置分别添加对应的标识信息,以标识每个所述固件升级文件的信息及储存位置;对CPLD芯片进行固件升级时,根据所述CPLD芯片的种类查找所述升级文件包中对应的所述标识信息,并根据所述标识信息获取对应的固件升级文件,以对所述CPLD芯片进行固件升级。本发明专利技术针对现有技术中的CPLD固件升级包管理比较繁琐和/或用户体验较差的问题提供了一种优化方法。问题提供了一种优化方法。问题提供了一种优化方法。

【技术实现步骤摘要】
一种CPLD芯片固件升级方法


[0001]本专利技术属于固件升级方法的
,尤其涉及一种CPLD芯片固件升级方法。

技术介绍

[0002]在PCB设计生产时,经常会存在采用多种替代型号的物料的场景。
[0003]例如,一种场景是考虑到在产品生命周期内,物料有可能停产等因素,一般同功能的物料都会有1到2种替代型号,此时,当一个物料型号停产时,可以用替代型号,降低产品因没有物料而停产或改版的风险。
[0004]还有一种场景是PCB厂商一般会选择多家合格供应商进行长期合作,避免对单一供应商的过度依赖。下游客户通常会向PCB厂商提供合格供应商名录供PCB厂商从中选择或是由双方协商确定合格供应商。
[0005]还有其他场景,例如PCB行业对原材料的采购通常是结合订单情况进行按需采购,原材料的采购具有采购频率高的特点,在按需采购的基础上企业为了保证产品按时交付,也会对一些通用的原材料进行一定量的备货。因此不同批次批次之间的物料就很可能属于不同厂家或型号。
[0006]就CPLD芯片而言,同样存在类似的问题。例如,为了应对前述的第一种场景,一般会选用管脚兼容的2个厂家的芯片,互为替代物料,驱动软件需要同时支持2个芯片厂家的固件升级。当然,也可能会遇到采用更多厂家的芯片的其他场景。此时,带来了现有技术的CPLD固件升级包管理比较繁琐和/或用户体验较差的问题。
[0007]目前的CPLD升级方法和系统中,以下是几种常见的导致新问题的场景,以及为解决新问题而采用的对应解决措施的处理方案。/>[0008]具体请参见图1,如图1所示,比较常见的方案是先将固件升级文件用打包工具打包,增加一些诸如签名认证、文件校验等信息。然后在升级时先校验升级文件与CPLD型号是否匹配,如果匹配,则进行升级;如果不匹配则返回报错。
[0009]对于同时支持2个芯片厂家的固件升级,会分别打包生成2个升级包。用户升级时,会尝试用2个固件升级包分别升级。
[0010]该方案中存在如下缺点:1、CPLD固件升级包管理比较繁琐。由于每个CPLD芯片厂家的固件升级文件都被打包成一个独立的升级包,整个项目会有多个CPLD固件升级包,对于软件管理和发布增加了工作量和工作难度。
[0011]2、用户体检较差。用户购买产品后,一般不知道产品内部CPLD芯片厂家,当需要进行CPLD固件升级时,用户只能依次使用每个CPLD固件升级包尝试升级。尝试过程中,不可避免的会出现升级失败,影响用户体验。
[0012]CN 113220323A公开了一种增进产线CPLD固件更新效率的方法,包括以下步骤:获取原始固件,生成检查码,将所述原始固件与所述检查码组合构建更新固件;将所述更新固件通过SPI存储器预更新至PCB板上的CPLD,更新过程中记录更新断点信息,加入所述检查
码校验,校验成功执行预更新固件操作;将预更新至所述CPLD中的更新固件与所述更新固件进行比对,根据比对结果执行更新操作;通过上述方式,本专利技术能够实现同时更新多块板卡,降低工厂产线人员和设备工作负担,无需专用设备和专业人员更新CPLD固件,降低工厂生产成本,提升已上板CPLD固件更新效率,同时增加固件检查机制防止固件误烧,提升产线质量和安全性。
[0013]但是上述方法虽然可以同时更新多种板卡,但是未能解决升级包管理比较繁琐的问题。
[0014]CN 115794170 A提供一种固件升级方法、装置、设备及存储介质,该方法用于控制终端将旧固件升级为新固件;该方法包括:获取新固件;所述新固件包含多个数据段,生成各数据段对应的更新信息,并根据更新信息得到差分升级包;对所述差分升级包进行压缩,并向终端发送压缩后的差分升级包。相对于新固件包,差分升级包只需要存入每个数据段更新信息,包括所述数据段相对于旧固件的位置偏移值、所述数据段的长度,仅在所述数据段为新增或发生变化的数据段时,在所述更新信息中添加提示新增或变化的数据内容,同时并对差分升级包进行压缩处理,降低了服务端传输文件的大小,降低了文件传输的时间,降低了成本,提高了固件升级的效率。
[0015]但是所述方法未能解决用户体检较差的问题。用户购买产品后,一般不知道产品内部CPLD芯片厂家,当需要进行CPLD固件升级时,用户只能依次使用每个CPLD固件升级包尝试升级。
[0016]应该注意,上面对技术背景的介绍只是为了方便对本申请的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本申请的
技术介绍
部分进行了阐述而认为上述技术方案为本领域技术人员所公知。
[0017]基于以上,本申请提供了解决以上技术问题的技术方案。

技术实现思路

[0018]针对现有技术中的CPLD固件升级包管理比较繁琐和/或用户体验较差的问题,现提供一种优化方法,具体技术方案包括:提供一种CPLD芯片固件升级方法,应用于支持不同的至少两种CPLD芯片的固件升级,包括如下步骤:步骤S1,提供对应至少两种所述CPLD芯片的至少两个固件升级文件;步骤S2,合并至少两个所述固件升级文件得到升级文件包,并于所述升级文件包中对应每个所述固件升级文件开始的位置分别添加对应的标识信息,以标识每个所述固件升级文件的信息及储存位置;步骤S3,对CPLD芯片进行固件升级时,根据所述CPLD芯片的种类查找所述升级文件包中对应的所述标识信息,并根据所述标识信息获取对应的固件升级文件,以对所述CPLD芯片进行固件升级。
[0019]在一个具体实施方式中,所述步骤S2包括:步骤S21,获取每个所述固件升级文件的文件信息,文件长度以及校验信息;步骤S22,将每个所述固件升级文件的文件信息,文件长度以及所述校验信息组合成文件头;
步骤S23,将每个文件头设置在所述升级文件包的预定位置,将每个固件升级文件设置在对应的所述文件头后。
[0020]在一个具体实施方式中,所述文件信息包括对应的CPLD芯片的厂家信息,和/或固件升级文件的版本号。
[0021]在一个具体实施方式中,所述预定位置包括,将所述升级文件包以一预定长度划分成对应所述固件升级文件数量的连续的文件块,每个所述文件头设置在对应的所述文件块的起始处。
[0022]在一个具体实施方式中,所述预定长度大于所有的所述固件升级文件与对应的文件头长度之和中最大的长度。
[0023]在一个具体实施方式中,所述预定长度包括128KByte,256KByte,512KByte,1MByte,1.5MByte,2MByte。
[0024]在一个具体实施方式中,所述文件头的长度包括2Byte,4Byte,8Byte,16Byte,32Byte,64Byte,128Byte。
[0025]在一个具体实施方式中,所述固件升级文件紧随对应的所述文件头设置,每个所述文件块中空余的空间以一预定内容填充。
[0026]在一个具体实施方式中,所述步骤S3包括:步骤S31,获取所述CPLD芯片的信息;步骤S32,根本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种CPLD芯片固件升级方法,其特征在于,应用于支持不同的至少两种CPLD芯片的固件升级,包括如下步骤:步骤S1,提供对应至少两种所述CPLD芯片的至少两个固件升级文件;步骤S2,合并至少两个所述固件升级文件得到升级文件包,并于所述升级文件包中对应每个所述固件升级文件开始的位置分别添加对应的标识信息,以标识每个所述固件升级文件的信息及储存位置;步骤S3,对CPLD芯片进行固件升级时,根据所述CPLD芯片的种类查找所述升级文件包中对应的所述标识信息,并根据所述标识信息获取对应的固件升级文件,以对所述CPLD芯片进行固件升级。2.如权利要求1所述的CPLD芯片固件升级方法,其特征在于,所述步骤S2包括:步骤S21,获取每个所述固件升级文件的文件信息,文件长度以及校验信息;步骤S22,将每个所述固件升级文件的文件信息,文件长度以及所述校验信息组合成文件头;步骤S23,将每个文件头设置在所述升级文件包的预定位置,将每个固件升级文件设置在对应的所述文件头后。3.如权利要求2所述的CPLD芯片固件升级方法,其特征在于,所述文件信息包括对应的CPLD芯片的厂家信息,和/或固件升级文件的版本号。4.如权利要求2所述的CPLD芯片固件升级方法,其特征在于,所述预定位置包括,将所述升级文件包以一预定长度划分成对应所述固件升级文件数量的连续的文件块,每个所述文件头设置在对应的所述文件块的起始处。5.如权利要求4所述的CPLD芯片固件升级方法,其特征在于,所述预定长度大于所有的所述固件升级文件与对应的文件头长度之和中最大的长度。6.如权利要求5所述的...

【专利技术属性】
技术研发人员:金鑫
申请(专利权)人:北京大禹智芯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1