可更新固件的电子装置及其固件下载方法

文档序号:9865258阅读:424来源:国知局
可更新固件的电子装置及其固件下载方法【
技术领域
】[0001]本发明有关于一种可更新固件的电子装置的固件下载方法;特别有关于一种可中断的固件下载方法。【
背景技术
】[0002]随着使用者的使用习惯以及使用需求的改变,愈来愈多的电子装置上,例如个人电脑、手持式(handheld)或可携式(portable)的电子装置例如智慧型手机(smartphone)、个人数位助理(PDA)、平板电脑(TabletPC)或超便携电脑(UMPC,UltraMobilePC)等,都配置有许多不同的周边以增加使用上的便利性。[0003]周边装置系统运作所需的固件程序数据一般会烧录在非易失性的储存单元当中,例如快闪只读存储器(FlashROM),并附随着硬件装置释出。然而,当周边装置释出后,为了修补程序中的缺陷、或为提供新增的服务或功能,制造者或研发者可能会提供新版本的程序,用以进行周边装置程序的更新或升级。在某些装置上,烧录程序的过程是不允许有中断的事件发生,否则会产生周边装置无法运作或者需要重新下载等问题。【
发明内容】[0004]本发明所提供的电子装置以及固件下载方法可在固件更新的过程中被中断。[0005]本发明提供一种固件下载方法,适用于一主机以及一周边装置,其中周边装置包括一存储器装置以及一控制器,包括:自主机传送一第一固件数据段至周边装置,其中第一固件数据段具有一第一模式参数;以及在存储器装置发生一中断事件后,重新自主机传送具有一第二模式参数的第一固件数据段至周边装置。[0006]在另一实施例中,固件下载方法还还包括藉由控制器读取所接收的第一固件数据段中的参数段,其中第一固件数据段中的参数段包括第一模式参数或者第二模式参数;将具有第一模式参数的第一固件数据段中的程序码段,储存至存储器装置;以及忽略具有第二模式参数的第一固件数据段中的程序码段。值得注意的是,第一固件数据段为多个固件数据段中之一者,每一固件数据段包括一程序码段以及一参数段,并且多个固件数据段中的程序码段用以构成一固件。在另一实施例中,每一固件数据段中的参数段还包括一固件版本参数、一模式参数、一索引、一控制器版本参数、一数据总量参数以及一校验参数。[0007]本发明亦提供另一种固件下载方法,适用于一主机以及一周边装置,其中周边装置包括一存储器装置以及一控制器,包括:自主机依序传送多个固件数据段至周边装置,其中N个固件数据段用以构成一固件,并且每一固件数据段具有一第一模式参数;以及当依序传送固件中的多个固件数据段至周边装置的过程在第M个固件数据段被中断后,重新依序传送第I个至第N个固件数据段至周边装置,其中N大于M,重新传送的第I个至第M-1个固件数据段具有一第二模式参数,并且重新传送的第M个至第N个固件数据段具有第一模式参数。[0008]在另一实施例中,固件下载方法还包括:藉由控制器读取所接收的固件数据段中的参数段,其中固件数据段中的参数段包括第一模式参数或者第二模式参数;将具有第一模式参数的固件数据段中的程序码段,依序储存至存储器装置;忽略具有第二模式参数的固件数据段中的程序码段;以及当依序传送固件中的多个固件数据段至周边装置的过程在第M个固件数据段被中断时,藉由主机,将第I个至第M-1个固件数据段中的第一模式参数改写为第二模式参数。[0009]本发明又提供一种可更新固件的电子装置包括一存储器装置以及一控制器。控制器用以自一主机依序接收用以构成一固件的多个固件数据段,读取所接收的固件数据段中的参数段,以将参数段中具有一第一模式参数的固件数据段中的程序码段储存至存储器装置,并忽略参数段中具有一第二模式参数的固件数据段中的程序码段,其中固件依序是由固件数据段中的程序码段所构成。[0010]在另一实施例中,控制器还用以读取所接收的固件数据段中的参数段,以根据参数段中的一索引,确认固件数据段的顺序,并依照固件数据段的顺序将固件数据段中的程序码段储存至存储器装置中所相应的位置。控制器还用以读取所接收的固件数据段中的参数段,以根据参数段中的一数据总量参数,确认固件的长度,并根据数据总量参数以及索引判断固件数据段是否已接收完毕。控制器还用以读取所接收的固件数据段中的参数段,以根据所接收的固件数据段的参数段中所具有的一第三模式参数,判断是否需要将所接收的固件数据段的程序码段储存至存储器装置。控制器还用以读取所接收的固件数据段中的参数段,以根据参数段中的一控制器版本参数确认控制器的版本是否正确,根据参数段中的一校验参数校验固件数据段中的程序码段,并根据参数段中的一固件版本参数确认固件的版本是否正确。【附图说明】[0011]图1是本发明的可更新固件的电子装置的一种实施例的方块图。[0012]图2是本发明的固件数据段的一种实施例的示意图。[0013]图3是本发明的固件的一种实施例的示意图。[0014]图4是本发明的固件下载方法的一种实施例的流程图。[0015]图5A、5B是本发明的固件下载方法的另一种实施例的流程图。[0016]图6A?6C是本发明的固件下载方法的另一种实施例的流程图。[0017]符号说明[0018]100电子装置;[0019]102主机;[0020]104周边装置;[0021]1042控制器;[0022]1044暂存器;[0023]1046存储器装置;[0024]DSl?DSN固件数据段;[0025]CSl?CSN程序码段;[0026]PSl?PSN参数段;[0027]Fff固件;[0028]S400-S636步骤。【具体实施方式】[0029]以下将详细讨论本发明各种实施例的装置及使用方法。然而值得注意的是,本发明所提供的许多可行的发明概念可实施在各种特定范围中。这些特定实施例仅用于举例说明本发明的装置及使用方法,但非用于限定本发明的范围。[0030]电子装置100包括一主机102以及一周边装置104。主机102可实施于各种电脑系统样态(configurat1n)上,例如桌上型电脑、笔记型电脑、智慧型手机、平板电脑、个人数位助理以及类似的设备,但本发明不限于此。周边装置104可内嵌于主机102之内或者藉由连接埠连接至主机102。另外,周边装置104可为感测装置、输出输入装置或者数据储存装置等等,本发明不限于此。在一实施例中,周边装置104可为一数据储存装置,其中数据储存装置是使用SATASPEC中的"DownloadMicroCode”的规则更新固件,故其不能在下载固件的过程中断电或者中断,但本发明不限于此。在其他实施例中,在更新周边装置104的过程中,固件需要依序的写入周边装置104。[0031]主机102用以经由网络或者其他装置下载周边装置104的固件(Firmware),并将所下载的固件传送至周边装置104,以更新周边装置104。值得注意的是,固件是由多个固件数据段DSl?DSN中的程序码段所构成的,并且主机102用以依序将多个固件数据段DSl?DSN传送至周边装置104,以更新周边装置104。另外,当一中断事件在第M个固件数据段DSl?DSN发生时,主机102还用以将第I个至第M-1个固件数据段DSl?DSN中的第一模式参数改写为第二模式参数,其中M小于N,并且M和N皆为大于I的整数。换言之,主机102会判断是否有一中断事件发生,并当中断事件发生时,将已传送至周边装置104的固件数据段中的模式参数设定为第二模式参数,其中中断事件可包括周边装置104断电、周边装置104脱离主机102、网络中断等事件,但本发明不限于此。另外,主机102还用以在中断事件后,将修改后的固件数据段DSl?DSN重新传送至周边装置104。举例而言,主机102可在中断事件发生后,检测中断事件是否结束以及与周边装置104的连结是否回复。当中断事件结束以及与周边装置104的连结回复时,主机102将修改后的固件数据段DSl?DSN重新传送至周边装置104,但本发明不当前第1页1 2 3 4 
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1