CN101110040A - 韧体更新方法 - Google Patents
韧体更新方法 Download PDFInfo
- Publication number
- CN101110040A CN101110040A CNA2007101480716A CN200710148071A CN101110040A CN 101110040 A CN101110040 A CN 101110040A CN A2007101480716 A CNA2007101480716 A CN A2007101480716A CN 200710148071 A CN200710148071 A CN 200710148071A CN 101110040 A CN101110040 A CN 101110040A
- Authority
- CN
- China
- Prior art keywords
- peripherals
- usb
- serial bus
- universal serial
- firmware
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明提供一种韧体更新方法,用于一多线程的操作系统,用以更新多个通用串行总线外围设备的韧体。此韧体更新方法包括:首先,侦测USB外围设备。接着,取得USB外围设备的管线控制权。之后,更新USB外围设备的韧体。本发明所述的韧体更新方法,当需更新大量USB外围设备时,可大幅节省所需的更新时间。
Description
技术领域
本发明是有关于一种通用串行总线(Universal serial bus,USB)外围设备的韧体更新方法,且特别是有关于一种可同时更新多个通用串行总线外围设备的韧体的韧体更新方法。
背景技术
通用串行总线(Universal serial bus,USB)储存装置的韧体,当因生产问题导致错误,或因韧体过时等种种因素,可能需要进行更新。当USB储存装置的韧体需进行更新时,是以传统韧体更新方法来更新USB储存装置的韧体。应用传统韧体更新方法,工厂操作员一次仅能对一个USB储存装置进行更新。然而,当需要大量更新USB储存装置时,上述传统韧体更新方法十分耗时,使得生产效率大大降低。
发明内容
本发明提出一种韧体更新方法,用于一多线程(Multi-thread)的操作系统,用以更新多个通用串行总线(Universalserial bus,USB)外围设备的韧体,包括:(a)侦测所述通用串行总线外围设备;(b)取得所述通用串行总线外围设备的管线(pipe)控制权;以及(c)更新所述通用串行总线外围设备的韧体。
本发明另提出一种韧体更新方法,用于一多线程(Multi-thread)的操作系统,用以更新多个通用串行总线(Universalserial bus,USB)外围设备的韧体,包括:(a)侦测所述通用串行总线外围设备;(b)取得所述通用串行总线外围设备的管线(pipe)控制权;(c)更新所述通用串行总线外围设备的韧体;(d)判别各所述通用串行总线外围设备的韧体是否更新完成;(e)重置所述通用串行总线外围设备中更新完成的通用串行总线外围设备;(f)重新侦测所述更新完成的通用串行总线外围设备;(g)取得所述更新完成的通用串行总线外围设备的控制权;以及(h)读取并验证各所述更新完成的通用串行总线外围设备中的韧体正确与否。
本发明所述的韧体更新方法,当需更新大量USB外围设备时,可大幅节省所需的更新时间。
附图说明
图1绘示本发明实施例的韧体更新方法的流程图。
图2绘示本发明另一实施例的韧体更新方法的流程图。
具体实施方式
为让本发明的上述内容能更明显易懂,下文特举一较佳实施例,并配合所附图式,作详细说明如下。
图1绘示本发明实施例的韧体更新方法的流程图。此韧体更新方法用于一多线程(Multi-thread)的操作系统,用以更新多个通用串行总线(Universal serial bus,USB)外围设备的韧体。本发明实施例的韧体更新方法是以用于窗口操作系统XP版(Windows XP)为例。本发明实施例的韧体更新方法是以更新USB储存装置,例如与非门快闪存储器(NAND flash),的韧体为例作说明。
兹说明本发明实施例的韧体更新方法。请参考图1。首先,在步骤110中,侦测USB外围设备。对于每个USB外围设备,当其插入(plug-in)时,窗口操作系统会透过USB外围设备的控制端点(control endpoint)来侦测并辨识出USB外围设备。在本发明实施例中,窗口操作系统会辨识出此USB外围设备为USB储存装置。
之后,在步骤120中,取得USB外围设备的管线(pipe)控制权。在本发明实施例中,使用一窗口驱动模型(Windows drivermodel,WDM)低阶过滤驱动程序(WDM lower filter driver)来取得USB外围设备的控制权。
由于窗口操作系统在侦测到所插入的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外围设备的韧体数据正确与否。在本发明实施例中,比对由USB外围设备取得的更新后的韧体数据与于步骤130写入的韧体数据是否相同,进而验证USB外围设备的更新后的韧体数据正确与否。
图2绘示本发明另一实施例的韧体更新方法的流程图。在步骤210中,侦测多个USB外围设备,例如是USB储存装置。在步骤220中,取得USB外围设备的管线控制权。在步骤230中,更新USB外围设备的韧体。在步骤240中,分别判断USB外围设备的韧体是否更新完成。
对于韧体更新完成的USB外围设备,确认其更新之后的韧体是否正确。在步骤250中,重置更新完成的USB外围设备。步骤260中,重新侦测更新完成的USB外围设备。在步骤270中,取得更新完成的USB外围设备的控制权。在步骤280中,读取并验证各个更新完成的USB储存装置中的韧体正确与否。
在步骤290中,对于在步骤240中判断为未更新完成的USB外围设备,以及在步骤280中判断为更新韧体错误的USB储存装置,显示其为韧体更新失败。对于更新完成、且更新后的韧体为正确的USB储存装置,即表示其为韧体更新成功。
上述两实施例的USB储存装置为SST(39VF010)-multi-purpose flash。
上述两实施例的韧体更新方法是以用于窗口操作系统XP版为例。实际应用上,可以用于任何支持多线程的操作系统,例如LINUX或其它版本的窗口操作系统。
上述两实施例的韧体更新方法虽以更新USB储存装置为例,实际应用上并不限于此。任何USB外围设备,例如USB视频摄影机(web-cam)、USB打印机,均可使用本发明实施例的韧体更新方法,以多线程方式进行韧体更新。
由于窗口操作系统为多线程操作系统,因此上述两实施例的韧体更新方法可设计为以分时多工的多线程方式来执行。因此,应用本发明实施例的韧体更新方法,可同时对多个USB外围设备进行韧体更新,并验证更新后的韧体数据正确与否。当需更新大量USB外围设备时,本发明实施例的韧体更新方法,可大幅节省所需的更新时间。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。
Claims (12)
1.一种韧体更新方法,用于一多线程的操作系统,用以更新多个通用串行总线外围设备的韧体,其特征在于,包括:
步骤一:侦测所述通用串行总线外围设备;
步骤二:取得所述通用串行总线外围设备的管线控制权;以及
步骤三:更新所述通用串行总线外围设备的韧体。
2.根据权利要求1所述的韧体更新方法,其特征在于,步骤一至步骤三均以多线程方式来执行。
3.根据权利要求1所述的韧体更新方法,其特征在于,该方法更包括:
步骤四:若所述通用串行总线外围设备的韧体更新完成,重置所述通用串行总线外围设备;
步骤五:重新侦测所述通用串行总线外围设备;
步骤六:取得所述通用串行总线外围设备的控制权;以及
步骤七:读取并验证所述通用串行总线外围设备更新后的韧体正确与否。
4.根据权利要求3所述的韧体更新方法,其特征在于,步骤一至步骤七均以多线程方式执行。
5.根据权利要求1所述的韧体更新方法,其特征在于,所述通用串行总线外围设备为通用串行总线储存装置。
6.根据权利要求5所述的韧体更新方法,其特征在于,所述通用串行总线储存装置为一与非门快闪存储器。
7.一种韧体更新方法,用于一多线程的操作系统,用以更新多个通用串行总线外围设备的韧体,其特征在于,包括:
步骤一:侦测所述通用串行总线外围设备;
步骤二:取得所述通用串行总线外围设备的管线控制权;
步骤三:更新所述通用串行总线外围设备的韧体;
步骤四:判别各所述通用串行总线外围设备的韧体是否更新完成;
步骤五:重置所述通用串行总线外围设备中更新完成的通用串行总线外围设备;
步骤六:重新侦测所述更新完成的通用串行总线外围设备;
步骤七:取得所述更新完成的通用串行总线外围设备的控制权;以及
步骤八:读取并验证各所述更新完成的通用串行总线外围设备中的韧体正确与否。
8.根据权利要求7所述的韧体更新方法,其特征在于,在步骤四后,更包括:
显示未更新完成的通用串行总线外围设备为韧体更新失败。
9.根据权利要求7所述的韧体更新方法,其特征在于,在步骤八之后,更包括:
显示更新后韧体错误的通用串行总线外围设备为韧体更新失败。
10.根据权利要求7所述的韧体更新方法,其特征在于,步骤一至步骤七均以多线程方式执行。
11.根据权利要求7所述的韧体更新方法,其特征在于,所述通用串行总线外围设备为通用串行总线储存装置。
12.根据权利要求11所述的韧体更新方法,其特征在于,所述通用串行总线储存装置为一与非门快闪存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101480716A CN100514293C (zh) | 2007-09-05 | 2007-09-05 | 韧体更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101480716A CN100514293C (zh) | 2007-09-05 | 2007-09-05 | 韧体更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101110040A true CN101110040A (zh) | 2008-01-23 |
CN100514293C CN100514293C (zh) | 2009-07-15 |
Family
ID=39042121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101480716A Active CN100514293C (zh) | 2007-09-05 | 2007-09-05 | 韧体更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100514293C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901152A (zh) * | 2009-06-01 | 2010-12-01 | 杨良海 | 一种内容批量更新技术的方法 |
CN104239097A (zh) * | 2014-09-03 | 2014-12-24 | 广东欧珀移动通信有限公司 | 一种通过移动终端升级配件的方法、系统及移动终端 |
CN107977241A (zh) * | 2016-10-20 | 2018-05-01 | 英业达科技有限公司 | 用于计算机测试的自动化程序部署系统与方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI486876B (zh) | 2013-07-29 | 2015-06-01 | Hon Hai Prec Ind Co Ltd | 更新週邊設備的連接管理程式的方法及主機 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1540497A (zh) * | 2003-04-21 | 2004-10-27 | 矽成积体电路股份有限公司 | Usb装置韧体程式可更新的方法 |
CN1622038A (zh) * | 2005-01-07 | 2005-06-01 | 北京北大方正电子有限公司 | 一种通过因特网对打印设备进行自动升级的方法 |
-
2007
- 2007-09-05 CN CNB2007101480716A patent/CN100514293C/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901152A (zh) * | 2009-06-01 | 2010-12-01 | 杨良海 | 一种内容批量更新技术的方法 |
CN104239097A (zh) * | 2014-09-03 | 2014-12-24 | 广东欧珀移动通信有限公司 | 一种通过移动终端升级配件的方法、系统及移动终端 |
CN104239097B (zh) * | 2014-09-03 | 2018-01-16 | 广东欧珀移动通信有限公司 | 一种通过移动终端升级配件的方法、系统及移动终端 |
CN107977241A (zh) * | 2016-10-20 | 2018-05-01 | 英业达科技有限公司 | 用于计算机测试的自动化程序部署系统与方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100514293C (zh) | 2009-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100514293C (zh) | 韧体更新方法 | |
CN104965725B (zh) | 一种基于sd卡的嵌入式设备全自动固件烧写方法 | |
CN1491344A (zh) | 用于汽车检修的公共平台 | |
US8036786B2 (en) | On-vehicle control apparatus | |
CN102945173A (zh) | 用户程序在线升级系统和升级方法 | |
CN104598279A (zh) | 基于飞行控制器的固件升级方法和装置 | |
CN103577201A (zh) | 嵌入式双系统的更新方法及系统 | |
CN103744712A (zh) | 一种应用程序的更新方法及装置 | |
CN103135941A (zh) | 嵌入式存储器的管理方法、嵌入式存储器及电子设备 | |
CN111190621A (zh) | 固件烧录方法、装置、系统、终端设备及存储介质 | |
CN107220009B (zh) | 一种不同厂家raid卡状态信息的统一获取方法和装置 | |
CN111782246A (zh) | 基于总线的多节点设备嵌入式程序升级方法 | |
CN102968089B (zh) | 可编程逻辑控制器及实现方法 | |
US6904484B1 (en) | Low pin count (LPC) firmware hub recovery | |
US6301656B1 (en) | Method and apparatus for initial programming of flash based firmware | |
CN112445670B (zh) | 一种eMMC测试方法和装置 | |
CN110134423B (zh) | 固件的更新方法、装置及计算机可读存储介质 | |
CN103336699A (zh) | 嵌入式系统软件的升级方法和装置 | |
CN108399077B (zh) | 一种控制系统中的下位机升级方法及控制系统 | |
CN106843768B (zh) | 硬盘数据擦除方法和装置 | |
CN102135896A (zh) | 一种基于嵌入式系统实现软件升级的方法和系统 | |
CN111552498B (zh) | 一种实现显示屏的屏参升级的方法及系统 | |
CN104503789A (zh) | 版本更新的控制方法和ict设备 | |
CN1294489C (zh) | 单片机程序升级方法 | |
CN102147745B (zh) | 一种系统数据初始化的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |