CN111651186A - 耳机及其程序升级方法、控制装置和可读存储介质 - Google Patents
耳机及其程序升级方法、控制装置和可读存储介质 Download PDFInfo
- Publication number
- CN111651186A CN111651186A CN202010478978.4A CN202010478978A CN111651186A CN 111651186 A CN111651186 A CN 111651186A CN 202010478978 A CN202010478978 A CN 202010478978A CN 111651186 A CN111651186 A CN 111651186A
- Authority
- CN
- China
- Prior art keywords
- data packet
- program
- upgrading
- earphone
- headset
- 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
Classifications
-
- 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
- G06F8/658—Incremental updates; Differential updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R1/00—Details of transducers, loudspeakers or microphones
- H04R1/10—Earpieces; Attachments therefor ; Earphones; Monophonic headphones
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R3/00—Circuits for transducers, loudspeakers or microphones
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本发明公开了一种耳机程序升级方法,该方法包括:在耳机依次接收升级程序对应的多个第一数据包的过程中,确定每个第一数据包对应的第二数据包;其中,第二数据包为耳机当前的应用程序对应的多个数据包之一;若第一数据包与其对应的第二数据包存在差异,则保存第一数据包,并生成对应的差异标识信息;当升级程序对应的所有第一数据包接收完成后,根据差异标识信息获取第一数据包替换对应的第二数据包,以升级耳机的应用程序。本发明还公开了一种控制装置、耳机和可读存储介质。本发明旨在减少耳机升级过程中程序擦写所花费的时间,从而提高耳机程序升级的效率。
Description
技术领域
本发明涉及耳机技术领域,尤其涉及耳机程序升级方法、控制装置、耳机和可读存储介质。
背景技术
耳机大多在使用过程中需要程序升级,例如真无线蓝牙耳机(TWS耳机),以便于耳机功能不断优化。其中,耳机的存储区域一般划分为几个分区,其应用程序只会在指定分区中运行,在耳机程序升级的过程中,一般会将耳机接收到的新的应用程序保存至指定分区以外的其他区域,在新的应用程序接收完成后,会将指定区域中原有的应用程序所有数据擦除,再将接收到的新应用程序全部数据写入指定分区中供后续调用执行,从而实现耳机的程序升级。然而,由于耳机的应用程序的数据一般较大,升级过程对新旧应用程序的全部数据进行擦写所需花费的时间较长,严重影响耳机程序升级的效率。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种耳机程序升级方法,旨在减少耳机升级过程中程序擦写所花费的时间,从而提高耳机程序升级的效率。
为实现上述目的,本发明提供一种耳机程序升级方法,所述耳机程序升级方法包括以下步骤:
在耳机依次接收升级程序对应的多个第一数据包的过程中,确定每个所述第一数据包对应的第二数据包;其中,所述第二数据包为所述耳机当前的应用程序对应的多个数据包之一;
若所述第一数据包与其对应的第二数据包存在差异,则保存所述第一数据包,并生成对应的差异标识信息;
当所述升级程序对应的所有第一数据包接收完成后,根据所述差异标识信息获取第一数据包替换对应的第二数据包,以升级所述耳机的应用程序。
可选地,所述生成对应的差异标识信息的步骤包括:
根据保存的第一数据包的存储位置及其对应的第二数据包的存储位置,生成对应的差异标识信息。
可选地,所述保存所述第一数据包的步骤包括:
在第一设定存储区域中,确定所述第一数据包对应的第二数据包所在的第一子区域,为第一目标区域;
在第二设定存储区域中,确定所述第一目标区域对应的第二子区域,为第二目标区域;
将所述第一数据包保存于所述第二目标区域;
其中,所述第一设定存储区域包括多个所述第一子区域,所述第一子区域用于保存所述应用程序对应的多个数据包之一,所述第二设定存储区域包括多个所述第二子区域,所述第二子区域用于保存所述升级程序对应的多个数据包之一。
可选地,所述将所述第一数据包保存于所述第二目标区域的步骤包括:
擦除所述第二目标区域中的数据;
将所述第一数据包写入所述第二目标区域。
可选地,所述根据保存的第一数据包的存储位置及其对应的第二数据包的存储位置,生成对应的差异标识信息的步骤包括:
在设定变量中确定所述第一目标区域和第二目标区域对应的标志位,作为第一标志位;
将所述第一标志位对应的数值设置为第一设定值,以在所述设定变量中形成对应的差异标识信息。
可选地,所述当所述升级程序对应的所有第一数据包接收完成后,根据所述差异标识信息获取第一数据包替换对应的第二数据包,以升级所述耳机的应用程序的步骤包括
当所述升级程序对应的所有第一数据包接收完成后,根据所述设定变量中第一设定值的识别结果,确定所述第一标志位;
根据所述第一标志位确定所述第一目标区域和所述第二目标区域;
擦除所述第一目标区域中的第二数据包,将所述第二目标区域中的第一数据包写入所述第一目标区域。
可选地,所述在耳机依次接收升级程序对应的多个第一数据包的过程中,确定每个所述第一数据包对应的第二数据包的步骤之后,还包括:
若所述第一数据包与其对应的第二数据包一致,则在所述第一设定存储区域中,确定所述第二数据包所在的第一子区域为第三目标区域;
在所述设定变量中,确定所述第三目标区域对应的标志位,作为第二标志位;
将所述第二标志位对应的数值设置为第二设定值。
可选地,所述在耳机依次接收升级程序对应的多个第一数据包的过程中,确定每个所述第一数据包对应的第二数据包的步骤之后,还包括:
若所述第一数据包与其对应的第二数据包一致,则丢弃所述第一数据包;且/或,
所述确定每个所述第一数据包对应的第二数据包的步骤包括:
基于每个所述第一数据包的接收顺序,获取每个所述第一数据包对应的顺序标识;
在所述应用程序对应的多个数据包中,根据所述顺序标识确定每个所述第一数据包对应的第二数据包。
此外,为了实现上述目的,本申请还提出一种控制装置,所述控制装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的升级控制程序,所述升级控制程序被所述处理器执行时实现如上任一项所述的耳机程序升级方法的步骤。
此外,为了实现上述目的,本申请还提出一种耳机,所述耳机包括如上所述的控制装置。
此外,为了实现上述目的,本申请还提出一种可读存储介质,所述可读存储介质上存储有升级控制程序,所述升级控制程序被处理器执行时实现如上任一项所述的耳机程序升级方法的步骤。
本发明提出的一种耳机程序升级方法,该方法在耳机接收升级程序对应的多个第一数据包的过程中,将升级程序中的第一数据包与耳机当前的应用程序中对应的第二数据包进行差异分析,存在差异则保存升级程序的第一数据包并生成对应的差异标识信息对差异进行标记,在升级程序的所有第一数据包接收完成后,基于前面升级程序接收过程形成的差异标识信息获取升级程序中对应的第一数据包替换耳机当前应用程序中对应的第二数据包,从而实现耳机升级过程中的程序擦写操作只需将耳机新旧应用版本中具有差异的数据进行对应替换,便可使耳机中原来的应用程序变为与升级程序相同的应用程序,完成耳机中应用程序的升级,避免升级过程中的程序擦写操作在新旧应用版本中相同数据的替换时花费不必要的时间,从而实现减少耳机升级过程中程序擦写所花费的时间,有效提高耳机程序升级的效率。
附图说明
图1为本发明控制装置一实施例运行涉及的硬件结构示意图;
图2为本发明耳机程序升级方法一实施例的流程示意图;
图3为图2中保存所述第一数据包的步骤的细化流程示意图;
图4为本发明耳机程序升级方法另一实施例的流程示意图;
图5为本发明耳机程序升级方法又一实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:在耳机依次接收升级程序对应的多个第一数据包的过程中,确定每个所述第一数据包对应的第二数据包;其中,所述第二数据包为所述耳机当前的应用程序对应的多个数据包之一,若所述第一数据包与其对应的第二数据包存在差异,则保存所述第一数据包,并生成对应的差异标识信息,当所述升级程序对应的所有第一数据包接收完成后,根据所述差异标识信息获取第一数据包替换对应的第二数据包,以升级所述耳机的应用程序。
由于现有技术中,在耳机程序升级的过程中,一般会将耳机接收到的新的应用程序保存至指定分区以外的其他区域,在新的应用程序接收完成后,会将指定区域中原有的应用程序所有数据擦除,再将接收到的新应用程序全部数据写入指定分区中供后续调用执行,从而实现耳机的程序升级。然而,由于耳机的应用程序的数据一般较大,升级过程对新旧应用程序的全部数据进行擦写所需花费的时间较长,严重影响耳机程序升级的效率。
本发明提供上述的解决方案,旨在减少耳机升级过程中程序擦写所花费的时间,从而提高耳机程序升级的效率。
本发明实施例提出一种控制装置,用于对耳机程序升级过程进行控制。尤其是应用于对无线耳机(如TWS耳机等)远程升级过程进行控制。控制装置可内置于耳机中,也可为独立于耳机的装置。
在本发明实施例中,参照图1,控制装置包括:处理器1001(例如CPU),存储器1002等。存储器1002可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。具体的,在本实施例中,存储器1002为FLASH存储器(闪存)。存储器1002可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的装置结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,存储器1002与处理器1001连接。存储器1002作为一种可读存储介质的存储器1002中可以包括升级控制程序。需要说明的是,这里的升级控制程序可具体为耳机的应用程序的一部分,也可为独立于耳机本身的应用程序的程序。在图1所示的装置中,处理器1001可以用于调用存储器1002中存储的升级控制程序,并执行以下实施例中耳机程序升级方法的相关步骤操作。具体的,处理器1001接收到耳机的升级指令后,调用执行这里的升级控制程序。
本发明实施例还提供一种耳机程序升级方法。
参照图2,提出耳机程序升级方法的一实施例。在本实施例中,所述耳机程序升级方法包括:
步骤S10,在耳机依次接收升级程序对应的多个第一数据包的过程中,确定每个所述第一数据包对应的第二数据包;其中,所述第二数据包为所述耳机当前的应用程序对应的多个数据包之一;
这里的升级程序指的是耳机在升级完成后所需运行的新的应用程序。
在耳机执行当前的应用程序的过程中,接收到第一指令时,可控制耳机进入升级模式,耳机可通过远程或有线等方式接收升级程序相应的数据并进行存储。升级程序的提供终端可基于设定规则(如设定数据包的大小),将升级程序分割成多个第一数据包,并依次发送给耳机;又或者,升级程序对应的多个第一数据包可存储于存储设备中并与耳机连接,耳机在升级模式中可依次读取所连接的存储设备中的多个第一数据包。
在耳机依次接收升级程序对应的多个第一数据包的过程中,每接收到一个第一数据包,便在耳机当前存储的应用程序(即升级程序所需取替的旧的应用程序)对应的多个数据包中,确定其中之一作为当前接收到的第一数据包所对应的第二数据包。
其中,升级程序中的第一数据包与耳机当前应用程序的第二数据包之间的对应关系可预先建立,基于该对应关系确定每个第一数据包所对应的第二数据包。具体的,当前应用程序所对应的多个数据包可在其写入耳机之前采用与升级程序相同的方式进行分割,耳机可基于该分割方式对其所存储的当前应用程序每个数据包进行标记或基于该分割方式进行应用程序的每个数据包的存储,进行从而形成第一数据包与第二数据包之间的对应关系。具体的,在本实施例中,第一数据包和第二数据包可预先按照同样的设定数据包大小对新旧的应用程序进行分割得到,为了保证程序有效读取,分割得到的新旧的应用程序所对应的多个数据包分别具有一定的逻辑顺序,并且两个逻辑顺序之间具有对应关系,例如,分别基于新旧两个程序对应的逻辑顺序对新旧两个程序对应的多个数据包进行独立的顺序编号时,在新旧两个程序中编号相同的数据包则为对应的数据包。程序提供终端在新旧应用程序的发送时可基于对应的逻辑顺序依次将数据包发送给耳机。其中,耳机在依次接收当前的应用程序对应的多个数据包时,可按照应用程序对应的多个数据包的接收顺序进行存储。应用程序对应的多个数据包存储时可标记每个数据包的接收顺序;也可预先按照特定规则(如设定数据包大小相同的数据大小)将用于存储该应用程序的区域划分为多个子存储区域(子区域对应可存储的数据大小大于或等于上述设定数据包的大小),每个子存储区域对应存储应用程序的一个数据包,可通过每个子区域所存储的数据包的接收顺序生成每个子区域对应的区域标识,以实现对每个数据包接收顺序的记录。基于此,在耳机依次接收升级程序对应的多个第一数据包时,基于每个所述第一数据包的接收顺序,获取每个所述第一数据包对应的顺序标识(例如第一个接收到的第一数据包顺序标识为1,第二个接收到的第一数据包顺序标识为2,如此类推);在所述应用程序对应的多个数据包中,根据所述顺序标识确定每个所述第一数据包对应的第二数据包。通过每个第一数据包的顺序标识分别与上述每个子存储区域对应的区域标识或与所标记的每个数据包的接收顺序进行匹配,与顺序标识匹配的数据包作为第一数据包对应的第二数据包。
将每个接收到的第一数据包与其对应的第二数据包进行比对(例如将两个对应的数据包中每个字节的数据进行对应比对等),判断第一数据包是否与其对应的第二数据包存在差异。其中,当第一数据包与其对应的数据包存在差异时,则执行步骤S20。当第一数据包与其对应的数据包一致(即不存在差异)时,在本实施例中,为了进一步减少升级程序写入耳机所花费的时间,将对应的第一数据包丢弃;而在其他实施例中,也可为了便于升级程序的数据后续的调用,将对应的第一数据包保存。
步骤S20,保存所述第一数据包,并生成对应的差异标识信息;
具体的,将第一数据包保存至耳机的内存(如flash存储器)中用于存储升级程序的数据的特定区域。
差异标识信息具体为标记存在差异的第一数据包与其对应的第二数据包的信息,用于后续在耳机存储数据中的查找存在差异的第一数据包及其对应的第二数据包。所生成的差异标识信息可存储于耳机内存中的特定区域。具体的,在耳机的内存(flash存储器)中,可划分有多个存储区域。多个存储区域可至少包括用于存储引导加载程序的启动区域、用于存储并执行应用程序的程序运行区域、用于存储升级程序对应的数据的升级区域、以及用于存储差异标识信息等参数的参数区域。
其中,当存在一个第一数据包与其对应的第二数据包存在差异时,则差异标识信息的数量为一个;当存在多于一个第一数据包与其对应的第二数据包存在差异时,则差异标识信息的数量多于一个。存在差异的第一数据包数量与所生成差异标识信息的数量相同。存在差异时所保存的每个第一数据包对应有不同的差异标识信息。
具体的,分别获取存在差异第一数据包及其对应的第二数据包各自对应的标识信息(如表征第一数据包的存储位置及其对应的第二数据包对应的存储位置的特征信息、表征第一数据包的编号及其对应的第二数据包对应的编号等),基于获取得到的标识信息生成差异标识信息。
步骤S30,当所述升级程序对应的所有第一数据包接收完成后,根据所述差异标识信息获取第一数据包替换对应的第二数据包,以升级所述耳机的应用程序。
在接收到第二指令或接收到的数据中识别到设定信息时,可认为升级程序对应的所有数据包接收完成。基于差异标识信息在耳机当前的存储数据中,确定差异标识信息对应的第一数据包和第二数据包形成替换组。当前一阶段生成的差异标识信息数量为一个时,则可对应确定一个替换组;当前一阶段生成的差异标识信息数量多于一个时,则可对应确定多于一个替换组。将所确定的每个替换组中的第二数据包擦除,将第一数据包写入对应的第二数据包本来的存储位置中。当所有替换组中的第一数据包均替换其对应的第二数据包后,则替换组中的第一数据包则可与应用程序中未被替换的其他数据包组合形成与升级程序同样的数据,使耳机原有的应用程序在数据包替换后变成与升级程序相同,实现耳机的应用程序升级。
本发明实施例提出的一种耳机程序升级方法,该方法在耳机接收升级程序对应的多个第一数据包的过程中,将升级程序中的第一数据包与耳机当前的应用程序中对应的第二数据包进行差异分析,存在差异则保存升级程序的第一数据包并生成对应的差异标识信息对差异进行标记,在升级程序的所有第一数据包接收完成后,基于前面升级程序接收过程形成的差异标识信息获取升级程序中对应的第一数据包替换耳机当前应用程序中对应的第二数据包,从而实现耳机升级过程中的程序擦写操作只需将耳机新旧应用版本中具有差异的数据进行对应替换,便可使耳机中原来的应用程序变为与升级程序相同的应用程序,完成耳机中应用程序的升级,避免升级过程中的程序擦写操作在新旧应用版本中相同数据的替换时花费不必要的时间,从而实现减少耳机升级过程中程序擦写所花费的时间,有效提高耳机程序升级的效率。
具体的,在本实施例中,步骤S10之后,若所述第一数据包与其对应的第二数据包存在差异,则执行的步骤S20包括:
步骤S21,保存所述第一数据包;
步骤S22,根据保存的第一数据包的存储位置及其对应的第二数据包的存储位置,生成对应的差异标识信息。
其中,这里的步骤S22为步骤S20中生成对应的差异标识信息的细化步骤。通过基于具有差异的两个数据包的存储位置生成差异标识信息,从而使后续可基于差异标识信息快速定位具有差异的第一数据包及其对应的第二数据包所在的存储位置,并从所定位的存储位置中获取第一数据包替换对应的第二数据包,实现程序升级效率的提高同时,保证数据包替换后耳机中当前的应用程序可与升级程序精准匹配。
其中,保存第一数据包的存储位置可不作限定。在本实施例中,为了进一步提高程序升级的效率和精准性,参照图3,步骤S21可具体包括:
步骤S211,在第一设定存储区域中,确定所述第一数据包对应的第二数据包所在的第一子区域,为第一目标区域;
步骤S212,在第二设定存储区域中,确定所述第一目标区域对应的第二子区域,为第二目标区域;
其中,所述第一设定存储区域包括多个所述第一子区域,所述第一子区域用于保存所述应用程序对应的多个数据包之一,所述第二设定存储区域包括多个所述第二子区域,所述第二子区域用于保存所述升级程序对应的多个数据包之一。第一设定存储区域用于存储并执行耳机的应用程序,即上述实施例提及的程序运行区域;第二设定存储区域用于存储耳机的升级程序,即上述实施例中提及的升级区域。第一子区域与第二子区域可按照相同规则(如相同的数据大小)进行划分。每个第一子区域具有一个与其对应的第二子区域。当第一子区域中的第二数据包与其对应的第一数据包存在差异时,该第一子区域为第一目标区域,由于差异的存在表明第一目标区域中的第二数据包需要更换,则将用于替代第一目标区域中数据的第一数据包存储于第二设定存储区域中。
步骤S213,将所述第一数据包保存于所述第二目标区域。
在本实施例中,步骤S213包括:擦除所述第二目标区域中的数据,将所述第一数据包写入所述第二目标区域。在其他实施例中,若第二目标区域本身未存储有任何数据,也可直接将第一数据包写入第一目标区域。
本实施例通过上述步骤S211至步骤S213对第一数据包进行保存,可保证第一数据包存储后与其所需替换的第二数据包之间对应关系的精准性,使所有第一数据包接收完成后可基于差异标识信息精准的获取第一数据包替换其对应的第二数据包,从而保证耳机当前的应用程序升级后与上述升级程序精准匹配。此外,通过步骤S211至步骤S213对第一数据包进行保存,也有利于在后续步骤S22执行的过程中,差异标识信息中可采用同一标识对每组的第一数据包及与其存在差异的第二数据包的存储位置进行标记,有效缩减差异标识信息在耳机的内存存储时所占用的空间。
基于上述实施例,提出本申请耳机程序升级方法的另一实施例。在本实施例中,参照图4,上述的步骤S22包括:
步骤S221,在设定变量中确定所述第一目标区域和第二目标区域对应的标志位,作为第一标志位;
设定变量包括多个标志位,每个第一子区域及其对应的第二子区域在设定变量中具有一个对应的标志位。基于此,在设定变量中确定第一目标区域与第二目标区域所对应的一个标志位作为第一标志位。
步骤S222,将所述第一标志位对应的数值设置为第一设定值,以在所述设定变量中形成对应的差异标识信息。
设定变量中第一标志位及其对应的第一设定值,可形成存在差异的第一数据包及与其存在差异的第二数据包所对应的差异标识信息,用于表征两个数据包所在的存储区域。第一设定值可具体为1。
基于此,参照图4,上述的步骤S30包括:
步骤S31,当所述升级程序对应的所有第一数据包接收完成后,根据所述设定变量中第一设定值的识别结果,确定所述第一标志位;
步骤S32,根据所述第一标志位确定所述第一目标区域和所述第二目标区域;
步骤S33,擦除所述第一目标区域中的第二数据包,将所述第二目标区域中的第一数据包写入所述第一目标区域。
这里第一目标区域及其对应的第二目标区域与设定标量中的标记位具有对应关系,因此,通过设定变量中对应的标志位的数值设置为第一设定值,实现设定变量中第一设定值及所在的标志位可作为差异标识信息,对存在差异的第一数据包及其对应的第二数据包各自的存储位置进行表征,从而使后续基于设定变量中第一设定值及其对应的标志位的识别,以及标志位与存储区域之间的对应关系,便可快速准确的确定存在差异的第一数据包及其对应的第二数据包并进行替换,进一步提高程序升级的效率和精准性。
进一步的,基于上述实施例,提出本申请耳机程序升级方法的又一实施例。在本实施例中,上述设定变量中还可包括用于标识比对结果为一致的第一数据包及其对应的第二数据包所对应的标识信息。基于此,参照图5,步骤S10之后,还包括:若所述第一数据包与其对应的第二数据包一致,则执行步骤S40。
步骤S40,在所述第一设定存储区域中,确定所述第二数据包所在的第一子区域为第三目标区域;
步骤S50,在所述设定变量中,确定所述第三目标区域对应的标志位,作为第二标志位;
步骤S60,将所述第二标志位对应的数值设置为第二设定值。
第二设定值可具体为0。
在本实施例中,设定变量除了包含差异标识信息以外还包含无需替换的第二数据包所对应的标识信息,以使应用程序中每个数据包是否需要进行替换的情况可基于设定变量的读取实现精确识别,有效避免替换过程出现错误等影响升级精准性的情况出现,也便于后续对升级过程的分析,进一步提高耳机程序升级的可靠性。
基于上述任一实施例,下面提供本申请耳机程序升级方法的一个具体实施方案,以便于对上述实施例中耳机程序升级方法相关步骤的直观理解:
当耳机的内存(如FLASH存储器)大小为4000KB时,基于第一设定大小4KB,可将内存划分为1000页(即1000个子存储区域)。所划分的1000页可进行按照0至999进行编号,0页至99页可作为上述实施例中的启动区域,100页至499页可作为上述实施例中的程序运行区域,500页至899页可作为上述实施例中的升级区域,而900至999页可作为上述实施例中的参数区域。其中,程序运行区域的存储页与升级区域中的存储页按照其对应编号的先后顺序进行一一对应关联,形成多个组合,如100页对应500页,101页对应501页,如此类推。另外,设定变量bitmap中可包括有多个存储位置(即上述实施例中的标志位),上述形成的每个组合在设定变量bitmap具有一个对应的存储位置,各存储位置可按照其对应的组合中的存储页对应的编号顺序进行对应编号。如100页及500页形成的组合对应的存储位置的编号为1,如101页及501页形成的组合对应的存储位置的编号为2,如此类推。
此外,耳机接收的应用程序(包括上述实施例中耳机当前的应用程序以及当前接收的升级程序)均按照小于或等于上述第一设定大小的第二设定大小(如2KB)进行分组并基于对应的程序的执行逻辑进行编号,得到多个数据包(数据包的个数N小于耳机内存中子存储页的总数)。程序的提供终端按照各数据包编号的先后顺序依次将数据包发送至耳机,耳机基于数据包的接收顺序将所接收的数据包保存至相应的存储区域。具体的,在上述实施例中的步骤S10之前,耳机接收其当前的应用程序的过程中,接收到的数据包为第M个数据包时(N≥M≥0),则可通过直接或间接的方式将该数据包写入程序运行区域的第M页中(如接收到第二个数据包,则将该数据包写入上述程序运行区域基于编号顺序所对应的第二页(即101页)内)。基于此,在耳机依次接收升级程序对应的多个第一数据包的过程中,若接收到的第一数据包为第P个数据包,则可将程序运行区域的第P页中的数据包作为该第一数据包对应的第二数据包(如接收到第五个第一数据包,则将程序运行区域基于编号顺序所对应的第五页(即104页)内保存的数据包作为该第一数据包所对应的第二数据包),将两个数据包进行比对,若存在差异则可将该数据包保存于升级区域的第P页(如P为5时,保存于504页),并将设定变量bitmap的第P位置的数值设置为1,以在设定变量中形成上述实施例中的差异标识信息;若不存在差异则可将该数据包丢弃,并将设定变量bitmap的第P位置的数值设置为0。
耳机接收完升级程序对应的所有第一数据包后,可控制耳机复位并执行启动区域中的引导加载程序,通过在引导加载程序中编译设定代码,耳机在执行引导加载程序中的设定代码时,会读取设定变量bitmap并对设定变量bitmap中每个存储位置的数值进行分析,若未识别到设定变量bitmap中的存储位置包含1(所有存储位置的数值均为0),表明升级程序与耳机中当前的应用程序一致,无需变更数据,则可直接跳转至程序执行区域,执行耳机当前的应用程序;若识别到设定变量bitmap中存在1,则确定1所在的存储位置,将所确定的存储位置在程序执行区域中对应的存储页中的数据擦除后,再将所确定的存储位置在升级区域中对应的存储页中数据写入该存储页中,所有数值为1的存储位置在程序执行区域中对应的存储页中的数据,均将在升级区域中对应的存储页中数据替换完成后,便完成耳机程序的升级,可跳转至程序执行区域执行其当前所存储的程序,实现耳机运行升级后的程序。
此外,本发明实施例还提出一种耳机。在本实施例中,耳机具体为真无线蓝牙耳机(TWS耳机)。在其他实施例中,耳机还可为其他类型的无线耳机,甚至是有线耳机。耳机包括上述实施例中的控制装置,以按照上述耳机程序升级方法任一实施例中的相关步骤,实现耳机程序的升级,从而有效提高耳机程序升级的效率。
此外,本发明实施例还提出一种可读存储介质,所述可读存储介质上存储有升级控制程序,所述升级控制程序被处理器执行时实现如上耳机程序升级方法任一实施例的相关步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,耳机,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (11)
1.一种耳机程序升级方法,其特征在于,所述耳机程序升级方法包括以下步骤:
在耳机依次接收升级程序对应的多个第一数据包的过程中,确定每个所述第一数据包对应的第二数据包;其中,所述第二数据包为所述耳机当前的应用程序对应的多个数据包之一;
若所述第一数据包与其对应的第二数据包存在差异,则保存所述第一数据包,并生成对应的差异标识信息;
当所述升级程序对应的所有第一数据包接收完成后,根据所述差异标识信息获取第一数据包替换对应的第二数据包,以升级所述耳机的应用程序。
2.如权利要求1所述的耳机程序升级方法,其特征在于,所述生成对应的差异标识信息的步骤包括:
根据保存的第一数据包的存储位置及其对应的第二数据包的存储位置,生成对应的差异标识信息。
3.如权利要求2所述的耳机程序升级方法,其特征在于,所述保存所述第一数据包的步骤包括:
在第一设定存储区域中,确定所述第一数据包对应的第二数据包所在的第一子区域,为第一目标区域;
在第二设定存储区域中,确定所述第一目标区域对应的第二子区域,为第二目标区域;
将所述第一数据包保存于所述第二目标区域;
其中,所述第一设定存储区域包括多个所述第一子区域,所述第一子区域用于保存所述应用程序对应的多个数据包之一,所述第二设定存储区域包括多个所述第二子区域,所述第二子区域用于保存所述升级程序对应的多个数据包之一。
4.如权利要求3所述的耳机程序升级方法,其特征在于,所述将所述第一数据包保存于所述第二目标区域的步骤包括:
擦除所述第二目标区域中的数据;
将所述第一数据包写入所述第二目标区域。
5.如权利要求3所述的耳机程序升级方法,其特征在于,所述根据保存的第一数据包的存储位置及其对应的第二数据包的存储位置,生成对应的差异标识信息的步骤包括:
在设定变量中确定所述第一目标区域和第二目标区域对应的标志位,作为第一标志位;
将所述第一标志位对应的数值设置为第一设定值,以在所述设定变量中形成对应的差异标识信息。
6.如权利要求5所述的耳机程序升级方法,其特征在于,所述当所述升级程序对应的所有第一数据包接收完成后,根据所述差异标识信息获取第一数据包替换对应的第二数据包,以升级所述耳机的应用程序的步骤包括
当所述升级程序对应的所有第一数据包接收完成后,根据所述设定变量中第一设定值的识别结果,确定所述第一标志位;
根据所述第一标志位确定所述第一目标区域和所述第二目标区域;
擦除所述第一目标区域中的第二数据包,将所述第二目标区域中的第一数据包写入所述第一目标区域。
7.如权利要求5所述的耳机程序升级方法,其特征在于,所述在耳机依次接收升级程序对应的多个第一数据包的过程中,确定每个所述第一数据包对应的第二数据包的步骤之后,还包括:
若所述第一数据包与其对应的第二数据包一致,则在所述第一设定存储区域中,确定所述第二数据包所在的第一子区域为第三目标区域;
在所述设定变量中,确定所述第三目标区域对应的标志位,作为第二标志位;
将所述第二标志位对应的数值设置为第二设定值。
8.如权利要求1至7中任一项所述的耳机程序升级方法,其特征在于,所述在耳机依次接收升级程序对应的多个第一数据包的过程中,确定每个所述第一数据包对应的第二数据包的步骤之后,还包括:
若所述第一数据包与其对应的第二数据包一致,则丢弃所述第一数据包;且/或,
所述确定每个所述第一数据包对应的第二数据包的步骤包括:
基于每个所述第一数据包的接收顺序,获取每个所述第一数据包对应的顺序标识;
在所述应用程序对应的多个数据包中,根据所述顺序标识确定每个所述第一数据包对应的第二数据包。
9.一种控制装置,其特征在于,所述控制装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的升级控制程序,所述升级控制程序被所述处理器执行时实现如权利要求1至8中任一项所述的耳机程序升级方法的步骤。
10.一种耳机,其特征在于,所述耳机包括如权利要求9所述的控制装置。
11.一种可读存储介质,其特征在于,所述可读存储介质上存储有升级控制程序,所述升级控制程序被处理器执行时实现如权利要求1至8中任一项所述的耳机程序升级方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010478978.4A CN111651186B (zh) | 2020-05-29 | 2020-05-29 | 耳机及其程序升级方法、控制装置和可读存储介质 |
PCT/CN2020/124823 WO2021238053A1 (zh) | 2020-05-29 | 2020-10-29 | 耳机及其程序升级方法、控制装置和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010478978.4A CN111651186B (zh) | 2020-05-29 | 2020-05-29 | 耳机及其程序升级方法、控制装置和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111651186A true CN111651186A (zh) | 2020-09-11 |
CN111651186B CN111651186B (zh) | 2023-10-03 |
Family
ID=72350982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010478978.4A Active CN111651186B (zh) | 2020-05-29 | 2020-05-29 | 耳机及其程序升级方法、控制装置和可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111651186B (zh) |
WO (1) | WO2021238053A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328293A (zh) * | 2020-11-05 | 2021-02-05 | 歌尔科技有限公司 | 一种嵌入式设备的差分升级方法及相关组件 |
WO2021238053A1 (zh) * | 2020-05-29 | 2021-12-02 | 歌尔股份有限公司 | 耳机及其程序升级方法、控制装置和可读存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116319312A (zh) * | 2022-09-07 | 2023-06-23 | 海南乾唐视联信息技术有限公司 | 终端的升级方法、装置和通信装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622253A (zh) * | 2012-03-09 | 2012-08-01 | 瑞斯康达科技发展股份有限公司 | 一种单片机及其在线升级的方法 |
CN103605552A (zh) * | 2013-11-29 | 2014-02-26 | Tcl通力电子(惠州)有限公司 | Mcu的升级方法和装置 |
US20170286094A1 (en) * | 2014-09-02 | 2017-10-05 | Gemalto M2M Gmbh | Method for adapting firmware of a wireless communication device |
CN110837389A (zh) * | 2019-11-01 | 2020-02-25 | 北京云迹科技有限公司 | 设备升级方法、装置、物联网设备和存储介质 |
CN111158729A (zh) * | 2019-12-30 | 2020-05-15 | 深圳Tcl数字技术有限公司 | 系统升级方法、装置、设备及存储介质 |
CN111158738A (zh) * | 2019-12-30 | 2020-05-15 | 青岛歌尔智能传感器有限公司 | 耳机固件的升级方法、装置及可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699408A (zh) * | 2013-12-12 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 一种软件升级的方法和设备 |
CN104750524A (zh) * | 2015-03-24 | 2015-07-01 | 广东欧珀移动通信有限公司 | 升级数据包的传输方法及装置、数据包的升级方法及装置 |
JPWO2017056194A1 (ja) * | 2015-09-29 | 2017-10-05 | 株式会社東芝 | 情報機器または情報通信端末および、情報処理方法 |
CN111104149A (zh) * | 2018-10-25 | 2020-05-05 | 华为技术有限公司 | 一种固件升级方法、装置及终端 |
CN109688472A (zh) * | 2018-12-10 | 2019-04-26 | 未来电视有限公司 | 电视系统升级方法、装置、设备及存储介质 |
CN111651186B (zh) * | 2020-05-29 | 2023-10-03 | 歌尔科技有限公司 | 耳机及其程序升级方法、控制装置和可读存储介质 |
-
2020
- 2020-05-29 CN CN202010478978.4A patent/CN111651186B/zh active Active
- 2020-10-29 WO PCT/CN2020/124823 patent/WO2021238053A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622253A (zh) * | 2012-03-09 | 2012-08-01 | 瑞斯康达科技发展股份有限公司 | 一种单片机及其在线升级的方法 |
CN103605552A (zh) * | 2013-11-29 | 2014-02-26 | Tcl通力电子(惠州)有限公司 | Mcu的升级方法和装置 |
US20170286094A1 (en) * | 2014-09-02 | 2017-10-05 | Gemalto M2M Gmbh | Method for adapting firmware of a wireless communication device |
CN110837389A (zh) * | 2019-11-01 | 2020-02-25 | 北京云迹科技有限公司 | 设备升级方法、装置、物联网设备和存储介质 |
CN111158729A (zh) * | 2019-12-30 | 2020-05-15 | 深圳Tcl数字技术有限公司 | 系统升级方法、装置、设备及存储介质 |
CN111158738A (zh) * | 2019-12-30 | 2020-05-15 | 青岛歌尔智能传感器有限公司 | 耳机固件的升级方法、装置及可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021238053A1 (zh) * | 2020-05-29 | 2021-12-02 | 歌尔股份有限公司 | 耳机及其程序升级方法、控制装置和可读存储介质 |
CN112328293A (zh) * | 2020-11-05 | 2021-02-05 | 歌尔科技有限公司 | 一种嵌入式设备的差分升级方法及相关组件 |
Also Published As
Publication number | Publication date |
---|---|
CN111651186B (zh) | 2023-10-03 |
WO2021238053A1 (zh) | 2021-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111651186B (zh) | 耳机及其程序升级方法、控制装置和可读存储介质 | |
CN108829477B (zh) | 界面跳转方法、装置、计算机设备和存储介质 | |
KR101401143B1 (ko) | 무선 펌웨어 업데이트 개발 환경에서의 변경 로깅을수행하기 위한 방법 및시스템 | |
US20060200815A1 (en) | Electronic Device and Method for Updating Related Programs | |
CN112732321B (zh) | 一种固件修改方法、装置、计算机可读存储介质和设备 | |
CN111414377B (zh) | 结构化查询语句的处理方法、装置及存储介质 | |
US20070294683A1 (en) | Methods of generating, linking and updating component-based software and information storage medium having such software recorded thereon | |
CN115268991A (zh) | 依赖分析的优化方法、装置、设备和存储介质 | |
CN111651179B (zh) | 耳机及其程序升级方法、控制装置和可读存储介质 | |
CN111596970B (zh) | 动态库延迟加载方法、装置、设备和存储介质 | |
CN107450937B (zh) | 一种应用程序的运行方法和运行装置 | |
CN107817972B (zh) | 缓存代码处理方法、装置、存储介质及电子设备 | |
CN113050948B (zh) | 动态库优化方法、装置、设备及存储介质 | |
CN113641389B (zh) | 基于OpenCPU的软件升级方法、装置及设备 | |
CN114564228A (zh) | 一种应用程序更新方法、装置、计算机设备及存储介质 | |
CN108874468B (zh) | 应用程序的加载方法、装置、计算机设备及存储介质 | |
US7203867B2 (en) | Processor system, processor and arithmetic processing method | |
CN112162743A (zh) | 驱动程序生成方法、装置、计算机设备和存储介质 | |
CN112416383A (zh) | golang程序热更新方法、装置以及计算机设备 | |
CN115794260B (zh) | 一种简单的dsp软件库动态加载方法 | |
CN113672238B (zh) | 基于实时操作系统模块化管理的运行方法、装置及设备 | |
JP6097118B2 (ja) | プログラム変換装置、プログラム実行装置、プログラム変換方法および変換プログラム | |
CN114995843B (zh) | 一种程序包组件的下载存储方法及装置 | |
CN117010925B (zh) | 一种工程材料自动配价方法、系统、设备及存储介质 | |
CN115826946B (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 |