CN116431231A - 微控制单元及其升级方法、装置、存储介质和电子设备 - Google Patents
微控制单元及其升级方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN116431231A CN116431231A CN202310405018.9A CN202310405018A CN116431231A CN 116431231 A CN116431231 A CN 116431231A CN 202310405018 A CN202310405018 A CN 202310405018A CN 116431231 A CN116431231 A CN 116431231A
- Authority
- CN
- China
- Prior art keywords
- memory
- upgrade
- configuration information
- address configuration
- application program
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000015654 memory Effects 0.000 claims abstract description 306
- 239000003999 initiator Substances 0.000 claims abstract description 18
- 230000004044 response Effects 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 claims description 8
- 230000004913 activation Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/4408—Boot device selection
-
- 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
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及微控制单元及其升级方法、装置、存储介质和电子设备。应用于一种微控制单元,微控制单元包括第一存储器、第二存储器和第三存储器,第一存储器用于存储地址配置信息,第二存储器用于存储引导启动程序文件,第三存储器用于存储应用程序文件,上述微控制单元的升级方法包括:响应于启动信号,读取第一存储器中的地址配置信息;在地址配置信息指向第二存储器的情况下,基于引导启动程序文件在第二存储器中执行针对应用程序的升级操作;在升级操作成功的情况下,更新第一存储器中的地址配置信息,以使得地址配置信息指向第三存储器,本公开的boot和app处于不同存储器中,增加了可靠性。
Description
技术领域
本公开涉及系统升级技术领域,尤其涉及微控制单元及其升级方法、装置、存储介质和电子设备。
背景技术
现有技术中,微控制单元(Microcontroller Unit,MCU)中的引导启动程序(boot)和应用程序(app)放在同一块存储器中,在软件启动时,需要从boot启动,然后跳转到app,降低了软件的启动效率以及系统的可靠性。
发明内容
为了解决上述提出的至少一个技术问题,本公开提出了微控制单元及其升级方法、装置、存储介质和电子设备。
根据本公开的一方面,提供了一种微控制单元的升级方法,应用于一种微控制单元,所述微控制单元包括第一存储器、第二存储器和第三存储器,所述第一存储器用于存储地址配置信息,所述第二存储器用于存储引导启动程序文件,所述第三存储器用于存储应用程序文件,上述方法包括:
响应于启动信号,读取所述第一存储器中的所述地址配置信息;
在所述地址配置信息指向所述第二存储器的情况下,基于所述引导启动程序文件在所述第二存储器中执行针对应用程序的升级操作;
在升级操作成功的情况下,更新所述第一存储器中的地址配置信息,以使得所述地址配置信息指向所述第三存储器。
在一些可能的实施方式中,在所述响应于启动信号,读取所述第一存储器中的所述地址配置信息之后,所述方法还包括:
在所述地址配置信息指向所述第三存储器的情况下,基于所述应用程序文件在所述第三存储器中运行所述应用程序;
若在运行所述应用程序过程中接收所述引导启动程序对应的程序进入指令,更新所述第一存储器中的地址配置信息,以使得所述地址配置信息指向所述第二存储器。
在一些可能的实施方式中,所述基于所述引导启动程序文件在所述第二存储器中执行针对应用程序的升级操作,包括:
在接收到升级指令的情况下,基于所述引导启动程序文件对所述第三存储器中所述应用程序文件进行内容改写,以使得所述应用程序进行升级;
在所述应用程序升级完成的情况下,复位升级标志位为第一预设标签,所述第一预设标签用于表征不存在针对所述应用程序的升级任务。
在一些可能的实施方式中,在所述基于所述引导启动程序文件对所述第三存储器中所述应用程序文件进行内容改写之前,包括:
将所述升级标志位设置为第二预设标签,所述第二预设标签用于表征存在针对所述应用程序的升级任务。
在一些可能的实施方式中,所述基于所述引导启动程序文件在所述第二存储器中执行针对应用程序的升级操作,还包括:
若在预设时间段内所述第二存储器未接收到升级指令且升级标志位不是第一预设标签的情况下,确定在所述第二存储器中的升级操作未完成。
在一些可能的实施方式中,所述基于所述引导启动程序文件在所述第二存储器中执行针对应用程序的升级操作,还包括:
在升级操作未完成的情况下,执行读取所述第一存储器中所述地址配置信息的步骤。
根据本公开的第二方面,提供一种微控制单元,包括控制内核和存储模块,控制内核和存储模块通信连接,所述存储模块包括第一存储器、第二存储器和第三存储器,所述第一存储器分别与所述第二存储器和所述第三存储器通信连接;
所述第一存储器用于存储地址配置信息,所述第二存储器用于存储引导启动程序文件,所述第三存储器用于存储应用程序文件。
根据本公开的第三方面,提供一种微控制单元的升级装置,应用于一种微控制单元,所述微控制单元包括第一存储器、第二存储器和第三存储器,所述第一存储器用于存储地址配置信息,所述第二存储器用于存储引导启动程序文件,所述第三存储器用于存储应用程序文件,所述装置包括:
地址配置信息读取模块,用于响应于启动信号,读取所述第一存储器中的所述地址配置信息;
升级模块,用于在所述地址配置信息指向所述第二存储器的情况下,基于所述引导启动程序文件在所述第二存储器中执行针对应用程序的升级操作;
地址配置信息更新模块,用于在升级操作成功的情况下,更新所述第一存储器中的地址配置信息,以使得所述地址配置信息指向所述第三存储器。
根据本公开的第四方面,提供了一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第一方面中任意一项所述的微控制单元的升级方法。
根据本公开的第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如第一方面中任意一项所述的微控制单元的升级方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
实施本公开,具有如下有益效果:
响应于启动信号,读取第一存储器中的地址配置信息;在地址配置信息指向第二存储器的情况下,基于引导启动程序文件在第二存储器中执行针对应用程序的升级操作;当软件具有升级的需求时,需要从root启动,并在root中进行软件升级,root和app在不同的存储器中,增加了可靠性。在升级操作成功的情况下,更新第一存储器中的地址配置信息,以使得地址配置信息指向第三存储器,在软件升级完成后,直接从app中启动,提高了启动效率,且增加了第三存储器的空间利用率。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1示出根据本公开实施例的一种微控制单元的结构示意图;
图2示出根据本公开实施例的微控制单元的升级方法的流程示意图;
图3示出根据本公开实施例的在控制内核从第三存储器中启动方法的流程示意图;
图4示出根据本公开实施例的在第二存储器中升级方法的流程示意图;
图5示出根据本公开实施例的升级标签设置方法的流程示意图;
图6示出根据本公开实施例的在第二存储器中升级未完成后的操作方法的流程示意图;
图7示出根据本公开实施例的微控制单元的运行方法的流程示意图;
图8示出根据本公开实施例的在第二存储器中运行方法的流程示意图;
图9示出根据本公开实施例的微控制单元的升级装置的结构示意图;
图10示出根据本公开实施例的一种电子设备的框图。
以下对附图作补充说明:
100、微控制单元;10、控制内核;20、存储模块;21、第一存储器;22、第二存储器;23、第三存储器;
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图2示出根据本公开实施例的一种微控制单元100的升级方法的流程示意图,应用于一种微控制单元100,请参阅图1,微控制单元100包括第一存储器21、第二存储器22和第三存储器23,第一存储器21用于存储地址配置信息,第二存储器22用于存储引导启动程序文件,第三存储器23用于存储应用程序文件,如图2所示,上述方法包括:
S101、响应于启动信号,读取第一存储器21中的地址配置信息;
电子控制单元(Microcontroller Unit,MCU)上电后,控制内核10首先从第一存储器21中读取地址配置信息,第一存储器21用于配置启动信息,启动信息包括地址配置信息,地址配置信息用于指示控制内核10的启动的存储器地址,通过预设硬件设备完成地址配置信息设置,地址配置信息指向第三存储器23或第二存储器22。地址配置信息可以通过MCU启动需求进行改写,以确定是从第二存储器22启动或是从第三存储器23启动。
在一些实施例中,第一存储器21、第二存储器22和第三存储器23均可以为快闪存储器(flash memory)。系统上电后,通过读取第一存储器21中地址配置信息,来选择复位后的启动模式,是从第二存储器22启动进行应用程序的升级,还是从第三存储器23启动进行应用程序的运行。
S102、在地址配置信息指向第二存储器22的情况下,基于引导启动程序文件在第二存储器22中执行针对应用程序的升级操作;
当地址配置信息指向第二存储器22时,控制内核10从第二存储器22中启动,开始执行引导启动程序(boot)升级逻辑,以实现对应用程序的升级操作。控制内核10在第二存储器22启动后,接收到升级指令时,开始执行升级操作。
在一些实施例中,当设置的地址配置信息指向第二存储器22时,将第二存储器22选为启动区域,接收到升级指令时,执行boot程序,对app程序进行升级操作。
S103、在升级操作成功的情况下,更新第一存储器21中的地址配置信息,以使得地址配置信息指向第三存储器23。
判断在第二存储器22中的升级操作是否为完整的升级,若在第二存储器22中的升级操作完成,确定在第二存储器22中的升级操作为完整的升级,即升级操作成功;其次,若在预设时间段内未接收到升级指令,判断上一次升级操作对应的升级标志位,若升级标志位是第一预设标签,确定在第二存储器22中的升级操作成功。若升级操作成功,更新第一存储器21中的地址配置信息,将地址配置信息由原来指向第二存储器22改为指向第三存储器23。
在一些实施例中,当控制内核10在第二存储器22中升级操作成功时,对第一存储器21中的启动模式进行修改,使得地址配置信息指向第三存储器23,以使得软复位后,控制内核10能够从第三存储器23启动。
上述技术方案,当软件具有升级的需求时,需要从root启动,并在root中进行软件升级,root和app在不同的存储器中,增加了可靠性。在升级操作成功的情况下,更新第一存储器21中的地址配置信息,以使得地址配置信息指向第三存储器23,在软件升级完成后,直接从app中启动,提高了启动效率,且增加了第三存储器23的空间利用率。
请参阅图3,在一些实施例中,在响应于启动信号,读取第一存储器21中的地址配置信息之后,方法还包括:
S201、在地址配置信息指向第三存储器23的情况下,基于应用程序文件在第三存储器23中运行应用程序;
S202、若在运行应用程序过程中接收引导启动程序对应的程序进入指令,更新第一存储器21中的地址配置信息,以使得地址配置信息指向第二存储器22。
电子控制单元上电后,控制内核10首先从第一存储器21中读取地址配置信息,若地址配置信息指向第三存储器23,则控制内核10从第三存储器23启动,运行第三存储器23中的应用程序。若控制内核10在应用程序正常运行的过程中接收到进入引导启动程序的指令,控制内核10则修改第一存储器21中的地址配置信息,将地址配置信息从指向第三存储器23改为指向第二存储器22,以使得软复位后,控制内核10能够从第二存储器22中启动。
在一些实施例中,当设置的启动模式为从第三存储器23启动时,将第三存储器23选为启动区域,控制内核10基于应用程序文件运行第三存储器23中的应用程序,在应用程序正常运行时,判断是否收到进入boot指令,若没有接收到进入boot指令,则app继续正常运行。若接收到进入boot指令,则修改第一存储器21中的地址配置信息,使得地址配置信息指向第二存储器22。软复位,进入第二存储器22中boot。示例性的,修改启动模式,使得地址配置信息指向第二存储器22中boot,软复位后,控制内核10基于地址配置信息从第二存储器22中启动,以进行应用程序升级操作。
上述技术方案,微控制单元100的控制内核10可基于第一存储器21中的地址配置信息从应用程序所在的第三存储器23中启动,在MCU中加入了多块存储器,将应用程序app和引导启动程序boot分开,省去了软件从boot跳转到app的过程,简化了逻辑,加快了软件的启动速度。
请参阅图4,在一些实施例中,基于引导启动程序文件在第二存储器22中执行针对应用程序的升级操作,包括:
S1021、在接收到升级指令的情况下,基于引导启动程序文件对第三存储器23中应用程序文件进行内容改写,以使得应用程序进行升级;
S1022、在应用程序升级完成的情况下,复位升级标志位为第一预设标签,第一预设标签用于表征不存在针对应用程序的升级任务。
控制内核10从第二存储器22中启动,接收到升级指令,基于引导启动程序文件进行升级操作,改写第三存储器23中应用程序文件,实现针对应用程序的升级操作,升级操作完成后,将升级标志位复位为第一预设标签,第一预设标签为升级标志位的初始标签,第一预设标签用于表征第二存储器22中不存在针对应用程序的升级任务。
在一些实施例中,控制内核10从第二存储器22中启动,在接收到升级指令的情况下,基于引导程序文件进行针对应用程序的升级操作,在升级操作结束的时候,复位升级标志位,将升级标志位设置为第一预设标签,升级标志位可以用数字表示,示例性的,升级完成时,将升级标志位复位为0,以表示第二存储器22中升级操作完成,不存在升级任务。
上述技术方案,引导启动程序与应用程序是两个独立的程序,处于不同的存储器中,增加了微控制单元100中软件运行的可靠性。
请参阅图5,在一些实施例中,在基于引导启动程序文件对第三存储器23中应用程序文件进行内容改写之前,包括:
S10211、将升级标志位设置为第二预设标签,第二预设标签用于表征存在针对应用程序的升级任务。
控制内核10从第二存储器22中启动,接收到升级指令,首先对升级标志位进行改写,以明确第二存储器22中存在针对应用程序的升级任务,然后开始针对应用程序进行升级操作,若升级结束,则复位升级标志位为初始标签,即第一预设标签,若升级未结束,则确定此次升级为不完整的升级,即升级未完成。
在一些实施例中,升级标志位可以通过数字表示,示例性的,第一预设标签可以为0,第二预设标签值可以为1;当升级标志位为0时,表示第二存储器22中不存在针对应用程序的升级任务,当升级标志位为1时,则表示第二存储器22中存在针对应用程序的升级任务。
上述技术方案,通过标志位判断第二存储器22中是否存在未完成的升级任务,以判定是否改写第一存储器21中的地址配置信息,增加微控制单元100中软件运行的可靠性。
在一些实施例中,在基于引导启动程序文件在第二存储器22中执行针对应用程序的升级操作,还包括:
S301、若在预设时间段内第二存储器22未接收到升级指令且升级标志位不是第一预设标签的情况下,确定在第二存储器22中的升级操作未完成。
在一些实施例中,控制内核10从第二存储器22中启动,判断是否接收到升级指令,如果没有接收到升级指令,判断是否超过预设时间段,若超过预设时间段,未接收到升级指令,则判断上次升级对应的升级标志位,若升级标志位为第一预设标签,则确定升级完成,若升级标志位不是第一预设标签,则确定升级未完成,需要进行软复位,控制内核10读取第一存储器21中的地址配置信息,重新进入第二存储器22继续进行升级操作。
在一些实施例中,预设时间段可以为1分钟。若超过1分钟,未接收到升级指令,则判断上次升级对应的升级标志位,若升级标志位为0,则确定升级完成,若升级标志位不是0或升级标志位为1,则确定升级未完成,第二存储器22中仍存在未完成的升级任务。
上述技术方案,在第二存储器22中通过升级标志位判断出升级任务未完成,提高软件升级的鲁棒性。
请参阅图6,在一些实施例中,在基于引导启动程序文件在第二存储器22中执行针对应用程序的升级操作,还包括:
S401、在升级操作未完成的情况下,执行读取第一存储器21中地址配置信息的步骤。
在升级操作未完成的情况下,需要进行软复位,控制内核10继续读取第一存储器21中的地址配置信息,地址配置信息未修改,仍指向第二存储器22,从而重新进入第二存储器22继续进行升级操作,保证软件升级的顺利完成。
在一些实施例中,请参阅图7:
S1、系统上电;
S2、控制内核10读取第一存储器21中地址配置信息;
若地址配置信息指向第二存储器22,执行步骤S21,若地址配置信息指向第三存储器23,执行步骤S31;
S21、控制内核10从第二存储器22中启动;
S22、接收到系统升级的指令后,执行boot升级逻辑,运行针对应用程序的升级操作,对第三存储器23中的应用程序文件进行内容改写;
S23、判断升级操作是否成功/完成,若升级操作完成执行步骤S24,若升级操作未完成,软复位,执行步骤S2,重新读取第一存储器21中的地址配置信息,从地址配置信息指向的第三存储器23中启动,运行app。
S24、修改第一存储器21中的地址配置信息,使得地址配置信息由指向第二存储器22改为指向第三存储器23;
在升级未完成的情况下,不进行地址配置信息改写,进行软复位,重新读取第一存储器21中的地址配置信息,再次进入地址配置信息指向的第二存储器22继续进行升级操作。
S31、控制内核10从第三存储器23中启动;
S32、运行第三存储器23中的app;
S33、判断是否收到进入boot指令,若在app正常运行的过程中,未收到进入boot指令,则执行步骤S32,继续运行app。若接收到进入boot指令,则执行步骤S34;
S34、修改第一存储器21中的地址配置信息,使得地址配置信息由指向第三存储器23改为指向第二存储器22。
进行软复位,重新读取第一存储器21中的地址配置信息,从地址配置信息指向的第二存储器22中启动,响应于升级指令,对应用程序进行升级操作。
在一些实施例中,请参阅图8:
T1、控制内核10从第二存储器22中启动时,判断是否接收到升级指令;若接收到升级指令,执行步骤T21,若未接收到升级指令执行步骤T31;
T21、将升级标志位设置为第二预设标签;
T22、对第三存储器23中应用程序文件进行改写,以实现对应用程序的升级;
T23、判断升级是否完成,若完成,执行步骤T24,若未完成,直接进入步骤T4;
T24、升级结束后,将升级标志位复位为第一预设标签,标志着升级完成;
T24、确定升级完成,第二存储器22中不存在未升级任务。
T31、判断是否超出预设时间段未接收到升级指令,若是则执行T32,若否继续执行T1;
T32、判断上一次升级任务对应的升级标志位,若升级标志位为第一预设标签,则确定升级任务完成,进入步骤T25;若升级标志位为非第一预设标签,如升级标志位为第二预设标签,则确定升级任务未完成,进入步骤T4。
根据本公开的第二方面,提供一种微控制单元100,包括控制内核10和存储模块20,控制内核10和存储模块20通信连接,存储模块20包括第一存储器21、第二存储器22和第三存储器23,第一存储器21分别与第二存储器22和第三存储器23通信连接;
第一存储器21用于存储地址配置信息,第二存储器22用于存储引导启动程序文件,第三存储器23用于存储应用程序文件。
在一些实施例中,控制内核10和存储模块20通过总线通信连接。存储模块20包括第一存储器21、第二存储器22和第三存储器23,第一存储器21用于存储地址配置信息,地址配置信息指向第二存储器22或第三存储器23。第二存储器22为引导启动程序boot存储区,第三存储器23为应用程序app存储区。第一存储器21、第二存储器22和第三存储器23均可以为具备电子可擦除可编程性能的存储器,示例性的,第一存储器21、第二存储器22和第三存储器23均可以为快闪存储器(flash memory)。
根据本公开的第三方面,提供一种微控制单元100的升级装置,应用于一种微控制单元100,微控制单元100包括第一存储器21、第二存储器22和第三存储器23,第一存储器21用于存储地址配置信息,第二存储器22用于存储引导启动程序文件,第三存储器23用于存储应用程序文件,请参考图9,装置包括:
地址配置信息读取模块30,用于响应于启动信号,读取第一存储器21中的地址配置信息;
升级模块40,用于在地址配置信息指向第二存储器22的情况下,基于引导启动程序文件在第二存储器22中执行针对应用程序的升级操作;
地址配置信息更新模块50,用于在升级操作成功的情况下,更新第一存储器21中的地址配置信息,以使得地址配置信息指向第三存储器23。
在一些实施例中,装置还包括:
应用程序运行模块60,用于在地址配置信息指向第三存储器23的情况下,基于应用程序文件在第三存储器23中运行应用程序;
地址更新模块70,用于若在运行应用程序过程中接收引导启动程序对应的程序进入指令,更新第一存储器21中的地址配置信息,以使得地址配置信息指向第二存储器22。
在一些实施例中,升级模块40,包括:
内容改写单元41,用于在接收到升级指令的情况下,基于引导启动程序文件对第三存储器23中应用程序文件进行内容改写,以使得应用程序进行升级;
标志位复位单元42,用于在应用程序升级完成的情况下,复位升级标志位为第一预设标签,第一预设标签用于表征不存在针对应用程序的升级任务。
在一些实施例中,升级模块40,还包括:
标志位设置单元45,用于将升级标志位设置为第二预设标签,第二预设标签用于表征存在针对应用程序的升级任务。
在一些实施例中,升级模块40,还包括:
升级未完成确定单元47,用于若在预设时间段内第二存储器22未接收到升级指令且升级标志位不是第一预设标签的情况下,确定在第二存储器22中的升级操作未完成。
在一些实施例中,升级模块40,还包括:
升级未完成执行单元49,用于在升级操作未完成的情况下,执行读取第一存储器21中地址配置信息的步骤。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本申请实施例提供了一种微控制单元的升级设备,该设备可以为终端或服务器,该微控制单元的升级设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的微控制单元的升级方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置等电子设备中执行。图10是本申请实施例提供的一种微控制单元的升级方法的电子设备的硬件结构框图。如图10所示,该电子设备900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)910(处理器910可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器930,一个或一个以上存储应用程序923或数据922的存储介质920(例如一个或一个以上海量存储设备)。其中,存储器930和存储介质920可以是短暂存储或持久存储。存储在存储介质920的程序可以包括一个或一个以上模块,每个模块可以包括对电子设备中的一系列指令操作。更进一步地,中央处理器910可以设置为与存储介质920通信,在电子设备900上执行存储介质920中的一系列指令操作。电子设备900还可以包括一个或一个以上电源960,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口940,和/或,一个或一个以上操作系统921,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口940可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备900的通信供应商提供的无线网络。在一个实例中,输入输出接口940包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口940可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备900还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。
本申请的实施例还提供了一种计算机可读存储介质,存储介质可设置于电子设备之中以保存用于实现方法实施例中一种微控制单元的升级方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的微控制单元的升级方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
由上述本申请提供的微控制单元的升级方法、装置、设备、终端、服务器、存储介质或计算机程序的实施例可见,本申请响应于启动信号,读取第一存储器中的地址配置信息;在地址配置信息指向第二存储器的情况下,基于引导启动程序文件在第二存储器中执行针对应用程序的升级操作;当软件具有升级的需求时,需要从root启动,并在root中进行软件升级,root和app在不同的存储器中,增加了可靠性。在升级操作成功的情况下,更新第一存储器中的地址配置信息,以使得地址配置信息指向第三存储器,在软件升级完成后,直接从app中启动,提高了启动效率,且增加了第三存储器的空间利用率。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种微控制单元的升级方法,其特征在于,应用于一种微控制单元,所述微控制单元包括第一存储器、第二存储器和第三存储器,所述第一存储器用于存储地址配置信息,所述第二存储器用于存储引导启动程序文件,所述第三存储器用于存储应用程序文件,所述方法包括:
响应于启动信号,读取所述第一存储器中的所述地址配置信息;
在所述地址配置信息指向所述第二存储器的情况下,基于所述引导启动程序文件在所述第二存储器中执行针对应用程序的升级操作;
在升级操作成功的情况下,更新所述第一存储器中的地址配置信息,以使得所述地址配置信息指向所述第三存储器。
2.根据权利要求1所述的方法,其特征在于,在所述响应于启动信号,读取所述第一存储器中的所述地址配置信息之后,所述方法还包括:
在所述地址配置信息指向所述第三存储器的情况下,基于所述应用程序文件在所述第三存储器中运行所述应用程序;
若在运行所述应用程序过程中接收所述引导启动程序对应的程序进入指令,更新所述第一存储器中的地址配置信息,以使得所述地址配置信息指向所述第二存储器。
3.根据权利要求2所述的方法,其特征在于,所述基于所述引导启动程序文件在所述第二存储器中执行针对应用程序的升级操作,包括:
在接收到升级指令的情况下,基于所述引导启动程序文件对所述第三存储器中所述应用程序文件进行内容改写,以使得所述应用程序进行升级;
在所述应用程序升级完成的情况下,复位升级标志位为第一预设标签,所述第一预设标签用于表征不存在针对所述应用程序的升级任务。
4.根据权利要求3所述的方法,其特征在于,在所述基于所述引导启动程序文件对所述第三存储器中所述应用程序文件进行内容改写之前,包括:
将所述升级标志位设置为第二预设标签,所述第二预设标签用于表征存在针对所述应用程序的升级任务。
5.根据权利要求1所述的方法,其特征在于,所述基于所述引导启动程序文件在所述第二存储器中执行针对应用程序的升级操作,还包括:
若在预设时间段内所述第二存储器未接收到升级指令且升级标志位不是第一预设标签的情况下,确定在所述第二存储器中的升级操作未完成。
6.根据权利要求1所述的方法,其特征在于,所述基于所述引导启动程序文件在所述第二存储器中执行针对应用程序的升级操作,还包括:
在升级操作未完成的情况下,执行读取所述第一存储器中所述地址配置信息的步骤。
7.一种微控制单元,其特征在于,包括控制内核和存储模块,控制内核和存储模块通信连接,所述存储模块包括第一存储器、第二存储器和第三存储器,所述第一存储器分别与所述第二存储器和所述第三存储器通信连接;
所述第一存储器用于存储地址配置信息,所述第二存储器用于存储引导启动程序文件,所述第三存储器用于存储应用程序文件。
8.一种微控制单元的升级装置,其特征在于,应用于一种微控制单元,所述微控制单元包括第一存储器、第二存储器和第三存储器,所述第一存储器用于存储地址配置信息,所述第二存储器用于存储引导启动程序文件,所述第三存储器用于存储应用程序文件,所述装置包括:
地址配置信息读取模块,用于响应于启动信号,读取所述第一存储器中的所述地址配置信息;
升级模块,用于在所述地址配置信息指向所述第二存储器的情况下,基于所述引导启动程序文件在所述第二存储器中执行针对应用程序的升级操作;
地址配置信息更新模块,用于在升级操作成功的情况下,更新所述第一存储器中的地址配置信息,以使得所述地址配置信息指向所述第三存储器。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1-6中任意一项所述的微控制单元的升级方法。
10.一种电子设备,其特征在于,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如权利要求1-6中任意一项所述的微控制单元的升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310405018.9A CN116431231A (zh) | 2023-04-11 | 2023-04-11 | 微控制单元及其升级方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310405018.9A CN116431231A (zh) | 2023-04-11 | 2023-04-11 | 微控制单元及其升级方法、装置、存储介质和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116431231A true CN116431231A (zh) | 2023-07-14 |
Family
ID=87090442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310405018.9A Pending CN116431231A (zh) | 2023-04-11 | 2023-04-11 | 微控制单元及其升级方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116431231A (zh) |
-
2023
- 2023-04-11 CN CN202310405018.9A patent/CN116431231A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6272991B2 (ja) | プリブートファームウェア更新のための選択的パワーマネジメント | |
CN109358882B (zh) | 一种电视终端进行固件升级的方法及装置 | |
CN102945176B (zh) | 终端设备开机、升级方法和设备 | |
CN110597542B (zh) | 软件自动ota升级方法及装置、电子设备 | |
CN109358887B (zh) | 一种单片机程序的在线升级方法、装置及系统 | |
CN103106092A (zh) | 终端设备中系统软件升级方法和装置 | |
CN111796848A (zh) | Bootloader软件更新方法、装置、嵌入式控制器以及存储介质 | |
KR20130142073A (ko) | 모바일 메모리 카드를 사용하여 모바일폰 운영체제를 부팅시키는 방법 및 단말 | |
WO2021136200A1 (zh) | 引导程序的加载方法、存储介质及嵌入式终端 | |
CN108874422B (zh) | 一种冰箱电控板的软件在线升级方法、冰箱电控板和冰箱 | |
CN106325911A (zh) | 一种实现bootrom升级的方法及装置 | |
CN109766113B (zh) | 一种固态硬盘控制器的固件更新方法及装置 | |
CN112199109B (zh) | 一种固件升级方法、装置、设备及介质 | |
CN109343886B (zh) | 一种升级bios的方法、装置以及设备 | |
CN115437674B (zh) | 一种固件升级方法、装置、介质及电子设备 | |
CN116431231A (zh) | 微控制单元及其升级方法、装置、存储介质和电子设备 | |
CN110908706A (zh) | 一种多版本软件的管理方法 | |
CN109428936B (zh) | App的升级方法、装置、系统、电子设备及存储介质 | |
CN110618824B (zh) | 一种软件升级方法、装置、介质和设备 | |
CN111475220B (zh) | 冷启动方法、装置、电子设备及计算机存储介质 | |
CN114296764A (zh) | 系统升级方法、装置、存储介质和电子设备 | |
CN113721959A (zh) | 一种信息处理方法、装置及电子设备 | |
KR100876748B1 (ko) | 부트코드 업데이트 방법 | |
CN114125902B (zh) | Wwan设备及其配置方法、装置、存储介质 | |
CN116820841A (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 |