一种CPLD固件的自动更新方法技术

技术编号:35900791 阅读:12 留言:0更新日期:2022-12-10 10:36
本发明专利技术提供一种CPLD固件的自动更新方法,可自动对CPLD固件进行筛选,匹配正确的CPLD固件,也可让客户选择在服务器空闲时间段进行更新,并且通过更新机制里面新增对CPLD版本的选取,自动更新程序可自行判断适配的CPLD固件,更加适用于不同的客户和主板,设置了对CPLD固件内置安全标志的查验,避免误刷。本发明专利技术提高了大规模更新CPLD固件时的效率,比使用烧录治具操作方便简洁,无需人员在服务器部署现场参与固件更新整个过程,有效减少客户的运营成本,可适用于大量客户机系统同时参与自动升级,适用面更广,及时自动更新也可使用户在第一时间体验新功能。一时间体验新功能。一时间体验新功能。

【技术实现步骤摘要】
一种CPLD固件的自动更新方法


[0001]本专利技术涉及电数字数据处理
,具体涉及一种CPLD固件的自动更新方法。

技术介绍

[0002]CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是从PAL和GAL等逻辑器件的基础上发展起来的,相对而言规模大,结构复杂,属于大规模集成电路范围。CPLD可让设备做出相应的调整以支持多种协议,并随着标准和协议的演变而改变功能。这为系统设计人员带来很大的方便,因为在标准尚未完全成熟之前他们就可以着手进行硬件设计,然后再修改代码以满足最终标准的要求。CPLD的速度和延迟特性比纯软件方案更好,这使得很多能用软件实现的逻辑都尽可能多的使用CPLD来处理,同时也意味着对于CPLD固件的更新也会更加频繁。
[0003]目前CPLD固件更新方法:
[0004](1)通过治具本地更新CPLD
[0005]通过直接将芯片放在烧录治具的插座里进行脱机烧录,操作简单,但反复插拔焊接CPLD芯片,容易造成芯片损害。
[0006](2)通过下载器在线更新CPLD
[0007]通过下载电缆与标准USB PC端口连接,进行在线烧录,相比烧录治具要快捷,但需要电路板预留JTAG针脚,且必须有下载器,步骤繁琐,工具复杂。
[0008](3)系统本地在线更新CPLD
[0009]通过JTAG口对CPLD执行更新操作,节省了治具,下载器等的费用,但该方法只能用于在现场一对一进行升级,效率不高。
[0010](4)远程更新CPLD
[0011]用户通过固件更新工具,远程对CPLD下指令进行更新,解决了只能现场更新CPLD的弊端,但是仍然需要人工干预依次对不同客户机系统下指令升级,效率还是比较低。
[0012]当大量的主机板的CPLD功能更新后,现有技术可以实现用户自行远程的对CPLD固件进行更新,但面对大量的主机板,效率仍然没有得到有效提升,只能一对一下指令;且面对各类型号主机板,不同的客户,对应的CPLD固件十分繁杂,需要人工搜索确认待升级的CPLD固件,容易造成误刷,甚至导致主机板损坏;又CPLD功能更新后,用户往往没有第一时间得知,尽快的体验更新带来的新功能,如果主机板能够自动检测服务器目前CPLD是否更新,且根据配置好的更新规则自行匹配对应的CPLD固件,自动进行CPLD更新操作,则可以实现无需人工干预,并行的大量更新主机板,提高效率,提升用户使用感。
[0013]因此,亟需一种CPLD固件的自动更新方法。

技术实现思路

