专利名称:韧体更新方法
技术领域:
本发明是有关于一种通用串行总线(Universal serial bus, USB)外围设备的韧体更新方法,且特别是有关于一种可同时 更新多个通用串行总线外围设备的韧体的韧体更新方法。
背景技术:
通用串行总线(Universal serial bus, USB)储存装置的韧 体,当因生产问题导致错误,或因韧体过时等种种因素,可能 需要进行更新。当USB储存装置的韧体需进行更新时,是以传 统韧体更新方法来更新USB储存装置的韧体。应用传统韧体更 新方法,工厂操作员 一次仅能对一个USB储存装置进行更新。 然而,当需要大量更新USB储存装置时,上述传统韧体更新方 法十分耗时,使得生产效率大大降低。
发明内容
本发明提出一种韧体更新方法,用于一多线程(Multi-thread)的4喿作系统,用以更新多个通用串行总线(Universal serial bus, USB)外围设备的韧体,包括(a)侦测所述通用 串行总线外围设备;(b)取得所述通用串行总线外围设备的管 线(pipe)控制权;以及(c)更新所述通用串行总线外围设备 的韧体。
本发明另提出一种韧体更新方法,用于一多线程(Multi -thread)的操作系统,用以更新多个通用串行总线(Universal serial bus, USB)外围设备的韧体,包括(a)侦测所述通用 串行总线外围设备;(b)取得所述通用串行总线外围设备的管
线(pipe)控制权;(c)更新所述通用串行总线外围设备的韧 体;(d)判别各所述通用串行总线外围设备的韧体是否更新完 成;(e)重置所述通用串行总线外围设备中更新完成的通用串 行总线外围设备;(f)重新侦测所述更新完成的通用串行总线 外围设备;(g)取得所述更新完成的通用串行总线外围设备的 控制权;以及(h)读取并验证各所述更新完成的通用串行总线 外围设备中的韧体正确与否。
本发明所述的韧体更新方法,当需更新大量U S B外围设备 时,可大幅节省所需的更新时间。
图l绘示本发明实施例的韧体更新方法的流程图。
图2绘示本发明另 一 实施例的韧体更新方法的流程图。
具体实施例方式
为让本发明的上述内容能更明显易懂,下文特举 一 较佳实 施例,并配合所附图式,作详细说明如下。
图l绘示本发明实施例的韧体更新方法的流程图。此韧体更 新方法用于一多线程(Multi - thread )的才喿作系统,用以更新 多个通用串行总线(Universal serial bus, USB)外围设备的韧 体。本发明实施例的韧体更新方法是以用于窗口操作系统XP版 (Windows XP)为例。本发明实施例的韧体更新方法是以更新 USB储存装置,例如与非门快闪存储器(NAND flash),的韧体 为例作说明。
兹说明本发明实施例的韧体更新方法。请参考图l。首先, 在步骤110中,侦测USB外围设备。对于每个USB外围设备,当 其插入(plug- in)时,窗口操作系统会透过USB外围设备的控
制端点(control endpoint)来侦测并辨识出USB外围设备。在 本发明实施例中,窗口操作系统会辨识出此USB外围设备为 USB储存装置。
之后,在步骤120中,取得USB外围设备的管线(pipe)控 制权。在本发明实施例中,使用 一窗口驱动才莫型(Windows driver model, WDM) ^f氐阶过滤驱动程序(WDM lower filter driver ) 来取得U S B外围设备的控制权。
由于窗口操作系统在侦测到所插入的USB外围设备后,即 会将USB外围设备的管线(pipe)控制权交至窗口操作系统的 对应的内建驱动程序,由此内建驱动程序来控制USB储存装置。 如此一来,便无法更新USB外围设备的韧体。
因此,在本发明实施例中,当窗口操作系统一侦测出所插 入的USB外围设备后,在窗口操作系统的内建驱动程序取得 USB外围设备的管线控制权之前,即使用上述低阶过滤驱动程 序来拉截取得USB外围设备的管线控制权。在本发明实施例中, 此管线即为USB储存装置在收送数据(bulk in / bulk out)时所 使用的管线。
对于每个USB外围设备,在上述低阶过滤驱动程序取得其 管线控制权后,始得以更新其韧体。在步骤130中,更新USB 外围设备的韧体。由于窗口操作系统为多线程操作系统,因此 本发明实施例的韧体更新方法可设计为以多线程方式,执行步 骤110至130。
如此一来,本发明实施例的韧体更新方法,可以同时更新 多个USB外围设备的韧体。当需大量更新USB外围设备的韧体 时,本发明实施例的韧体更新方法可大幅节省时间。
在对USB外围设备进行韧体更新之后,本发明实施例的韧 体更新方法更可用以验证USB外围设备更新过后的韧体数据是
否正确。在步骤140中,若USB外围设备的韧体更新完成,重置 USB外围设备。当USB外围设备的韧体更新完成后,USB夕卜围 设备的已更新过的韧体对USB外围设备本身进行重置。
之后,在步骤150中,重新侦测USB外围设备。同样地, USB外围设备进行重置后,窗口操作系统会透过USB外围设备 的控制端点来侦测并辨识出USB外围^殳备。
在步骤160中,同样地,重新取得USB外围设备的控制权。 在本发明实施例中,同样使用WDM低阶过滤驱动程序来取得 USB外围设备的控制权。在窗口操作系统的内建驱动程序取得 USB外围设备的管线控制权之前,即使用上述低阶过滤驱动程 序来拦截取得USB外围设备的管线控制权。
在上述低阶过滤驱动程序取得USB外围设备的管线控制权 后,始得以读取USB外围设备的韧体的数据。在步骤170中,读 取并验证USB外围i殳备的韧体数据正确与否。在本发明实施例 中,比对由USB外围设备取得的更新后的韧体数据与于步骤130 写入的韧体数据是否相同,进而验证USB外围设备的更新后的 韧体数据正确与否。
图2绘示本发明另 一 实施例的韧体更新方法的流程图。在步 骤210中,侦测多个USB外围设备,例如是USB储存装置。在步 骤220中,取得USB外围设备的管线控制权。在步骤230中,更 新USB外围设备的韧体。在步骤240中,分别判断USB外围设备 的韧体是否更新完成。
对于韧体更新完成的USB外围设备,确认其更新之后的韧 体是否正确。在步骤250中,重置更新完成的USB外围设备。步 骤260中,重新侦测更新完成的USB外围设备。在步骤270中, 取得更新完成的USB外围设备的控制权。在步骤280中,读取并 验证各个更新完成的USB储存装置中的韧体正确与否。
外围设备,以及在步骤280中判断为更新韧体错误的USB储存装 置,显示其为韧体更新失败。对于更新完成、且更新后的韧体 为正确的USB储存装置,即表示其为韧体更新成功。
上述两实施例的USB储存装置为SST ( 39VF010 ) - multi - purpose flash。
上述两实施例的韧体更新方法是以用于窗口操作系统XP 版为例。实际应用上,可以用于任何支持多线程的操作系统, 例如LINUX或其它版本的窗口操作系统。
上述两实施例的韧体更新方法虽以更新USB储存装置为 例,实际应用上并不限于此。任何USB外围设备,例如USB视 频摄影机(web - cam )、 USB打印机,均可使用本发明实施例
的韧体更新方法,以多线程方式进行韧体更新。
由于窗口 ^!乘作系统为多线程操作系统,因此上述两实施例
的韧体更新方法可设计为以分时多工的多线程方式来执行。因 此,应用本发明实施例的韧体更新方法,可同时对多个USB外 围设备进行韧体更新,并验证更新后的韧体数据正确与否。当 需更新大量USB外围设备时,本发明实施例的韧体更新方法, 可大幅节省所需的更新时间。
以上所述仅为本发明较佳实施例,然其并非用以限定本发 明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神 和范围内,可在此基础上做进一步的改进和变化,因此本发明 的保护范围当以本申请的权利要求书所界定的范围为准。
权利要求
1.一种韧体更新方法,用于一多线程的操作系统,用以更新多个通用串行总线外围设备的韧体,其特征在于,包括步骤一侦测所述通用串行总线外围设备;步骤二取得所述通用串行总线外围设备的管线控制权;以及步骤三更新所述通用串行总线外围设备的韧体。
8. 根据权利要求7所述的韧体更新方法,其特征在于,在 步骤四后,更包括显示未更新完成的通用串行总线外围设备为韧体更新失败。
9. 根据权利要求7所述的韧体更新方法,其特征在于,在 步骤八之后,更包括显示更新后韧体错误的通用串行总线外围设备为韧体更新失败。
10. 根据权利要求7所述的韧体更新方法,其特征在于,步 骤 一 至步骤七均以多线程方式执行。
11. 根据权利要求7所述的韧体更新方法,其特征在于,所 述通用串行总线外围设备为通用串行总线储存装置。
12. 根据权利要求ll所述的韧体更新方法,其特征在于, 所述通用串行总线储存装置为一与非门快闪存储器。
全文摘要
本发明提供一种韧体更新方法,用于一多线程的操作系统,用以更新多个通用串行总线外围设备的韧体。此韧体更新方法包括首先,侦测USB外围设备。接着,取得USB外围设备的管线控制权。之后,更新USB外围设备的韧体。本发明所述的韧体更新方法,当需更新大量USB外围设备时,可大幅节省所需的更新时间。
文档编号G06F13/10GK101110040SQ20071014807
公开日2008年1月23日 申请日期2007年9月5日 优先权日2007年9月5日
发明者许晋嘉 申请人:威盛电子股份有限公司