支持在线升级的电路制造技术

技术编号:39754681 阅读:6 留言:0更新日期:2023-12-17 23:53
本申请涉及在线升级领域,公开一种支持在线升级的电路

【技术实现步骤摘要】
支持在线升级的电路


[0001]本申请涉及在线升级
,特别涉及一种支持在线升级的电路


技术介绍

[0002]本部分旨在为权利要求书中陈述的本申请的实施方式提供背景或上下文

此处的描述不因为包括在本部分中就承认是已被公开的现有技术

[0003]目前,现有的
MCU

Micro Control Unit
,微控制器)中用户程序的在线升级方法(
OTA

On

the

Air
)通常利用特定通信端口
IIC/SPI
等和专用的命令(例如,通过通信端口发送
0xbb
,表示切换进入在线升级模式等,这些命令与内部在线升级逻辑电路相匹配,一经确定不可修改)来进行在线升级

也就是说,通过这些通信端口发送专用的命令,以进入在线编程

然后发送相应的操作命令,以判断是否进入在线编程,在判断进入在线编程后,根据通信端口和内部设计电路以及按照
Flash
读写数据的格式对
Flash
进行在线升级

在完成在线编程后,发送结束在线编程的命令,并且判断是否退出在线编程,从而完成一次在线升级过程

[0004]在线升级技术用于对微控制器可执行代码进行升级,在现代
MCU
系统中的应用越来越广泛

最常见的r/>MCU OTA
方案如下:中央处理器从主代码区0地址开始执行;中央处理器从云端下载
OTA
代码,并存入内部存储器
SRAM
;下载结束后,将内部存储器
SRAM
中的
OTA
代码拷贝到内部非易失性存储器
flash
,并覆盖主代码区;实现在线升级

执行从云端下载
OTA
代码时,需要中央处理器停止响应较长时间,并且不能被打断


技术实现思路

[0005]本申请的目的在于提供一种支持在线升级的电路,可以不需要长时间中央处理器停止响应

[0006]本申请公开了一种支持在线升级的电路,所述电路包括:微控制器,所述微控制器具有中央处理器

内部存储器和闪存控制器;以及位于所述微控制器外部的第一闪存块和第二闪存块,所述第一闪存块和第二闪存块各自耦合到所述微控制器,其中所述第一闪存块和第二闪存块分别用于存储主代码和在线升级代码,其中所述微控制器还包括在线解密电路,所述在线解密电路分时耦合在所述闪存控制器与所述第一闪存块或第二闪存块之间;其中,所述中央处理器根据主代码区0地址通过所述闪存控制器从所述第一闪存块读取加密的主代码,并通过此时耦合到所述第一闪存块的所述在线解密电路解密所述加密的主代码后开始执行解密的主代码;所述中央处理器从云端下载加密的在线升级代码并存储到所述内部存储器;所述中央处理器通过所述闪存控制器将所述加密的在线升级代码拷贝到所述第二闪存块,并将在线升级代码区0地址链接到所述第二闪存块;所述中央处理器执行内存回收操作,将所述主代码区0地址从所述第一闪存块切
换到所述第二闪存块,将所述在线升级代码区0地址从所述第二闪存块切换到所述第一闪存块;所述中央处理器执行软件复位操作;以及所述中央处理器根据切换后的主代码区0地址开始读取所述加密的在线升级代码,并通过此时耦合到所述第二闪存块的所述在线解密电路解密所述加密的在线升级代码后开始执行解密的在线升级代码

[0007]在一个优选例中,所述主代码和所述在线升级代码采用相同的加密算法进行加密

[0008]在一个优选例中,所述加密算法选择下组中的一种或多种:消息摘要算法

对称加密算法

非对称加密算法和国密算法

[0009]在一个优选例中,所述第一闪存块和所述第二闪存块的容量和接口均相同

[0010]在一个优选例中,所述闪存控制器控制所述在线解密电路分时耦合到所述第一闪存块或第二闪存块之间,其中第一选择开关耦合在所述在线解密电路与所述第一闪存块之间,第二选择开关耦合在所述在线解密电路与所述第二闪存块之间,其中所述闪存控制器包括选择模块,所述选择模块包括寄存器和反相器,所述寄存器的输入耦合到所述中央处理器,所述寄存器的输出耦合到所述反相器的输入以及所述第一选择开关,所述反相器的输出耦合到所述第二选择开关,其中所述选择模块输出第一主代码选择信号到所述第一选择开关,所述选择模块输出第二主代码选择信号到所述第二选择开关

[0011]在一个优选例中,在“所述中央处理器执行软件复位操作”的步骤后,还包括:所述闪存控制器使得所述在线解密电路断开与所述第一闪存块之间的连接,并将所述在线解密电路耦合到所述第二闪存块

[0012]在一个优选例中,在“所述中央处理器执行软件复位操作”的步骤后,所述选择模块通过第一主代码选择信号控制所述第一选择开关断开,所述选择模块通过第二主代码选择信号控制所述第二选择开关导通

[0013]本申请实施方式中,提供支持在线升级的方法及电路,执行在线升级时无需长时间中央处理器停止响应

[0014]本申请的说明书中记载了大量的技术特征,分布在各个技术方案中,如果要罗列出本申请所有可能的技术特征的组合(即技术方案)的话,会使得说明书过于冗长

为了避免这个问题,本申请上述
技术实现思路
中公开的各个技术特征

在下文各个实施方式和例子中公开的各技术特征

以及附图中公开的各个技术特征,都可以自由地互相组合,从而构成各种新的技术方案(这些技术方案均应该视为在本说明书中已经记载),除非这种技术特征的组合在技术上是不可行的

例如,在一个例子中公开了特征
A+B+C
,在另一个例子中公开了特征
A+B+D+E
,而特征
C

D
是起到相同作用的等同技术手段,技术上只要择一使用即可,不可能同时采用,特征
E
技术上可以与特征
C
相组合,则,
A+B+C+D
的方案因技术不可行而应当不被视为已经记载,而
A+B+C+E
的方案应当视为已经被记载

附图说明
[0015]图1是根据本申请第一实施方式的支持在线升级的电路的结构示意图

[0016]图2是根据本申请第一实施方式的支持在线升级的方法的流程示意图

[0017]图3(
a
)是根据本申请第二实施方式的支持在线升级的电路的结构示意图,其中在线解密电路服务于第一闪存块

...

【技术保护点】

【技术特征摘要】
1.
一种支持在线升级的电路,其特征在于,所述电路包括:微控制器,所述微控制器具有中央处理器

内部存储器和闪存控制器;以及位于所述微控制器外部的第一闪存块和第二闪存块,所述第一闪存块和第二闪存块各自耦合到所述微控制器,其中所述第一闪存块和第二闪存块分别用于存储主代码和在线升级代码,其中所述微控制器还包括在线解密电路,所述在线解密电路分时耦合在所述闪存控制器与所述第一闪存块或第二闪存块之间;其中,所述中央处理器根据主代码区0地址通过所述闪存控制器从所述第一闪存块读取加密的主代码,并通过此时耦合到所述第一闪存块的所述在线解密电路解密所述加密的主代码后开始执行解密的主代码;所述中央处理器从云端下载加密的在线升级代码并存储到所述内部存储器;所述中央处理器通过所述闪存控制器将所述加密的在线升级代码拷贝到所述第二闪存块,并将在线升级代码区0地址链接到所述第二闪存块;所述中央处理器执行内存回收操作,将所述主代码区0地址从所述第一闪存块切换到所述第二闪存块,将所述在线升级代码区0地址从所述第二闪存块切换到所述第一闪存块;所述中央处理器执行软件复位操作;以及所述中央处理器根据切换后的主代码区0地址开始读取所述加密的在线升级代码,并通过此时耦合到所述第二闪存块的所述在线解密电路解密所述加密的在线升级代码后开始执行解密的在线升级代码
。2.
根据权利要求1所述的电路,其特征在于,所述主代码和所述在线升级代码采用相同的加密算法进行加密
。3.
根据权利要求2所述的电路...

【专利技术属性】
技术研发人员:请求不公布姓名请求不公布姓名请求不公布姓名请求不公布姓名
申请(专利权)人:上海灵动微电子股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1