掌桥专利:专业的专利平台
掌桥专利
首页

一种单片机固件在线升级的方法及装置

文献发布时间:2024-04-18 20:01:30


一种单片机固件在线升级的方法及装置

技术领域

本申请涉及单片机技术领域,具体涉及一种单片机固件在线升级的方法及装置。

背景技术

单片机是采用超大规模集成电路技术把具有数据处理能力的计算机系统集成到一个芯片上,形成芯片级的计算机。单片机在国内外有着广泛的应用基础,大量应用在各行业的电子设备中。当电子设备中出现功能增加、软件BUG修复以及需求变更等情况时,都需对电子设备中的单片机进行固件升级,以此在应用过程中消除程序的缺陷或增加新的功能。

目前,在对电表单片机进行固件升级时,为保证单片机的安全性,一般采用固件在线升级的方式,在实际情况中,即通过通信接口下发所需要升级的固件包后,再由以下两种方式来完成后续升级。第一种方式:将固件包保存到外部FLASH存储器,所有数据全部接收完毕且校验通过后,将外部FLASH存储器中的数据拷贝到单片机内部FLASH来完成升级;第二种方式:将固件包保存到单片机内部FLASH的代码备份区,所有数据全部接收完毕且校验通过后,修改内部标识启用代码备份区程序来完成升级。第一种方式需要增加外部FLASH存储器,会占用单片机引脚以及增加外围电路;第二种方式需要双倍存储空间,对单片机内部FLASH资源要求高。当要在已经成熟定型的单片机产品上增加固件在线升级功能时,由于单片机引脚已固定,不能增加外围电路,无法采用第一种方式;由于单片机的内部空间无法进行增加,也无法采用第二种方式。以上两种方式都不能满足这一类单片机产品的固件在线升级要求,导致单片机无法进行固件升级。

因此,亟需一种新的方式来解决上述技术问题。

发明内容

本申请提供了一种单片机固件在线升级的方法及装置,该方法对单片机的硬件要求较低,可在成熟且定型的单片机上增加固件在线升级功能,适用于所有单片机的固件在线升级。

第一方面,本申请提供了一种单片机固件在线升级的方法,应用于单片机中,接收上位机发送的固件升级数据包;判断第一数量与预设数量是否相等,预设数量为上位机发送固件升级数据包的数量,第一数量为单片机接收固件升级数据包的数量;当第一数量与预设数量相等时,确认单片机接收固件升级数据包正确;将第一固件升级数据包删除,且将固件升级数据包存储在第一固件升级数据包对应的位置,第一固件升级数据包为未升级前的固件升级包,以便于使用固件升级数据包完成单片机的固件升级。

通过采用上述技术方案,可在已经成熟定型的单片机产品上增加固件在线升级功能,无需增加外围电路,存储空间也无需进行增加,该方法对单片机的硬件要求较低。

可选的,单片机的芯片程序包括升级信息区;获取升级信息区对应的第一版本;判断第一版本与预设版本是否一致,第一版本为单片机的当前版本;预设版本为固件升级数据包所对应的版本;若第一版本与预设版本不一致,确认单片机存在固件升级需求。

通过采用上述技术方案,在已经成熟定型的单片机上增加固件在线升级后,当电表中的需求发生变更时,要对单片机的固件进行升级,保证电表固件的需求符合多种场景。

可选的,固件升级数据包包括多个子数据包,多个子数据包包括第一子数据包。

通过采用上述技术方案,上位机在发送固件升级数据包时,将固件升级数据包分成若干个小包,再将若干个小包依次进行发送,防止因固件升级数据包过大,单次无法进行发送。

可选的,接收上位机发送的第一子数据包;判断第一命令帧是否满足预设条件,第一命令帧为第一子数据包对应的信息,预设条件包括帧起始符、地址域、控制码、数据域长度、数据域以及校验码中多种校验条件;当第一命令帧满足预设条件时,确认将第一子数据包存储在第一固件升级数据包对应的位置。

通过采用上述技术方案,单片机接收上位机发送的第一子数据包后,对第一子数据包的命令帧进行校验,当命令帧校验正确后。确认在发送过程中,第一子数据包的内容未发生篡改。

可选的,单片机的芯片程序包括引导程序区和应用程序区,获取引导程序区生成的第一文件;获取应用程序区生成的第二文件;根据预设规则将第一文件与第二文件进行合并,生成第三文件;将第三文件存储至升级信息区,第三文件包括第一版本。

通过采用上述技术方案,省去需分两步进行发送,引导程序区和应用程序区共用一个,只需发送一次,引导程序区和应用程序区同时进行。减少升级需等待的时间,进而提升运行效率。

可选的,当第一版本与预设版本一致时,确认单片机不存在固件升级需求。

通过采用上述技术方案,当电表中的需求未发生变更时,无需对单片机的固件进行升级。防止因事先未对单片机的版本进行判断,直接对单片机进行升级,导致重复升级过程,影响单片机使用。

可选的,第一命令帧根据DLT645-2007协议进行定义。

通过采用上述技术方案,适用于多功能电表与终端设备进行点到点或其他的数据交换方式,规定了物理连接、通信链路及应用技术规范。

在本申请的第二方面提供了一种单片机固件在线升级的装置,装置为单片机,单片机包括接收单元、处理单元以及替换单元;接收单元:接收上位机发送的固件升级数据包;处理单元:判断第一数量与预设数量是否相等,预设数量为上位机发送固件升级数据包的数量,第一数量为单片机接收固件升级数据包的数量;替换单元:当第一数量与预设数量相等时,确认单片机接收固件升级数据包正确,将第一固件升级数据包删除,且将固件升级数据包存储在第一固件升级数据包对应的位置,第一固件升级数据包为未升级前的固件升级包,以便于使用固件升级数据包完成单片机的固件升级。

可选的,单片机的芯片程序包括升级信息区;接收单元用于获取升级信息区对应的第一版本;处理单元用于判断第一版本与预设版本是否一致,第一版本为单片机的当前版本;预设版本为固件升级数据包所对应的版本;若第一版本与预设版本不一致,确认单片机存在固件升级需求。

可选的,固件升级数据包包括多个子数据包,多个子数据包包括第一子数据包。

可选的,接收单元用于接收上位机发送的第一子数据包;处理单元用于判断第一命令帧是否满足预设条件,第一命令帧为第一子数据包对应的信息,预设条件包括帧起始符、地址域、控制码、数据域长度、数据域以及校验码中多种校验条件;替换单元用于当第一命令帧满足预设条件时,确认将第一子数据包存储在第一固件升级数据包对应的位置。

可选的,单片机的芯片程序包括引导程序区和应用程序区,接收单元用于获取引导程序区生成的第一文件;接收单元用于获取应用程序区生成的第二文件;处理单元用于根据预设规则将第一文件与第二文件进行合并,生成第三文件;将第三文件存储至升级信息区,第三文件包括第一版本。

可选的,处理单元用于当第一版本与预设版本一致时,确认单片机不存在固件升级需求。

可选的,第一命令帧根据DLT645-2007协议进行定义。

在本申请第三方面提供一种电子设备,电子设备包括处理器、存储器、用户接口及网络接口,存储器用于存储指令,用户接口和网络接口用于给其他设备通信,处理器用于执行存储器中存储的指令,使得一种电子设备执行如本申请上述中任意一项的方法。

在本申请第四方面提供一种计算机可读存储介质,计算机可读存储介质存储有指令,当指令被执行时,执行本申请上述中任意一项的方法。

综上,本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

1、可在已经成熟定型的单片机产品上增加固件在线升级功能,无需增加外围电路,存储空间也无需进行增加,该方法对单片机的硬件要求较低。

2、在已经成熟定型的单片机上增加固件在线升级后,当电表中的需求发生变更时,要对单片机的固件进行升级,保证电表固件的需求符合多种场景。

3、确认在发送过程中,固件升级数据包的内容未发生篡改。

4、减少升级需等待的时间,进而提升运行效率。

附图说明

图1是本申请实施例提供的一种单片机固件在线升级的方法的第一流程示意图;

图2是本申请实施例提供的一种单片机固件在线升级的方法的第二流程示意图;

图3是本申请实施例提供的一种单片机固件在线升级的方法的第三流程示意图;

图4是本申请实施例提供的一种单片机固件在线升级的方法的第四流程示意图;

图5是本申请实施例提供的一种单片机固件在线升级的装置的结构示意图;

图6是本申请实施例的公开的一种电子设备的结构示意图。

附图标记说明:501、接收单元;502、处理单元;503、替换单元;600、电子设备;601、处理器;602、通信总线;603、用户接口;604、网络接口;605、存储器。

具体实施方式

为了使本领域的技术人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。

