CN106502750B - Ota升级方法及蓝牙芯片 - Google Patents
Ota升级方法及蓝牙芯片 Download PDFInfo
- Publication number
- CN106502750B CN106502750B CN201610967225.3A CN201610967225A CN106502750B CN 106502750 B CN106502750 B CN 106502750B CN 201610967225 A CN201610967225 A CN 201610967225A CN 106502750 B CN106502750 B CN 106502750B
- Authority
- CN
- China
- Prior art keywords
- subregion
- function
- description information
- upgrading
- function description
- 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
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/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
Abstract
本发明实施例提供一种OTA升级方法及蓝牙芯片,该方法能够应用于芯片的升级,其中所述芯片的存储装置包括:第一分区、第二分区和第三分区,其中,第三分区用于存储芯片的运行函数的函数描述信息。该方法包括:获取升级数据;将升级数据存储在所述第一分区内,并将所述升级数据的函数描述信息存储在所述第二分区内;根据所述第二分区中存储的所述升级数据的函数描述信息,更新所述第三分区内相应的函数描述信息,以便根据所述第三分区中更新后的函数描述信息,从所述第一分区内调用所述升级数据。本发明实施例提供的OTA升级方法及蓝牙芯片,能够提高蓝牙的OTA升级的可靠性,降低升级成本。
Description
技术领域
本发明实施例涉及蓝牙技术领域,尤其涉及一种OTA升级方法及蓝牙芯片。
背景技术
物联网(Internet of Things,简称IOT)是当前行业应用热点,同时也是设备互联互通的技术发展方向。作为IOT技术的重要载体,蓝牙芯片以其低成本和高效互联的技术特征被广泛使用。
随着用户应用的多元化,蓝牙芯片的无线下载(Over the Air,简称OTA)升级功能需求突显。在现有低功耗的蓝牙芯片中,由于该类型的芯片静态存储器及闪存容量都非常有限,比如,常用的低功耗的蓝牙芯片,其内置闪存通常只有128k byte,因此,考虑到存储空间的问题,现有的低功耗的蓝牙芯片的OTA升级方法,通常是通过在蓝牙芯片的外部扩展闪存的方式来实现OTA升级,然而,这种方式不但增加了系统的成本,而且也引入了闪存间数据传输的错误码问题。
发明内容
本发明实施例提供一种OTA升级方法及蓝牙芯片,用以提高蓝牙的OTA升级的可靠性,降低升级成本。
本发明实施例第一方面提供一种OTA升级方法,该方法可以应用于芯片的软件升级,芯片的存储装置包括:第一分区、第二分区和第三分区,其中,所述第三分区用于存储所述软件的运行函数的函数描述信息,所述方法包括:
获取升级数据;
将升级数据存储在所述第一分区内,并将所述升级数据的函数描述信息存储在所述第二分区内;
根据所述第二分区中存储的所述升级数据的函数描述信息,更新所述第三分区内相应的函数描述信息,以便根据所述第三分区中更新后的函数描述信息,从所述第一分区内调用所述升级数据。
本发明实施例第二方面提供一种蓝牙芯片,该蓝牙芯片包括:存储装置,所述存储装置包括:第一分区、第二分区和第三分区,其中,所述第三分区用于存储软件的运行函数的函数描述信息,所述蓝牙芯片还包括:
获取模块,用于获取升级数据;
存储模块,用于将升级数据存储在所述第一分区内,并将所述升级数据的函数描述信息存储在所述第二分区内;
更新模块,用于根据所述第二分区中存储的所述升级数据的函数描述信息,更新所述第三分区内相应的函数描述信息,以便根据所述第三分区中更新后的函数描述信息,从所述第一分区内调用所述升级数据。
本发明实施例,通过对芯片的存储装置进行分区,将升级数据存储在第一分区内,将升级数据的函数描述信息存储在第二分区内,将芯片的原始运行函数的函数描述信息存储在第三分区内,通过根据第二分区中的函数描述信息对第三分区中的函数描述信息进行更新,使得芯片能够根据更新后的函数描述信息从第一分区内调用升级数据,从而实现芯片的OTA升级。与现有技术不同的是,本发明实施例提供的OTA升级方法是基于芯片其本身内置的存储装置来实现的。而不需要像现有技术那样,需要外接一个闪存才能实现。从而降低了芯片OTA升级的成本,且能够避免由于外界闪存所造成的数据传输的错误码问题,有效的提高了OTA升级的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的OTA升级方法的流程示意图;
图2为本发明一实施例提供的步骤S103的执行方法流程示意图;
图3为本发明一实施例提供的蓝牙芯片的结构示意图;
图4为本发明一实施例提供的更新模块13的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤的过程或结构的装置不必限于清楚地列出的那些结构或步骤而是可包括没有清楚地列出的或对于这些过程或装置固有的其它步骤或结构。
蓝牙芯片作为物联网技术的重要载体,已经被广泛应用于物联网领域。随着用户应用的多元化,蓝牙芯片的无线下载(Over the Air,简称OTA)升级功能需求突显。在现有低功耗的蓝牙芯片中,由于该类型的芯片静态存储器及闪存容量都非常有限,比如,常用的低功耗的蓝牙芯片,其内置闪存通常只有128k byte,因此,考虑到存储空间的问题,现有的低功耗的蓝牙芯片的OTA升级方法,通常是通过在蓝牙芯片的外部扩展闪存的方式来实现OTA升级,然而,这种方式不但增加了系统的成本,而且也引入了闪存间数据传输的错误码问题。
针对上述问题,本发明实施例提供了一种OTA升级方法,该方法能够应用于诸如蓝牙芯片等低功耗、小容量的芯片的OTA升级。实际应用中,通过对上述芯片的存储装置进行分区,将升级数据存储在第一分区内,将升级数据的函数描述信息存储在第二分区内,将芯片的原始运行函数的函数描述信息存储在第三分区内,通过根据第二分区中的函数描述信息对第三分区中的函数描述信息进行更新,使得芯片能够根据更新后的函数描述信息从第一分区内调用升级数据,从而实现芯片的OTA升级。该方法能够解决现有技术存在的升级成本高,可靠性低等问题。
特别的,在实际应用中上述存储装置可以被具体为闪存。
图1为本发明一实施例提供的OTA升级方法的流程示意图,该方法可以由一蓝牙芯片来执行。如图1所示,本实施例提供的方法包括如下步骤:
步骤S101、获取升级数据。
无线下载(Over the Air,简称OTA)升级,是一种标准的软件升级方式。它主要通过无线网络(例如WIFI网络、移动网络等)实现OTA升级数据的下载和升级。通常情况下,OTA升级数据非常小,一般从几兆到几十兆不等,因此,只要蓝牙芯片的容量能够达到百兆的要求,一般而言就可以采用OTA升级方式进行升级,而一般小容量的蓝牙芯片,其容量完全能够满足这个要求。本实施例正是根据这一点对小容量的蓝牙芯片进行OTA升级,其中,本实施例在OTA升级数据的获取方式上与现有技术相同,这里不再赘述。
步骤S102、将升级数据存储在所述第一分区内,并将所述升级数据的函数描述信息存储在所述第二分区内。
实际应用中,为了基于蓝牙芯片的内置存储装置实现本实施例的升级目的,优选的可以重新对蓝牙芯片的存储装置进行分区,将获取到的升级数据存储在存储装置的第一分区内,将升级数据的函数描述信息存储在第二分区内,将蓝牙芯片软件的原始运行函数的函数描述信息存储在第三分区内,将OTA升级检测程序和系统初始化程序存储在第四分区内,将蓝牙芯片软件的原始运行函数存储在第五分区内。其中,第三分区内存储的函数描述信息,是在系统初始化时根据第五分区内的运行函数生成的。优选的函数描述信息可以包括函数标识、以及函数标识对应的函数地址和函数大小。在未发生OTA升级时,蓝牙芯片依据第三分区中的函数描述信息,从第五分区中调用相应的运行函数以支持系统的运行。
特别的,基于上述存储装置的分区划分,在执行步骤S101之前,本实施例还可以包括OTA升级的检测步骤。实际应用中,可以从第四分区内调用OTA升级检测程序,并依托该OTA升级检测程序对OTA升级进行检测。当检测到OTA升级时,则触发获取当前的OTA升级数据。否则不进行升级操作。
步骤S103、根据所述第二分区中存储的所述升级数据的函数描述信息,更新所述第三分区内相应的函数描述信息,以便根据所述第三分区中更新后的函数描述信息,从所述第一分区内调用所述升级数据。
实际应用中,在执行完成步骤S102之后,蓝牙芯片的软件系统重新启动,并在启动的过程中执行步骤S103。
具体的,图2为本发明一实施例提供的步骤S103的执行方法流程示意图,如图2所示,本实施例中步骤S103可以包括如下子步骤:
步骤S11、确定所述第二分区中与所述第三分区中函数标识相同的函数描述信息。
实际应用中,第二分区中存储的是升级数据的函数描述信息,其包括待升级的函数的标识、地址、大小等信息。第三分区中存储的是蓝牙芯片原始运行函数的函数描述信息,其包括原始运行函数的标识、地址、大小等信息。
而在通常的OTA升级中,其只是对原始运行函数中的部分函数进行升级,而其他运行函数则保持不变,因此,在执行OTA升级中,首先要根据第二分区中存储的函数描述信息,确定哪些原始运行函数需要升级,本实施例中的具体方法是,将第三分区中的函数描述信息与第二分区中的函数描述信息进行匹配,确定第三分区中函数标识与第二分区中函数标识一致的函数描述信息,并建立第三分区中函数描述信息与第二分区中函数描述信息之间的对应关系。
步骤S12、将所述第二分区中的所述函数描述信息对应的函数地址和函数大小,更新为所述第三分区中对应函数描述信息的函数地址和函数大小。
在步骤S11之后,根据步骤S11中建立的对应关系,更新第三分区中的函数描述信息的函数地址和函数大小。使得蓝牙芯片在升级后,能够根据第三分区中函数描述信息,直接从第一分区内调用升级数据,实现系统的升级运行。
本实施例,通过对芯片的存储装置进行分区,将升级数据存储在第一分区内,将升级数据的函数描述信息存储在第二分区内,将芯片的原始运行函数的函数描述信息存储在第三分区内,通过根据第二分区中的函数描述信息对第三分区中的函数描述信息进行更新,使得芯片能够根据更新后的函数描述信息从第一分区内调用升级数据,从而实现芯片的OTA升级。与现有技术不同的是,本实施例提供的OTA升级方法是基于芯片其本身内置的存储装置来实现的。而不需要像现有技术那样,需要外接一个闪存才能实现。从而降低了芯片OTA升级的成本,且能够避免由于外界闪存所造成的数据传输的错误码问题,有效的提高了OTA升级的可靠性。
图3为本发明一实施例提供的蓝牙芯片的结构示意图,如图3所示,该蓝牙芯片包括存储装置10,该存储装置10包括:第一分区、第二分区和第三分区,其中,所述第三分区用于存储软件的运行函数的函数描述信息;
获取模块11,用于获取升级数据;
存储模块12,用于将升级数据存储在所述第一分区内,并将所述升级数据的函数描述信息存储在所述第二分区内;
更新模块13,用于根据所述第二分区中存储的所述升级数据的函数描述信息,更新所述第三分区内相应的函数描述信息,以便根据所述第三分区中更新后的函数描述信息,从所述第一分区内调用所述升级数据。
其中,所述函数描述信息包括:函数标识,以及所述函数标识对应的函数地址和函数大小。
所述存储装置10还包括:第四分区,用于存储OTA升级检测程序;
所述蓝牙芯片,还包括:
确定模块14,用于从所述第四分区内调用所述OTA升级检测程序,确定是否有OTA升级;
若有,则触发获取升级数据。
所述存储装置10还包括:第五分区,用于存储所述软件的运行函数;
其中,所述第三分区中存储的函数描述信息为初始化时根据所述第五分区中存储的运行函数生成的
优选的,所述存储装置10可以被具体为闪存。
本实施例提供的蓝牙芯片适用于图1实施例所示的方法,其执行方式和有益效果类似在这里不再赘述。
图4为本发明一实施例提供的更新模块13的结构示意图,如图4所示,在图3所示实施例的基础上,更新模块13包括:
确定子模块131,用于确定所述第二分区中与所述第三分区中函数标识相同的函数描述信息;
更新子模块132,用于将所述第二分区中的所述函数描述信息对应的函数地址和函数大小,更新为所述第三分区中对应函数描述信息的函数地址和函数大小。
本实施例提供的蓝牙芯片适用于图2实施例所示的方法,其执行方式和有益效果类似在这里不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (8)
1.一种OTA升级方法,所述方法应用于芯片的软件升级,所述芯片包括存储装置,其特征在于,所述存储装置包括:第一分区、第二分区和第三分区,其中,所述第三分区用于存储所述软件的运行函数的函数描述信息,所述方法包括:
获取升级数据;
将升级数据存储在所述第一分区内,并将所述升级数据的函数描述信息存储在所述第二分区内;
根据所述第二分区中存储的所述升级数据的函数描述信息,更新所述第三分区内相应的函数描述信息,以便根据所述第三分区中更新后的函数描述信息,从所述第一分区内调用所述升级数据;
所述存储装置还包括:第四分区,用于存储OTA升级检测程序;
所述获取升级数据之前,所述方法还包括:
从所述第四分区内调用所述OTA升级检测程序,确定是否有OTA升级;
若有,则获取升级数据。
2.根据权利要求1所述的方法,其特征在于,所述存储装置还包括:第五分区,用于存储所述软件的运行函数;
所述第三分区中存储的函数描述信息为初始化时根据所述第五分区中存储的运行函数生成的。
3.根据权利要求1或2所述的方法,其特征在于,所述函数描述信息包括:函数标识,以及所述函数标识对应的函数地址和函数大小;
所述根据所述第二分区中存储的所述升级数据的函数描述信息,更新所述第三分区内相应的函数描述信息,包括:
确定所述第二分区中与所述第三分区中函数标识相同的函数描述信息;
将所述第二分区中的所述函数描述信息对应的函数地址和函数大小,更新为所述第三分区中对应函数描述信息的函数地址和函数大小。
4.根据权利要求3所述的方法,其特征在于,所述芯片为蓝牙芯片,所述存储装置为闪存。
5.一种蓝牙芯片,包括存储装置,其特征在于,所述存储装置包括:第一分区、第二分区和第三分区,其中,所述第三分区用于存储软件的运行函数的函数描述信息,所述蓝牙芯片还包括:
获取模块,用于获取升级数据;
存储模块,用于将升级数据存储在所述第一分区内,并将所述升级数据的函数描述信息存储在所述第二分区内;
更新模块,用于根据所述第二分区中存储的所述升级数据的函数描述信息,更新所述第三分区内相应的函数描述信息,以便根据所述第三分区中更新后的函数描述信息,从所述第一分区内调用所述升级数据;
所述存储装置还包括:第四分区,用于存储OTA升级检测程序;
所述蓝牙芯片,还包括:
确定模块,用于从所述第四分区内调用所述OTA升级检测程序,确定是否有OTA升级;
若有,则触发获取升级数据。
6.根据权利要求5所述的蓝牙芯片,其特征在于,所述存储装置还包括:第五分区,用于存储所述软件的运行函数;
其中,所述第三分区中存储的函数描述信息为初始化时根据所述第五分区中存储的运行函数生成的。
7.根据权利要求5或6所述的蓝牙芯片,其特征在于,所述函数描述信息包括:函数标识,以及所述函数标识对应的函数地址和函数大小;
所述更新模块,包括:
确定子模块,用于确定所述第二分区中与所述第三分区中函数标识相同的函数描述信息;
更新子模块,用于将所述第二分区中的所述函数描述信息对应的函数地址和函数大小,更新为所述第三分区中对应函数描述信息的函数地址和函数大小。
8.根据权利要求7所述的蓝牙芯片,其特征在于,所述存储装置为闪存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610967225.3A CN106502750B (zh) | 2016-10-28 | 2016-10-28 | Ota升级方法及蓝牙芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610967225.3A CN106502750B (zh) | 2016-10-28 | 2016-10-28 | Ota升级方法及蓝牙芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106502750A CN106502750A (zh) | 2017-03-15 |
CN106502750B true CN106502750B (zh) | 2019-09-10 |
Family
ID=58322774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610967225.3A Active CN106502750B (zh) | 2016-10-28 | 2016-10-28 | Ota升级方法及蓝牙芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106502750B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107222643A (zh) * | 2017-07-25 | 2017-09-29 | 深圳市芯中芯科技有限公司 | 一种基于软件app技术的蓝牙设备固件升级方法及系统 |
CN111050313A (zh) * | 2019-12-05 | 2020-04-21 | 上海新微技术研发中心有限公司 | 低速率无线通信快速ota的方法 |
CN110740443A (zh) * | 2019-12-05 | 2020-01-31 | 上海新微技术研发中心有限公司 | 用于低速率无线通信快速ota的无线通信装置 |
CN115226094A (zh) * | 2022-07-08 | 2022-10-21 | 深圳市中易腾达科技股份有限公司 | 一种自动识别蓝牙芯片类型的ota升级方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216772A (zh) * | 2008-01-15 | 2008-07-09 | 中兴通讯股份有限公司 | 一种嵌入式设备的启动方法及软件升级方法 |
CN102945179A (zh) * | 2012-11-28 | 2013-02-27 | 青岛海信宽带多媒体技术有限公司 | 基于mtd分区的软件升级方法和装置 |
CN103176824A (zh) * | 2013-03-15 | 2013-06-26 | 青岛海信移动通信技术股份有限公司 | 一种系统升级的方法及装置 |
CN104572180A (zh) * | 2014-12-19 | 2015-04-29 | 沈阳东软医疗系统有限公司 | 一种嵌入式设备的固件升级方法及嵌入式系统 |
-
2016
- 2016-10-28 CN CN201610967225.3A patent/CN106502750B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216772A (zh) * | 2008-01-15 | 2008-07-09 | 中兴通讯股份有限公司 | 一种嵌入式设备的启动方法及软件升级方法 |
CN102945179A (zh) * | 2012-11-28 | 2013-02-27 | 青岛海信宽带多媒体技术有限公司 | 基于mtd分区的软件升级方法和装置 |
CN103176824A (zh) * | 2013-03-15 | 2013-06-26 | 青岛海信移动通信技术股份有限公司 | 一种系统升级的方法及装置 |
CN104572180A (zh) * | 2014-12-19 | 2015-04-29 | 沈阳东软医疗系统有限公司 | 一种嵌入式设备的固件升级方法及嵌入式系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106502750A (zh) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106502750B (zh) | Ota升级方法及蓝牙芯片 | |
CN106708543B (zh) | 一种操作系统的ota升级方法及装置 | |
CN102830984B (zh) | 固件更新的方法、芯片以及通信终端 | |
EP2456257B1 (en) | Method and system for upgrading wireless data card | |
CN110463162B (zh) | 应用部署方法、装置及系统 | |
CN104750528B (zh) | 一种Android程序中的组件管理方法和装置 | |
CN108027741A (zh) | 基于补丁升级的文件处理方法、装置、终端以及存储介质 | |
CN103580908A (zh) | 服务器的配置方法及系统 | |
CN104144466A (zh) | 物联网中传感器接入方法、物联网系统和服务器 | |
CN110311960A (zh) | 一种软件升级方法、装置、设备及储存介质 | |
CN108776587B (zh) | 数据获取方法、装置、计算机设备以及存储介质 | |
CN105721941A (zh) | 云电视的空中下载升级控制方法和装置 | |
CN108984198A (zh) | 一种Android系统的升级方法及装置 | |
CN107911741A (zh) | 可用存储空间提升方法、智能电视及计算机可读存储介质 | |
CN106201588A (zh) | 终端的软件升级方法和终端 | |
CN105204871A (zh) | 一种插件式开发方法和装置 | |
CN106201584B (zh) | 版本升级方法及终端设备 | |
CN105740027A (zh) | 应用程序更新方法和装置 | |
CN104216751A (zh) | 一种应用程序的功能组件界面资源的加载方法及系统 | |
CN109002314A (zh) | 软件更新方法、装置、电子设备及存储介质 | |
CN108121560A (zh) | 差分包升级方法、装置、终端及计算机可读存储介质 | |
US20160378553A1 (en) | Resource Management Method and Device for Terminal System | |
CN109859038B (zh) | 一种区块链智能合约的生效方法及装置 | |
CN111176652A (zh) | 应用程序管理的方法、装置、设备和介质 | |
CN109766115A (zh) | 一种智能设备升级的防呆方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 266100 Zhuzhou Road, Laoshan District, Shandong, No. 151, No. Patentee after: Hisense Video Technology Co.,Ltd. Address before: 266100 Zhuzhou Road, Laoshan District, Shandong, No. 151, No. Patentee before: HISENSE ELECTRIC Co.,Ltd. |