CN112256596B - 一种电子装置固件中讯号中继器的刷新方法 - Google Patents
一种电子装置固件中讯号中继器的刷新方法 Download PDFInfo
- Publication number
- CN112256596B CN112256596B CN202011149256.0A CN202011149256A CN112256596B CN 112256596 B CN112256596 B CN 112256596B CN 202011149256 A CN202011149256 A CN 202011149256A CN 112256596 B CN112256596 B CN 112256596B
- Authority
- CN
- China
- Prior art keywords
- signal repeater
- firmware
- value
- global variable
- electronic device
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Abstract
本发明提供一种电子装置固件中讯号中继器的刷新方法,不须系统重启即可运行,包括:取得一全局变量的一内存地址;将要被写入一讯号中继器中的一刷新值预存到全局变量的内存地址中;每隔一预定时间,比较讯号中继器的一真实值与全局变量中的刷新值是否一致,若是一致、则继续执行此步骤,若是不一致、则执行下一步骤;将讯号中继器的真实值替换成全局变量中的刷新值;以及,完成讯号中继器的刷新。
Description
技术领域
本发明涉及一种电子装置中的固件刷新技术,特别是涉及一种利用地址认知、直接进行固件刷新以避免系统重新启动的电子装置固件中讯号中继器的刷新方法。
背景技术
在当今数字时代中,各式的电子工具和设备在家庭和工作运用上无处不在,常见的有计算机、智能型手机、游戏机等等,这些电子设备可提供多样的帮助、计划与沟通,其运用范围从信息传播、工业制造甚至到娱乐事业。一般而言,维持这些电子装置的正常运行,以提供顺畅且无障碍的用户体验,是此类电子设备运用最重要的课题。通常此类电子装置在运行时,有时会同时包括多个程序(Programs),导致缓慢的操作速度,对用户体验产生负面影响。而解决此问题的常用方法就是更换需要升级的旧硬件部件,而一种更简单、更便利的方法就是更新(或称刷新)电子装置的固件(Firmware)。
固件是硬件上编码的软件,用于监视、控制或操纵电子组件的数据流通,通常保存在只读存储器(Read-Only Memory,ROM)、可抹除程序化只读存储器(ErasableProgrammable Read-Only Memory,EPROM)或闪存(Flash)之类的非易失性存储设备中。固件也可以定义为一组指令(通常称为“程序”),这些指令可以帮助设备完成其执行的任务,换句话说,就是运行机器的后端编码。
在熟知的技术中,固件刷新(或称更新)可更新系统,使其运行更具效率,从而提高了性能和速度。因此,定期的固件刷新是系统运行效率的保障,并可避免系统过时问题。
请参阅图1,显示为一典型固件刷新方法的流程图,如图所示,此方法的流程包括以下步骤。
步骤PAS102:将要被写入一讯号中继器(Redriver)的一寄存器(Register)中的一刷新值、或一组刷新值预存到一扩展器(Expander)的闪存(Flash Memory)中。
步骤PAS104:扩展器把闪存中的刷新值读到一全局变量(Global Variable)中。
步骤PAS106:每隔一预定时间,比较讯号中继器的真实值(Real-time Value)与全局变量中的刷新值是否一致。在熟知的技术中,此一步骤又称为轮询检测机制。在此轮询检测机制中,比较结果若是一致的,则代表无须刷新固件,方法PAS1将继续执行此比较步骤;反之,若是讯号中继器的真实值不同于全局变量中的刷新值时,代表系统已被要求进行固件刷新,一个或一组刷新值已存入闪存,此时,立即执行步骤PAS108。
步骤PAS108:将讯号中继器的真实值替换成全局变量中的刷新值;在这一步骤中,启动扩展器进行初始化,把全局变量中的刷新值、通过一集成电路总线(Inter-IntegratedCircuit,IIC)、写入讯号中继器的寄存器中。
步骤PAS110:待讯号中继器的真实值以全局变量中的刷新值取代后,即完成讯号中继器的刷新。
然而,前述固件刷新方法PAS1存在一明显的缺点,就是在步骤PAS108中,若要将全局变量中的刷新值灌入讯号中继器中的寄存器中成实时的真实值时,就得启动扩展器的初始化,亦即扩展器需进行重新启动(Reset)。然而,在熟知的技术中,扩展器的重新启动代表相关的软硬盘(通常以不同盘符标示)是无法进行输出入操作(I/O Operation)的,即:当固件刷新进行时,系统操作必须停止实时在线业务;如此一来,商业利益、客户权益与操作效率必然受到相当程度的影响。
发明内容
有鉴于在现有技术中,当固件进行刷新时,相关系统操作必须停止,进而产生商业利益、客户权益与操作效率上的负面影响;针对这一问题,本发明的主要目的在于提供一种电子装置固件中讯号中继器的刷新方法,该方法利用地址认知直接进行固件刷新,以避免系统重新启动所产生的效率与利益问题。
为实现上述目的及其他相关目的,本发明的第一方面提供一种电子装置固件中讯号中继器的刷新方法,所述电子装置固件中讯号中继器的刷新方法包括以下步骤:(a)取得一全局变量的一内存地址;(b)将要被写入一讯号中继器中的一刷新值预存到所述全局变量的所述内存地址中;(c)每隔一预定时间,比较所述讯号中继器的一真实值与所述全局变量中的所述刷新值是否一致;若是一致,继续执行此步骤;若是不一致,则执行下一步骤;(d)将所述讯号中继器的所述真实值替换成所述全局变量中的所述刷新值;以及(e)完成所述讯号中继器的刷新。
于所述第一方面的一实施例中,所述讯号中继器还包括一寄存器。
于所述第一方面的一实施例中,步骤(c)中的所述真实值储存在所述寄存器中。
于所述第一方面的一实施例中,步骤(c)中的所述预定时间在5到15分钟之间。
于所述第一方面的一实施例中,步骤(c)中之所述预定时间为10分钟。
本发明的第二方面提供另一种电子装置固件中讯号中继器的刷新方法,所述电子装置固件中讯号中继器的刷新方法包括以下步骤:(a)取得一全局变量的一内存地址;(b)将要被写入一讯号中继器中的一刷新值预存到所述全局变量的所述内存地址中;(c)每隔一预定时间,将所述讯号中继器的一真实值替换成所述全局变量中的所述刷新值;以及(d)完成所述讯号中继器的刷新。
于所述第二方面的一实施例中,所述讯号中继器还包括一寄存器。
于所述第二方面的一实施例中,步骤(c)中的所述真实值储存在所述寄存器中。
于所述第二方面的一实施例中,步骤(c)中的所述预定时间在5到15分钟之间。
于所述第二方面的一实施例中,步骤(c)中之所述预定时间为10分钟。
如上所述,由于本发明所述的电子装置固件中讯号中继器的刷新方法在固件刷新前先取得全局变量的内存地址,因而之后的刷新值输入可以直接预存到全局变量的内存地址中,以在轮询检测时直接由存入的刷新值取代讯号中继器中的真实值,基于此,除可顺利完成固件中讯号中继器的刷新作业外,还可避免系统的重新启动,有效解决其所衍生的效率与利益损失问题。
本发明所采用的具体实施例,将通过以下实施例及图式作进一步说明。
附图说明
图1显示为一典型固件刷新方法的流程图。
图2显示为本发明较佳实施例所提供的电子装置固件中讯号中继器的刷新方法的流程图。
图3显示为本发明另一实施例所提供的电子装置固件中讯号中继器的刷新方法的流程图。
元件标号说明
PAS102,PAS104,PAS106,PAS108,PAS110 典型固件刷新方法的程序步骤
S101,S104,S106,S108,S110 本发明刷新方法的程序步骤
S101a,S104a,S108a,S110a 本发明刷新方法的程序步骤
具体实施方式
在先前技术中,固件进行刷新时,因需利用到扩展器进行初始化程序,故相关系统操作必须暂时停止,等到刷新完成后,系统各项功能,特别是输出入程序,才能重新恢复作业。因此,在每一次的熟知刷新作业程序下,商业利益、客户权益与操作效率上皆会产生不可避免的损失。而本发明的主要目的即是提供一种电子装置固件中讯号中继器的刷新方法,利用全局变量的内存地址,并直接运用在固件刷新上,以此来避免系统重新启动所产生的效率与利益损失问题。
请参阅图2,显示为本发明较佳实施例所提供的电子装置固件中讯号中继器的刷新方法的流程图。本发明为解决现有技术的问题,所采用的技术手段是提供如图所示的电子装置固件中讯号中继器的刷新方法,其包括如下的步骤S101到步骤S110。
步骤S101:取得一全局变量的一内存地址。在每一版本的固件中,皆会有一全局变量的内存地址;此一内存地址虽会因固件版本的不同而变异,但同一固件版本全局变量的内存地址则是不会改变的。技术上,在固件的初始化过程中,控制芯片会给代码中每个变量、函数以及寄存器等分配地址(不同版本的固件中的变量、函数等的数量大小是会有所不同的),以此即可取得对应固件的全局变量内存地址。例如,在宝可梦(Pokemon)现在使用的版本有1.7.4.2与1.7.5.2,其分别对应的全局变量的内存地址即分别为6dbe4与6c2cc。
步骤S104:将要被写入一讯号中继器中的一刷新值预存到全局变量的内存地址中。
步骤S106:每隔一预定时间,比较讯号中继器的一真实值与全局变量中的刷新值是否一致(轮询检测步骤),若是一致、则继续执行此步骤,若是不一致、则执行下一步骤。在此一轮询检测步骤中,其预定时间并不限定,通常设在5到15分钟间,最佳为10分钟。
在本实施例中,讯号中继器还可包括一寄存器,用以储存讯号中继器的真实值。
步骤S108:将讯号中继器的真实值替换成全局变量中的刷新值。在此一操作中,因刷新值是储存在全局变量的内存地址中,所以其替换可以直接完成,不需扩展器的初始化程序,因此,也不需造成系统的重新启动。
步骤S110:完成讯号中继器的刷新。
在本实施例中,因刷新值直接输入至全局变量的内存地址中,而非如已知技术的扩展器闪存中,故可直接运用在固件的刷新上,以此避免造成系统重新启动及其所产生的效率与利益损失问题。
请参阅图3所示,显示为本发明另一实施例所提供的电子装置固件中讯号中继器的刷新方法的流程图。如图所示,此电子装置固件中讯号中继器的刷新方法包括如下的步骤S101a到步骤S110a。
步骤S101a:取得一全局变量的一内存地址。
步骤S104a:将要被写入一讯号中继器中的一刷新值预存到全局变量的内存地址中。
步骤S108a:每隔一预定时间,将讯号中继器的一真实值替换成全局变量中的刷新值。
步骤S110a:完成讯号中继器的刷新。
同样地,在此实施例中,讯号中继器又可包括一寄存器,用以储存讯号中继器的真实值,而预定时间则可在5到15分钟间,最佳值为10分钟。
本实施例与前一实施例最大的差别在刷新值的替换时机与轮询检测机制上。在图2所示的实施例中,刷新操作是在轮询检测机制检测到有刷新必要时,才进行步骤S108的“将讯号中继器的真实值替换成全局变量中的刷新值”;但在本实施例中(图3),步骤S108a的“将讯号中继器的真实值替换成全局变量中的刷新值”是会在每一预定时间执行一次,即便没有刷新需求时,固件也会自动地把讯号中继器的值替换成全局变量中的值。换言之,在前一实施例中,步骤S108的运行只在有刷新必要时才进行,而在本实施例中,步骤S108a是在每间隔一预定时间即运行一次内存值替换,但省略了前一实施例的轮询检测机制。
综上所述,由于本发明的电子装置固件中讯号中继器的刷新方法由于固件刷新前先取得全局变量的内存地址,因而之后的刷新值输入可以直接预存到全局变量的内存地址中,以便在轮询检测时直接由存入的刷新值取代讯号中继器中的真实值,基于此,除可顺利完成固件中讯号中继器的刷新作业外,并可避免系统的重新启动,有效解决其所衍生的效率与利益损失问题。
通过以上较佳具体实施例的详述是希望能更加清楚地描述本发明的特征与精神,而并非以上述所揭露的较佳具体实施例来对本发明的范畴加以限制。相反地,其目的是希望能涵盖各种改变及具相等性的安排于本发明所欲申请的专利范围的范畴内。
Claims (10)
1.一种电子装置固件中讯号中继器的刷新方法,其特征在于,所述电子装置固件中讯号中继器的刷新方法包括以下步骤:
(a)取得一全局变量的一内存地址;
(b)将要被写入一讯号中继器中的一刷新值预存到所述全局变量的所述内存地址中;
(c)每隔一预定时间,比较所述讯号中继器的一真实值与所述全局变量中的所述刷新值是否一致;若是一致,继续执行此步骤;若是不一致,则执行下一步骤;
(d)将所述讯号中继器的所述真实值替换成所述全局变量中的所述刷新值;以及
(e)完成所述讯号中继器的刷新。
2.根据权利要求1所述的电子装置固件中讯号中继器的刷新方法,其特征在于:所述讯号中继器还包括一寄存器。
3.根据权利要求2所述的电子装置固件中讯号中继器的刷新方法,其特征在于:步骤(c)中的所述真实值储存在所述寄存器中。
4.根据权利要求1所述的电子装置固件中讯号中继器的刷新方法,其特征在于:步骤(c)中的所述预定时间在5到15分钟之间。
5.根据权利要求1所述的电子装置固件中讯号中继器的刷新方法,其特征在于:步骤(c)中的所述预定时间为10分钟。
6.一种电子装置固件中讯号中继器的刷新方法,其特征在于,所述电子装置固件中讯号中继器的刷新方法包括以下步骤:
(a)取得一全局变量的一内存地址;
(b)将要被写入一讯号中继器中的一刷新值预存到所述全局变量的所述内存地址中;
(c)每隔一预定时间,将所述讯号中继器的一真实值替换成所述全局变量中的所述刷新值;以及
(d)完成所述讯号中继器的刷新。
7.根据权利要求6所述的电子装置固件中讯号中继器的刷新方法,其特征在于:所述讯号中继器还包括一寄存器。
8.根据权利要求7所述的电子装置固件中讯号中继器的刷新方法,其特征在于:步骤(c)中的所述真实值储存在所述寄存器中。
9.根据权利要求6所述的电子装置固件中讯号中继器的刷新方法,其特征在于:步骤(c)中的所述预定时间在5到15分钟之间。
10.根据权利要求6所述的电子装置固件中讯号中继器的刷新方法,其特征在于:步骤(c)中的所述预定时间为10分钟。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011149256.0A CN112256596B (zh) | 2020-10-23 | 2020-10-23 | 一种电子装置固件中讯号中继器的刷新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011149256.0A CN112256596B (zh) | 2020-10-23 | 2020-10-23 | 一种电子装置固件中讯号中继器的刷新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112256596A CN112256596A (zh) | 2021-01-22 |
CN112256596B true CN112256596B (zh) | 2022-07-05 |
Family
ID=74261890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011149256.0A Active CN112256596B (zh) | 2020-10-23 | 2020-10-23 | 一种电子装置固件中讯号中继器的刷新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256596B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851645A (zh) * | 2006-01-17 | 2006-10-25 | 华为技术有限公司 | 一种单片机系统在运行中升级的装置和方法 |
KR101083523B1 (ko) * | 2010-08-12 | 2011-11-16 | 웹싱크 주식회사 | 펌웨어 업그레이드 방법 및 이를 위한 시스템 |
TW201207731A (en) * | 2010-08-06 | 2012-02-16 | Universal Scient Ind Shanghai | Embedded system with plural firmware and firmware updating method thereof |
CN106681779A (zh) * | 2017-02-07 | 2017-05-17 | 济南浪潮高新科技投资发展有限公司 | 一种集中更新bios固件的方法 |
CN108108174A (zh) * | 2016-11-24 | 2018-06-01 | 青岛海信宽带多媒体技术有限公司 | 光模块及其固件升级的方法 |
CN108958772A (zh) * | 2018-07-03 | 2018-12-07 | 武汉精测电子集团股份有限公司 | 一种多板卡设备的批量升级方法及系统 |
CN109889589A (zh) * | 2019-02-18 | 2019-06-14 | 闪联信息技术工程中心有限公司 | 一种基于区块链实现嵌入式硬件ota升级系统及方法 |
CN110457053A (zh) * | 2019-07-02 | 2019-11-15 | 苏州大学 | 一种基于NB-IoT的终端远程自动更新系统 |
CN111212121A (zh) * | 2019-12-24 | 2020-05-29 | 浙江大学 | 一种用于物联网设备的空中固件升级方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8966235B2 (en) * | 2006-10-24 | 2015-02-24 | Kent E. Dicks | System for remote provisioning of electronic devices by overlaying an initial image with an updated image |
US9696980B2 (en) * | 2006-10-24 | 2017-07-04 | Medapps, Inc. | Method for remote provisioning of electronic devices by overlaying an initial application image with a retrieved application image |
-
2020
- 2020-10-23 CN CN202011149256.0A patent/CN112256596B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851645A (zh) * | 2006-01-17 | 2006-10-25 | 华为技术有限公司 | 一种单片机系统在运行中升级的装置和方法 |
TW201207731A (en) * | 2010-08-06 | 2012-02-16 | Universal Scient Ind Shanghai | Embedded system with plural firmware and firmware updating method thereof |
KR101083523B1 (ko) * | 2010-08-12 | 2011-11-16 | 웹싱크 주식회사 | 펌웨어 업그레이드 방법 및 이를 위한 시스템 |
CN108108174A (zh) * | 2016-11-24 | 2018-06-01 | 青岛海信宽带多媒体技术有限公司 | 光模块及其固件升级的方法 |
CN106681779A (zh) * | 2017-02-07 | 2017-05-17 | 济南浪潮高新科技投资发展有限公司 | 一种集中更新bios固件的方法 |
CN108958772A (zh) * | 2018-07-03 | 2018-12-07 | 武汉精测电子集团股份有限公司 | 一种多板卡设备的批量升级方法及系统 |
CN109889589A (zh) * | 2019-02-18 | 2019-06-14 | 闪联信息技术工程中心有限公司 | 一种基于区块链实现嵌入式硬件ota升级系统及方法 |
CN110457053A (zh) * | 2019-07-02 | 2019-11-15 | 苏州大学 | 一种基于NB-IoT的终端远程自动更新系统 |
CN111212121A (zh) * | 2019-12-24 | 2020-05-29 | 浙江大学 | 一种用于物联网设备的空中固件升级方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112256596A (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100474247C (zh) | 在计算机服务器系统中更新固件的方法 | |
US7533290B2 (en) | Microcode updating error handling apparatus and method thereof | |
US20070174603A1 (en) | Method and system for maintaining system management BIOS | |
CN113010217B (zh) | 一种bios参数设置方法、装置、电子设备及存储介质 | |
EP2151755A1 (en) | Electronic device and method for updating bios thereof | |
JP2020535504A (ja) | システムバージョンをアップグレードする方法及び装置 | |
CN109828774B (zh) | 一种服务器系统及其启动方法 | |
JP5063587B2 (ja) | デバイス・テーブルからの情報を使用するデバイスの構成 | |
KR100703164B1 (ko) | 데이터 처리장치 및 그 제어방법 | |
CN102999349A (zh) | 一种软件升级方法 | |
CN109445991B (zh) | 一种数据存储方法、系统、智能可穿戴设备及存储介质 | |
CN1527199A (zh) | 驱动程序的安装方法 | |
US20130124841A1 (en) | OS Processing Method and System and Computer Readable Storage Medium Applying the Method | |
CN112256596B (zh) | 一种电子装置固件中讯号中继器的刷新方法 | |
US20150242219A1 (en) | Computer system and control method | |
CN113641378A (zh) | 光模块程序升级方法、装置、设备及可读存储介质 | |
CN114138527A (zh) | 一种提高服务器性能的方法、装置及介质 | |
CN116578327B (zh) | 一种程序更新方法、装置及电子设备和存储介质 | |
TWI624790B (zh) | 設定建構指示符以啟用或停用特徵之技術 | |
TWI757934B (zh) | 電子裝置韌體中訊號中繼器的刷新方法 | |
KR101461319B1 (ko) | 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치 | |
CN108958823B (zh) | 修改基本输入输出系统设定值的方法 | |
CN114265608A (zh) | Tf卡固件升级的方法、装置、计算机设备及存储介质 | |
US20140181492A1 (en) | Method of booting an electronic system and an electronic system applying the same | |
CN112632032B (zh) | 一种数据迁移方法、装置、存储介质及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |