单片机系统更新方法和装置与流程

文档序号:12786136阅读:292来源:国知局
单片机系统更新方法和装置与流程

本发明涉及信息处理技术领域,特别是涉及一种单片机系统更新方法和装置。



背景技术:

传统的单片机系统更新方法,都是需要连接到电脑上,调用电脑上所安装的专用的单片机更新程序,来完成对该单片机的系统更新。这种方法必须依赖于电脑的辅助,从而使得单片机系统更新的效率不高。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高单片机系统更新效率的单片机系统更新方法和装置。

一种单片机系统更新方法,所述方法包括以下步骤:

接收系统更新指令;

根据所述系统更新指令从单片机内存中获取预设的更新文件;

运行所述更新文件,将所述更新文件中的更新程序写入单片机闪存中。

在其中一个实施例中,所述根据所述系统更新指令从单片机内存中获取预设的更新文件的步骤,包括:

根据所述系统更新指令从所述单片机内存中的预设路径中获取扩展名为预设数据类型的文件,作为所述更新文件。

在其中一个实施例中,当所述预设路径中不存在所述更新文件时,遍历所述内存中的文件;

将所述查找到的扩展名为预设数据类型的文件复制或剪切到所述预设路径中,作为所述更新文件。

在其中一个实施例中,在所述将所述更新文件中的更新程序写入单片机闪存中的步骤之后,还包括:

重启所述单片机,并在重启过程中,根据所述更新文件进行接口参数配置。

在其中一个实施例中,在所述运行所述更新文件的步骤之前,还包括:

检测是否存在未执行完毕的任务,若是,则等待所述未执行完毕的任务执行完毕后,或接收到强制进行系统更新的指令后,执行所述运行所述更新文件的步骤。

一种单片机系统更新装置,所述装置包括:

更新指令接收模块,用于接收系统更新指令;

更新文件获取模块,用于根据所述系统更新指令从单片机内存中获取预设的更新文件;

系统更新模块,用于运行所述更新文件,将所述更新文件中的更新程序写入单片机闪存中。

在其中一个实施例中,所述更新文件获取模块还用于根据所述系统更新指令从所述单片机内存中的预设路径中获取扩展名为预设数据类型的文件,作为所述更新文件。

在其中一个实施例中,所述更新文件获取模块还用于当所述预设路径中不存在所述更新文件时,遍历所述内存中的文件;将所述查找到的扩展名为预设数据类型的文件复制或剪切到所述预设路径中,作为所述更新文件。

在其中一个实施例中,所述系统更新模块还用于重启所述单片机,并在重启过程中,根据所述更新文件进行接口参数配置。

在其中一个实施例中,所述装置还包括:

任务检测模块,用于检测是否存在未执行完毕的任务,若是,则调用所述系统更新模块运行所述更新文件,将所述更新文件中的更新程序写入单片机闪存中。

上述的单片机系统更新方法和装置,通过从单片机内存中获取预设的更新文件,并运行该更新文件,将所述更新文件中的更新程序写入单片机闪存中,实现了对单片机系统的更新。由于是直接从自身内存中读取更新文件,从而无需借助专用的电脑,从而可提高系统更新的效率和更新的便利性。

附图说明

图1为一个实施例中单片机系统更新方法的流程图;

图2为一个实施例中单片机系统更新的界面示意图;

图3为一个另实施例中单片机系统更新方法的流程图;

图4为一个实施例中单片机系统更新装置的结构框图;

图5为另一个实施例中单片机系统更新装置的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在一个实施例中,如图1所示,提供了一种单片机系统更新方法,该方法可应用于单片机上。具体包括下述步骤S102~S106。其中:

步骤S102,接收系统更新指令。

本实施例中,单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

其中,单片机上运行有可进行系统更新的应用程序,通过该应用程序,可将控制单片机加载及写入更新文件,实现对该单片机的系统更新。通过启动该应用程序,获取作用于单片机上的实体或虚拟按键的操作,而触发该应用程序中的系统更新指令,对单片机进行系统更新。包括进行系统升级或系统还原等。

举例来说,若该单片机上预设有一个或多个实体按键的组合,可通过按照预设的顺序对该一个或多个实体按键的操作,触发该应用程序中的系统更新指令。或者,若该单片机可显示该应用程序的更新界面,该更新界面上包含用于进行系统更新的虚拟按键,可通过输入设备接收作用于该虚拟按键的触发操作,而触发该系统更新指令。

