一种芯片的固件更新的方法及系统的制作方法

文档序号:9787182阅读:560来源:国知局
一种芯片的固件更新的方法及系统的制作方法
【技术领域】
[0001]本发明涉及固件更新领域,特别是一种利用系统控制总线的芯片的固件更新方法及系统。
【背景技术】
[0002]集成芯片或转换芯片中通常需要配置固件来运行,对于固件的升级或更新主要是通过将硬件连接治具的方法来实现,这种方法通常需要相应的治具,还需要拆解系统,比较麻烦且不方便;另外,对于具有AUX接口的显示芯片,还可以通过AUX来进行升级,但是这种实现方式通常需要CPU的AUX接口的原始代码,且实现过程比较复杂。

【发明内容】

[0003]本发明所要解决的技术问题是提供一种系统控制总线SMBUS实现芯片的固件更新的方法及系统。
[0004]为了解决上述技术问题,本发明采用了如下技术方案:
[0005]—种芯片的固件更新的方法,读取所述芯片的固件版本信息,并根据该信息更新所述固件。
[0006]其中,CPU通过系统控制总线与所述芯片建立数据连接,并且
[0007]向所述芯片发送读取其内固件版本信息的指令;
[0008]并根据其接收的固件版本信息选择向所述芯片发送该芯片的固件更新数据,以更新所述固件。
[0009]其中,所述CPU将其读取的固件版本信息与最新的固件版本信息作比较,当其读取的固件版本低于所述最新的固件版本时,向所述芯片发送对应于最新的固件版本信息的固件更新数据。
[0010]其中,所述CPU还向所述芯片发送与所述固件更新数据相对应的校验码,以验证传输至所述芯片的固件更新数据运算算法。
[0011]其中,所述芯片利用运算算法对其接收到的固件更新数据进行运算,并将运算结果与所述校验码比较,并根据比较结果判断其接收到的固件更新数据是否准确;
[0012]当所述运算结果与所述校验码存在差异时,所述芯片向CPU发送重新发送数据的请求。
[0013]其中,所述CPU还向所述芯片发送所述固件更新数据的数据长度。
[0014]其中,所述CPU将所述固件更新数据分割成至少2个数据块进行发送,并分别发送每个所述数据块的数据长度。
[0015]本发明还提供了一种采用上述固件更新方法的芯片固件更新系统,其包括:处理器,其配置为读取所述芯片的固件版本信息,并根据该信息更新所述固件。
[0016]其中,还包括数据连接所述处理器和芯片的系统控制总线,其中,所述处理器进一步配置为通过系统控制总线与所述芯片建立数据连接,并且包括:
[0017]发送模块,其配置为向所述芯片发送读取其内固件版本信息的指令;
[0018]接收模块,其配置为接收所述芯片固件版本信息;
[0019]更新模块,其配置为根据所述接收模块接收的固件版本信息选择向所述芯片发送该芯片的固件更新数据,以更新所述固件。
[0020]其中,所述系统控制总线为与所述处理器连接且用于读取系统内存的系统控制总线与现有技术相比,本发明的有益效果在于:
[0021]1、本发明中的芯片的固件更新方法和系统,通过利用系统控制总线来进行数据的传输和通信,以实现芯片内的固件的更新和升级,该方法不需要外接治具也不要更改AUX接口的原始代码,实现方便且简单;
[0022]2、本发明的更新方法和系统还可以通过发送校验码,以验证所传输的数据的安全性,保证芯片所接收到的固件更新数据的准确程度,提高了系统的安全性。
【附图说明】
[0023]图1为本发明实施例一的芯片的固件更新的方法的流程图;
[0024]图2为本发明实施例二的芯片的固件更新的方法的流程图;
[0025]图3为本发明实施例的芯片的固件更新的系统的结构框图。
【具体实施方式】
[0026]下面结合附图和具体实施例对本发明作进一步详细描述,但不作为对本发明的限定。
[0027]本发明实施例提供的芯片的固件更新方法,通过读取芯片的固件版本信息,并根据该信息更新芯片的固件。
[0028]如图1所示,为本发明的实施例一的芯片的固件更新的方法的流程图。其中,该更新方法可以包括以下步骤:
[0029]S1:在开机的状态下,CPU通过系统控制总线SMBUS与芯片建立数据连接,本实施例中SMBUS还可以读取系统的内存的存储状态等数据,也就是说,本实施例中的系统控制总线SMBUS可以是与CPU连接且用于读取系统内存的系统控制总线,以实现节省资源的效果。
[0030]S2:CPU通过系统控制总线向芯片发送读取其固件版本信息的指令;
[0031]S3:芯片根据其接收到指令将其内的固件的版本信息发送至CPU;
[0032]S4:CPU读取该芯片发送的固件版本信息,并将其读取的固件版本信息与最新的固件版本信息作比较,当其读取的固件版本低于所述最新的固件版本时,向所述芯片发送对应于最新的固件版本信息的固件更新数据;
[0033]S5:芯片根据接收到的固件更新数据更新其内的固件,以实现固件的更新和升级。
[0034]在一优选的实施例中,如图2所示,CPU还可以向芯片发送关于固件更新数据的长度的信息,以便芯片接收数据并验证数据的接收完成和准确性,其中,当所要发送的固件更新数据的数据量较大时,CPU还可以将该数据分割成多个(至少两组)数据块进行发送,以提高数据的传输速度和效率,同样的,也可以分别发送每组数据块的数据长度。
[0035]图2为本发明实施例二的芯片的固件更新的方法的流程图,如图2所示,其中,该更新方法可以包括以下步骤:
[0036]S1:在开机的状态下,CPU通过系统控制总线SMBUS与芯片建立数据连接,本实施例中SMBUS还可以读取系统的内存的存储状态等数据,也就是说,本实施例中的系统控制总线SMBUS可以是与CPU连接且用于读取系统内存的系统控制总线,以实现节省资源的效果。
[0037]S2:CPU通过系统控制总线向芯片发送读取其固件版本信息的指令;
[0038]S3:芯片根据其接收到指令将其内的固件的版本信息发送至CPU;
[0039]S4:CPU读取该芯片发送的固件版本信息,并将其读取的固件版本信息与最新的固件版本信息作比较,当其读取的固件版本低于所述最新的固件版本时,向所述芯片发送对应于最新的固件版本信息的固件更新数据;
[0040]S5:CPU在发送固件更新数据后,还可以向芯片发送与固件更新数据相对应的校验码,该校验码为通过一运算算法对发送的固件更新数据或数据块运算而得到的。该校验码用于验证传输至芯片的数据的准确性和成功率;
[0041]S6:芯片利用运算算法对其接收到的固件更新数据进行运算,并将运算结果与其接收的校验码做比较,并根据比较结果判断
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1