在本申请实施例的描述中,“例如”或者“举例来说”等词用于表示作例子、例证或说明。本申请实施例中被描述为“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。

在本申请实施例的描述中,术语“多个”的含义是指两个或两个以上。例如,多个系统是指两个或两个以上的系统,多个屏幕终端是指两个或两个以上的屏幕终端。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

单片机在国内外有着广泛的应用基础,大量应用在各行业的电子设备中。在使用电子设备过程中经常需要更新单片机中的应用程序,更新单片机的应用程序主要是消除在应用过程中,发现程序的缺陷或增加新的功能,因此,要对单片机的用户程序进行升级已成为众多电子设备的一项基本功能。

目前,在对单片机内部的程序固件做升级时,为了保证单片机的安全性,一般都采用在线升级的方式。在实际情况中,即通过通信接口下发所需要升级的固件包后,再由以下两种方式来完成后续升级。第一种方式:将固件包保存到外部FLASH存储器,所有数据全部接收完毕且校验通过后,将外部FLASH存储器中的数据拷贝到单片机内部FLASH来完成升级;使用第一种方式进行升级,需要增加外部FLASH存储器,会占用单片机引脚以及增加外围电路。第二种方式:将固件包保存到单片机内部FLASH的代码备份区,所有数据全部接收完毕且校验通过后,修改内部标识启用代码备份区程序来完成升级;使用第二种方式进行升级,需要双倍存储空间,对单片机内部FLASH资源要求高。

当使用以上两种方式对固件进行在线升级时,都对单片机的硬件有一定的要求,而且以上两种方式的实际成本较高,不适合对所有单片机进行在线升级。例如要在已经定型的单片机产品上增加固件在线升级功能时,当这一类单片机的硬件不满足以上两种方式的固件在线升级要求,导致单片机无法进行固件升级。因此,需要提出一种新的方式,对单片机的硬件要求较低,适用于对所有的单片机进行在线升级,是目前亟需解决的问题。

本申请实施例提供的一种单片机固件在线升级的方法,应用于单片机中。本申请的单片机应用于电表产品中,图1是本申请实施例提供的一种单片机固件在线升级的方法的第一流程示意图,参考图1,该方法包含以下步骤S101-步骤S104。

步骤S101:接收上位机发送的固件升级数据包。

在上述步骤中,上位机是指直接发出操控命令的计算机,此处的上位机是指对代表发出操控命令的计算机。单片机确认当前固件版本需升级,单片机中的引导程序接收上位机发送的固件升级数据包。

根据单片机的实际情况,对单片机的固件进行在线升级之前,对单片机当前的版本进行判断,根据判断结果确定单片机是否存在固件升级需求。如图2所示,图2是本申请实施例提供的一种单片机固件在线升级的方法的第二流程示意图,该方法包含以下步骤S201-步骤S203。

步骤S201:获取升级信息区对应的第一版本。

在上述步骤中,将单片机的芯片程序划分为升级信息区、引导程序区以及应用程序区,升级信息区包括升级标识、程序版本、栈顶地址、复位中断向量地址、累加和、保留以及信息区备份。引导程序区的中断向量表从0x0000h地址开始,程序位于0x0100h地址开始,0x1EFFh地址结束区间内。应用程序区的中断向量表从0x0000h地址开始,程序空间从0x2000h地址开始,以单片机内部实际存储空间最大值为地址结束。

引导程序区实现单片机内部的FLASH编程、串口驱动、简单通信协议以及地址跳转四个功能,此处串口驱动是指单片机的通信接口;此处简单通信协议包括DLT645-2007协议;此处地址跳转是指让重新进行启动或升级的操作。应用程序区实行单片机产品的所有功能,例如内存、只读存储器、程序计数器以及输入和输出。由于上述引导程序区只需实现单片机内部的四个功能,故引导程序的代码量少,逻辑简单,易于维护。根据升级信息区对应的内容,单片机获取升级信息区的升级标识,此时升级标识代表第一版本。

步骤S202:判断第一版本与预设版本是否一致,第一版本为单片机的当前版本;预设版本为固件升级数据包所对应的版本。

在上述步骤中,单片机获取第一版本后,单片机接收预设版本,预设版本是指上位机发送的固件升级数据包所对应的版本;单片机判断第一版本与预设版本是否一致。

举例来说,单片机型号为A,单片机A获取升级信息区的升级标识,即第一版本为10,单片机A接收上位机发送的固件升级数据包所对应的预设版本,即预设版本为20。

步骤S203:若第一版本与预设版本不一致,确认单片机存在固件升级需求。

在上述步骤中,单片机判断第一版本与预设版本是否一致,通过判断结果来确认单片机是否需要升级。当第一版本与预设版本不一致时,确认单片机当前的版本为历史旧版本,需对单片机的固件进行升级,即单片机操作固件升级需求,对单片机转入升级模式,即单片机接收上位机发送的固件升级数据包。

在上述举例中,第一版本与预设版本不一致,确认单片机A存在固件升级需求,即单片机A转入升级模式。

进一步,当第一版本与预设版本一致时,确认单片机当前的版本为最新版本,无需对单片机的固件进行升级,单片机不存在固件升级需求。判断单片机是否存在固件升级需求,判断结果是基于当前时刻获取升级区对应的第一版本,判断第一版本与预设版本是否一致,当第一版本与预设版本不一致时,只能确认当前时刻的单片机存在固件升级需求;当第一版本与预设版本一致时,只能确认当前时刻的单片机不存在固件升级需求,该判断只是针对当前时刻单片机对应的状态,而不能将判断结果作为单片机唯一对应状态。可设置间隔时间段,获取单片机对应的第一版本,以此来确认单片机是否存在升级需求。

步骤S102:判断第一数量与预设数量是否相等。

在上述步骤中,预设数量为上位机发送固件升级数据包的数量,第一数量为单片机接收固件升级数据包的数量。上位机在向单片机发送固件升级数据包时,会先将固件升级数据包分成若干份,然后再通过分包传输方案,将固件升级数据包依次进行传输,固件升级数据包包括多个子数据包,上位机每发送一次子数据包,预设数量对应加1,预设数量初始值为0。单片机每接收一次子数据包,第一数量对应加1,第一数量初始值为0。例如,上位机将固件升级数据包分成10个子数据包,分10次发送给单片机,此时预设数量为10。单片机接收上位机发送的10个子数据包,此时第一数量为10。判断第一数量与预设数量是否相等,判断两者数量是否相等,是为了防止在传输过程中子数据包被丢弃,导致单片机接收子数据包的数量与上位机发送子数据包的不相等,进而无法使用固件升级数据包对单片机进行升级。

单片机在接收上位机发送的子数据包后,对子数据包进行校验,是为了防止发送的子数据包与该单片机的功能不匹配,导致单片机无法正常进行升级,影响单片机的固件升级。如图3所示,图3是本申请实施例提供的一种单片机固件在线升级的方法的第三流程示意图,该方法包含以下步骤S301-步骤S303。

步骤S301:接收上位机发送的第一子数据包。

在上述步骤中,将固件升级数据包分成多个子数据包,多个子数据包包括第一子数据包,单片机接收上位机发送的第一子数据包。例如,将单片机A的固件升级数据包分成5个子数据包,5个子数据包包括第一子数据包、第二子数据包、第三子数据包、第四子数据包以及第五子数据包。上位机获取第一子数据包,上位机将第一子数据发送给单片机A,单片机A接收上位机发送的第一子数据包。在实际发送过程中,可根据实际情况设置依次发送顺序,这里不进行限定。

步骤S302:判断第一命令帧是否满足预设条件,第一命令帧为第一子数据包对应的信息,预设条件包括帧起始符、地址域、控制码、数据域长度、数据域以及校验码中多种校验条件。

在上述步骤中,单片机接收第一子数据包后,获取第一子数据包对应的信息,第一子数据包对应的信息包括帧起始符、地址域、帧起始符、控制码、数据域长度、数据域、校验码以及结束符;将第一子数据包对应的信息命名为第一命令帧。判断第一命令帧是否满足预设条件,预设条件是根据单片机内部存储区域设置的多种校验条件,当第一命令帧满足预设条件,证明第一子数据包为单片机内部某个区域的固件升级数据包。

示例的,获取单片机A的第一命令帧,第一命令帧为主站请求帧,都一样命令帧包括帧起始符68H、地址域A0-A5、帧起始符68、控制码11H、数据域长度04H、数据域D10-D13、校验码CS以及结束符16H;预设条件包括帧起始符为68H、地址域A0-A5、控制码11H、数据域长度04H、数据域D10-D13以及校验码CS,判断第一命令帧是否满足预设条件。

步骤S303:当第一命令帧满足预设条件时,确认将第一子数据包存储在第一固件升级数据包对应的位置。

在上述步骤中,当第一命令帧满足预设条件时,单片机确认第一子数据包校验通过,校验通过后对单片机内部FLASH相应区域的历史数据进行删除,删除后,再将第一子数据包存储在第一固件升级数据包对应的FLASH区域。

在上述示例中,第一命令帧满足预设条件后,将第一位置的历史数据进行删除,删除后再将第一子数据包存储在第一位置中,此处第一位置是指单片机内部存储第一固件升级数据包对应的FLASH区域。

进一步,当第一命令帧不满足预设条件,确认第一子数据包校验不通过,将第一子数据包进行删除,单片机向上位机发送提示信息,提示上位机重新发送第一子数据包,单片机接收新的第一子数据包后,按照上述流程,对第一子数据包进行校验。

步骤S103:当第一数量与预设数量相等时,确认单片机接收固件升级数据包正确。

在上述步骤中,上位机确认将固件升级数据包发送完毕后,获取预设数量。单片机接收上位机发送的固件升级数据包后,在间隔时间内,确认上位机将故固件升级数据包已发送完毕,获取第一数量。当第一数量与预设数量相等时,确认上位机发送的固件升级数据包单片机已接收,且接收固件升级数据包的数量与发送数量一致,在传输过程中,固件升级数据包未发生丢失。

步骤S104:将第一固件升级数据包删除,且将固件升级数据包存储在第一固件升级数据包对应的位置,第一固件升级数据包为未升级前的固件升级包,以便于使用固件升级数据包完成单片机的固件升级。

在上述步骤中,单片机中的引导程序在接收固件升级数据包后,对固件升级数据包进行校验,校验通过后,将未升级前的第一固件升级数据包进行删除,且将固件升级数据包存储在第一固件升级数据包对应的位置,以确保可使用固件升级数据包完成对单片机的固件升级过程。

在对电表单片机进行固件升级时,为保证单片机的安全性,除了采用上述两种方式,还可以采取第三种方式,即微控制器芯片的存储区主要分为程序引导区和程序应用区两部分,两个部分分别配置一个中断向量表。程序固件升级过程中,程序引导区的中断向量表接收升级数据包后,先将升级数据包写入程序引导区后,程序应用区的中断向量表再接收数据包,再将数据包写入程序应用区。但使用第三种方式进行固件升级时,会先写入引导程序,再写入应用程序,整个升级方法需要分两个步骤进行,即要在两个中断向量表之间进行偏移,需要长时间的等待才能升级完成,由于升级时间较长,影响程序运行效率。

为了减少等待时间,提高程序运行效率,采用引导程序与应用程序共用中断向量表的形式,无需对中断向量表进行偏移。如图4所示,图4是本申请实施例提供的一种单片机固件在线升级的方法的第四流程示意图,该方法包含以下步骤S401-步骤S403。

步骤S401:获取引导程序区生成的第一文件。

在上述步骤中,单片机的芯片程序还包括引导程序区,根据引导程序区生成的bin文件,即将程序编译为二进制机器码,此处将引导程序区生成的bin文件定义为第一文件。

步骤S402:获取应用程序区生成的第二文件。

在上述步骤中,单片机的芯片程序还包括应用程序去,根据应用程序区生成的bin文件,即将程序编译为二进制机器码,此处将应用程序去生成bin文件定义为第二文件。

步骤S403:根据预设规则将第一文件与第二文件进行合并,生成第三文件;将第三文件存储至升级信息区,第三文件包括第一版本。

在上述步骤中,预设规则是指将应用程序区和引导程序区中相同地址共同进行使用,在将栈顶地址与复位中断向量地址存储在升级信息区中,将引导程序中的升级信息区存储在升级信息区中。将第一文件和第二文件合并成为一个bin文件后,即bin文件为第三文件,用烧录工具对bin文件进行编程,将bin文件下载到单片机中,单片机即可运行。这样可以简化编译下载时间,即可以省去编译时间,方便一些测试程序验证硬件功能。

此外,引导程序区和应用程序区共用一个中断向量表,上位机在发送中断信息时,只需发送一次给中断向量表,中断向量表根据接收的中断信息,同时在引导程序区和应用程序区只需相对应的操作,省去需分两个步骤进行发送,提高程序运行效率。