步骤S104,根据系统更新指令从单片机内存中获取预设的更新文件。

本实施例中,单片机内存(比如上述的随机存储器RAM)包括该单片机自身携带的固定内存,比如为该单片机自身的本地内存。还包括设置在该的单片机的内存插口中的外置内存,比如为接入该单片机上的U盘或者SD存储卡(Secure Digital Memory Card/SD card)等存储设备。

该内存中预先存储有更新文件,该更新文件用于进行该单片机的系统更新。单片机可根据系统更新指令,从任意一种内存中查找并获取该更新文件。当查询到的更新文件包括多个时,可提示用户进行选择。在接收到对其中一个更新文件的选择指令时,则将所选择的更新文件作为进行单片机系统更新的更新文件。若只存在一个,则可直接将该更新文件作为进行单片机系统更新的更新文件。

步骤S106,运行更新文件,将更新文件中的更新程序写入单片机闪存中。

本实施例中,单片机闪存(Flash EEPROM Memory,简称flash)一般用来存储用户程序和需要永久保存的数据。比如上述的可进行系统更新的应用程序即可存储在单片机的flash中。单片机可通过该应用程序来解析并运行该更新文件,将其内的更新程序写入单片机flash中,并运行该更新程序,刷新单片机中的程序存储芯片中的flash区,从而实现对该单片机的升级。具体的,可擦除闪存中原来所存储的系统数据,并将所解析出的更新文件中的系统数据替换掉原来的系统数据,实现系统更新。

上述的单片机系统更新方法,通过从单片机内存中获取预设的更新文件,并运行该更新文件,将更新文件中的更新程序写入单片机闪存中,实现了对单片机系统的更新。由于是直接从自身内存中读取更新文件,从而无需借助专用的电脑,从而可提高系统更新的效率和更新的便利性。

在一个实施例中,根据系统更新指令从单片机内存中获取预设的更新文件的步骤,包括:根据系统更新指令从单片机内存中的预设路径中获取扩展名为预设数据类型的文件,作为更新文件。

本实施例中,更新文件通常需要被存放在特定的一个或多个路径下,才可被该应用程序所识别,且更新文件的扩展名为某一种特定的扩展名(即文件的后缀名)。可将该特定的一个或多个路径均作为预设路径,将该特定的扩展名作为预设扩展名。单片机可通过该应用程序获从每个预设路径中,获取每个文件所携带的扩展名,并检测该扩展名是否和预设的扩展名是否相同。若是,则将该文件作为更新文件。

如图2所示,为一个实施例中单片机系统更新的界面示意图。其中,对应的系统更新具体为系统升级。预设更新文件的扩展名为“bin”。预设路径为任意磁盘根目录下的“XXX”文件夹。其中,上述的内存即包括本地磁盘、U盘和SD卡。单片机可在该三个磁盘的根目录下的“XXX”文件夹检索对应扩展名为“bin”的文件,并展示检索结果。在该界面上展示每个预设路径下所存在的每个更新文件,并接收用户对其中一个更新文件的选择指令,在确定所选取的更新文件后,可提示用户是否开始进行系统更新,在接收到开始系统更新的确认指令后,执行上述的步骤S106。比如在确定了更新文件和路径后,可接收对该界面中的“开始升级”的按钮的点击指令,执行上述的步骤S106,并在界面中以进度条的样式显示系统更新的进度。

在一个实施例中,当预设路径中不存在更新文件时,遍历内存中的文件;将查找到的扩展名为预设数据类型的文件复制或剪切到预设路径中,作为更新文件。

本实施例中,未在该预设路径中检索到相应的更新文件时,可从该内存中遍历所有的文件,检测其它路径中是否存在相应扩展名的文件,并将检索到的扩展名复制或剪切到其中一个预设路径中,将其作为更新文件。具体的,可在展示界面中显示检索到的扩展名为预设扩展名的文件,并接收用户对其中一个文件的选择指令,将所选择的文件复制或剪切到指定的其中一个预设路径中。比如,在接收到所对其中一个文件的选取指令后,可根据该选取指令,自动将其复制到本地的磁盘的根目录下的“XXX”文件夹。并在接收到开始进行系统更新的指令后,执行上述的步骤S106,或者在复制完毕后,则立即执行上述的步骤S106。

本实施例中,还考虑到了预设路径中不存在该更新文件的情况,在出现该情况时,从内存中遍历该更新文件,将检索到的更新文件复制或剪切到该预设路径中,以使得可以顺利地进行系统更新,进一步提高了单片机的系统更新的效率。

在一个实施例中,如图3所示,提供了另一种单片机系统升级方法,该方法在上述的步骤S106之后,还包括:

步骤S108,重启单片机,并在重启过程中,根据更新文件进行接口参数配置。

本实施例中,在重启开机过程中,可重置与该单片机的接口调用内容,实现对接口参数的更新,以完善单片机的系统更新。这样相对于为了升级某个单片机软件而升级整个系统的软件来说,更加便捷。

在一个实施例中,在运行更新文件的步骤之前,上述的单片机系统升级方法还包括:检测是否存在未执行完毕的任务,若是,则等待未执行完毕的任务执行完毕后,或接收到强制进行系统更新的指令后,执行运行更新文件的步骤。

本实施例中,在可检测该单片机上是否还存在与系统更新无关的应用程序的执行。具体的,可检测任务管理器中是否具有正在执行的其它应用程序,并等待上述的应用程序执行完毕后,则运行该更新文件。或者,可在界面中显示未执行完毕的应用程序,提示用户是否强行进行更新,若是,则可备份上述的未执行完毕的应用程序,并运行该更新文件,在系统更新完毕后,根据所备份的信息,继续启动该应用程序并执行。在一个实施例中,上述的步骤,可在步骤S102之后、步骤S106之前的任意过程中执行,并不作具体的限定。

在一个实施例中,在步骤S106之前,可解析待运行的更新文件中,检测该更新文件中是否包含进行系统更新的所有必备的系统数据。若是,则执行步骤S106。否则,可显示缺乏必要的系统数据的信息。

本实施例中,单片机中还预先设置了进行系统更新所需的部分或全部的必要更新数据的信息。比如,可设置更新数据对应的调用函数、指令等,或者一些相关的必备关键字。单片机可解析所获取的更新文件中,是否存在上述的更新数据,以进行对更新文件的完整性校验。如检测该更新文件缺乏所必须的更新数据,或者出现了不允许出现的更新数据,则进行提示。并进一步提示是否放弃运行该更新文件,并提供是否继续进行系统更新的选项。若接收到放弃运行的指令时,则取消系统更新;若接收到继续更新的指令时,则执行上述步骤S106,运行该更新文件,进行系统更新。若检测不缺乏必要的更新数据,且不存在不允许的更新数据时,则直接执行上述的步骤S106。

本实施例中,通过检测更新文件中是否存在必要的更新数据,可进一步确保更新文件的完整性,以避免所确定的更新文件出现故障,降低了系统更新的风险。

在一个实施例中,如图4所示,为一个实施例中单片机系统更新装置,该装置可运行在单片机上。包括:具体的:更新指令接收模块402、更新文件获取模块404和系统更新模块406。其中:

更新指令接收模块402,用于接收系统更新指令。

更新文件获取模块404,用于根据系统更新指令从单片机内存中获取预设的更新文件。

系统更新模块406,用于运行更新文件,将更新文件中的更新程序写入单片机闪存中。

在一个实施例中,更新文件获取模块404还用于根据系统更新指令从单片机内存中的预设路径中获取扩展名为预设数据类型的文件,作为更新文件。

在一个实施例中,更新文件获取模块404还用于当预设路径中不存在更新文件时,遍历内存中的文件;将查找到的扩展名为预设数据类型的文件复制或剪切到预设路径中,作为更新文件。

在一个实施例中,系统更新模块406还用于重启单片机,并在重启过程中,根据更新文件进行接口参数配置。

在一个实施例中,如图5所示,为另一个实施例中单片机系统更新装置。该装置还包括:

任务检测模块508,用于检测是否存在未执行完毕的任务,若是,则调用系统更新模块运行更新文件,将更新文件中的更新程序写入单片机闪存中。

在一个实施例中,系统更新模块406还用于解析待运行的更新文件中,检测该更新文件中是否包含进行系统更新的所有必备的系统数据,若是,则运行更新文件,将更新文件中的更新程序写入单片机闪存中。

上述的单片机系统更新装置,通过从单片机内存中获取预设的更新文件,并运行该更新文件,将更新文件中的更新程序写入单片机闪存中,实现了对单片机系统的更新。由于是直接从自身内存中读取更新文件,从而无需借助专用的电脑,从而可提高系统更新的效率和更新的便利性。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1