[0014]本专利技术是为了解决CPLD的更新效率问题,提供一种CPLD固件的自动更新方法,通过在更新机制里新增对CPLD版本的选取,自动更新程序可自行判断适配的CPLD固件,更加
适用于不同的客户和主板,同时设置了对CPLD固件内置安全标志的查验,避免误刷,而且还可让客户选择在服务器空闲时间段进行更新。本专利技术提高了大规模更新CPLD固件时的效率,比使用烧录治具操作方便简洁,无需人员在服务器部署现场参与固件更新整个过程,有效减少客户的运营成本,可适用于大量客户机系统同时参与自动升级,适用面更广,及时自动更新也可使用户在第一时间体验新功能。
[0015]本专利技术提供一种CPLD固件的自动更新方法,包括以下步骤:
[0016]S1、用户配置自动更新规则,自动更新规则包括是否开启自动更新功能,如果用户选择是,进入步骤S2,如果用户选择否,不进行自动更新;
[0017]S2、客户机系统上电后运行自动更新进程,自动更新进程包括:固件获取进程、固件解析进程和固件更新进程;
[0018]S3、固件获取进程开始运行,客户机系统向CPLD远端服务器获取包含固件更新信息的release文件并对release文件进行解析,判断是否需要进行CPLD固件更新,如果是,则进入步骤S4,如果否,则重新获取release文件;
[0019]S4、固件获取进程根据CPLD远端服务器的IP地址从CPLD远端服务器下载当前最新的新版本CPLD固件并保存在客户机系统的可读写存储器存放CPLD固件位置,固件获取进程完成;
[0020]S5、客户机系统检查新版本CPLD固件的是否完整,如果是,进入步骤S6;如果否,则移除新版本CPLD固件,返回步骤S4;
[0021]如果累计三次均为否,则将新版本CPLD固件加入自动更新规则黑名单中,返回步骤S3;
[0022]S6、所述固件解析进程启动,所述固件解析进程解析所述新版本CPLD固件并判断是否进行固件更新,如果是,进入步骤S7,如果否,则将新版本CPLD固件的版本号加入自动更新规则黑名单中,并移除保存在可读写存储器中的新版本CPLD固件,返回步骤S3;
[0023]S7、如果用户在自动更新规则中选择开启更新前通知用户功能,则客户机系统运行固件更新进程并告知用户已下载新版本CPLD固件;判断客户是否选择自行更新,如果是,则将新版本CPLD固件的版本号加入自动更新规则黑名单中,返回步骤S3;如果否,进入步骤S8;
[0024]S8、固件解析进程对新版本CPLD固件进行解析,通过固件更新电路获取本地CPLD芯片信息,并判断新版本CPLD固件是否可用于进行本地CPLD芯片的更新,如果是,则进入步骤S9,固件解析进程完成;如果否,则将新版本CPLD固件的版本号加入自动更新规则黑名单中,并移除保存在可读写存储器中的新版本CPLD固件,返回步骤S3;
[0025]S9、固件更新进程运行,固件更新进程判断客户机系统是否空闲,如果是,则将更新状态设置为开启,进入步骤S10,如果否,则将更新状态设置为等待,继续判断客户机系统是否空闲,直至述客户机系统空闲;
[0026]S10、固件更新进程将步骤S8解析后的固件数据通过固件更新电路写入本地CPLD芯片,进行更新并返回固件更新响应信息,固件更新进程判断更新响应是否为成功,如果是,则继续更新,如果否,则重新执行固件更新电路写入并开始计数,并继续判断更新响应是否为成功;当成功更新响应信息累计三次为否,则将新版本CPLD固件的版本号加入自动更新规则黑名单中;
[0027]如果用户在自动更新规则中选择更新消息发送时,通知用户CPLD固件更新失败;
[0028]返回步骤S3;
[0029]S11、自动更新进程通过固件更新电路读取本地CPLD芯片更新后的CPLD固件版本,并确认是否为新版本CPLD固件的版本;
[0030]如果用户在自动更新规则中选择更新消息发送时,通知用户当前版本CPLD固件的自动更新完成;
[0031]返回步骤S3,继续进行自动更新。
[0032]本专利技术所述的一种CPLD固件的自动更新方法,作为优选方式,步骤S5和步骤S6之间还包括步骤SⅠ:
[0033]SⅠ、固件解析进程启动,固件解析进程解析新版本CPLD固件内置的安全标志并判断安全标志是否正确,如果是,则进入步骤S6;如果否,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种CPLD固件的自动更新方法,其特征在于:包括以下步骤:S1、用户配置自动更新规则,所述自动更新规则包括是否开启自动更新功能,如果用户选择是,进入步骤S2,如果用户选择否,不进行自动更新;S2、客户机系统上电后运行自动更新进程,所述自动更新进程包括:固件获取进程、固件解析进程和固件更新进程;S3、所述固件获取进程开始运行,所述客户机系统向CPLD远端服务器获取包含固件更新信息的release文件并对release文件进行解析,判断是否需要进行CPLD固件更新,如果是,则进入步骤S4,如果否,则重新获取release文件;S4、所述固件获取进程根据所述CPLD远端服务器的IP地址从所述CPLD远端服务器下载当前最新的新版本CPLD固件并保存在所述客户机系统的可读写存储器存放CPLD固件位置,所述固件获取进程完成;S5、所述客户机系统检查所述新版本CPLD固件的是否完整,如果是,进入步骤S6;如果否,则移除所述新版本CPLD固件,返回步骤S4;如果累计三次均为否,则将所述新版本CPLD固件加入自动更新规则黑名单中,返回步骤S3;S6、所述固件解析进程启动,所述固件解析进程解析所述新版本CPLD固件并判断是否进行固件更新,如果是,进入步骤S7,如果否,则将所述新版本CPLD固件的版本号加入所述自动更新规则黑名单中,并移除保存在所述可读写存储器中的所述新版本CPLD固件,返回步骤S3;S7、如果用户在所述自动更新规则中选择开启更新前通知用户功能,则所述客户机系统运行固件更新进程并告知用户已下载所述新版本CPLD固件;判断客户是否选择自行更新,如果是,则将所述新版本CPLD固件的版本号加入所述自动更新规则黑名单中,返回步骤S3;如果否,进入步骤S8;S8、所述固件解析进程对所述新版本CPLD固件进行解析,通过固件更新电路获取本地CPLD芯片信息,并判断所述新版本CPLD固件是否可用于进行所述本地CPLD芯片的更新,如果是,则进入步骤S9,固件解析进程完成;如果否,则将所述新版本CPLD固件的版本号加入所述自动更新规则黑名单中,并移除保存在所述可读写存储器中的所述新版本CPLD固件,返回步骤S3;S9、所述固件更新进程运行,所述固件更新进程判断所述客户机系统是否空闲,如果是,则将更新状态设置为开启,进入步骤S10,如果否,则将更新状态设置为等待,继续判断所述客户机系统是否空闲,直至所述客户机系统空闲;S10、所述固件更新进程将步骤S8解析后的固件数据通过所述固件更新电路写入所述本地CPLD芯片,进行更新并返回固件更新响应信息,所述固件更新进程判断更新响应是否为成功,如果是,则继续更新,如果否,则重新执行固件更新电路写入并开始计数,继续判断更新响应是否为成功;当成功更新响应信息累计三次为否,则将所述新版本CPLD固件的版本号加入所述自动更新规则黑名单中;如果用户在所述自动更新规则中选择更新消息发送时,通知用户CPLD固件更新失败;...

【专利技术属性】
技术研发人员:万梦佳
申请(专利权)人:北京兴汉网际股份有限公司
类型:发明
国别省市:

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

1