在对单片机的固件进行升级后,对单片机系统上电或复位启动,引导程序区判断升级信息区的升级标识是否为当前最新升级标识,当升级标识为当前最新升级标识,单片机进行运行模式。使用应用程序的栈顶地址来恢复栈顶值,并跳转到应用程序的复位向量处,开始运行应用程序。当有升级需求时,上位机通过获取升级信息区对应的版本信息,判断版本信息是否需要升级,如需要则更新升级信息区的升级标识和新程序版本,上位机以命令帧的方式发送给应用程序区,应用程序校验通过后,重新启动程序,启动程序后,引导程序区对升级信息区的内容进行校验,当不存在固件升级需求时,单片机进行运行模式。

本申请实施例还提供了一种单片机固件在线升级的装置,图5是本申请实施例提供的一种单片机固件在线升级的装置的结构示意图,参考图5,单片机包括接收单元501、处理单元502以及替换单元503。

接收单元501:接收上位机发送的固件升级数据包。

处理单元502:判断第一数量与预设数量是否相等,预设数量为上位机发送固件升级数据包的数量,第一数量为所述单片机接收固件升级数据包的数量。

替换单元503:当第一数量与预设数量相等时,确认单片机接收固件升级数据包正确,将第一固件升级数据包删除,且将固件升级数据包存储在第一固件升级数据包对应的位置,第一固件升级数据包为未升级前的固件升级包,以便于使用固件升级数据包完成单片机的固件升级。

在一种可能的实施方式中单片机的芯片程序包括升级信息区;接收单元501用于获取升级信息区对应的第一版本;处理单元502用于判断第一版本与预设版本是否一致,第一版本为单片机的当前版本;预设版本为固件升级数据包所对应的版本;若第一版本与预设版本不一致,确认单片机存在固件升级需求。

在一种可能的实施方式中,固件升级数据包包括多个子数据包,多个子数据包包括第一子数据包。

在一种可能的实施方式中,接收单元501用于接收上位机发送的第一子数据包;处理单元502用于判断第一命令帧是否满足预设条件,第一命令帧为第一子数据包对应的信息,预设条件包括帧起始符、地址域、控制码、数据域长度、数据域以及校验码中多种校验条件;替换单元用于当第一命令帧满足预设条件时,确认将第一子数据包存储在第一固件升级数据包对应的位置。

在一种可能的实施方式中,单片机的芯片程序包括引导程序区和应用程序区,接收单元501用于获取引导程序区生成的第一文件;接收单元501用于获取应用程序区生成的第二文件;处理单元502用于根据预设规则将第一文件与第二文件进行合并,生成第三文件;将第三文件存储至升级信息区,第三文件包括第一版本。

在一种可能的实施方式中,处理单元502用于当第一版本与预设版本一致时,确认单片机不存在固件升级需求。

在一种可能的实施方式中,第一命令帧根据DLT645-2007协议进行定义。

需要说明的是:上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置和方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本申请还公开一种电子设备。参照图6,图6为本申请实施例提供了一种电子设备的结构示意图。所述电子设备600可以包括:至少一个处理器601,至少一个网络接口604,用户接口603,存储器605,至少一个通信总线602。

其中,通信总线602用于实现这些组件之间的连接通信。

其中,用户接口603可以包括显示屏(Display)、摄像头(Camera),可选用户接口603还可以包括标准的有线接口、无线接口。

其中,网络接口604可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。

其中,处理器601可以包括一个或者多个处理核心。处理器601利用各种接口和线路连接整个服务器内的各个部分,通过运行或执行存储在存储器605内的指令、程序、代码集或指令集,以及调用存储在存储器605内的数据,执行服务器的各种功能和处理数据。可选的,处理器601可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器601可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用请求等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器601中,单独通过一块芯片进行实现。

其中,存储器605可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器605包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器605可用于存储指令、程序、代码、代码集或指令集。存储器605可包括存储程序区和存储数据区,其中,存储程序区。可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及的数据等。存储器605可选的还可以是至少一个位于远离前述处理器601的存储装置。

如图6所示,作为一种计算机存储介质的存储器605中可以包括操作系统、网络通信模块、用户接口模块以及单片机固件在线升级的应用程序。

在图6所示的电子设备600中,用户接口603主要用于为用户提供输入的接口,获取用户输入的数据;而处理器601可以用于调用存储器605中存储单片机固件在线升级的应用程序,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。

一种电子设备可读存储介质,所述电子设备可读存储介质存储有指令。当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必需的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所披露的装置,可通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其他的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践真理的公开后,将容易想到本公开的其他实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。

技术分类

06120116561764