[发明专利]用于MCU芯片的程序升级方法在审
申请号: | 201611124136.9 | 申请日: | 2016-12-08 |
公开(公告)号: | CN106598586A | 公开(公告)日: | 2017-04-26 |
发明(设计)人: | 王甲;韩明;石飞;李鹏;傅代军;陈立军 | 申请(专利权)人: | 上海贝岭股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/445 |
代理公司: | 北京金信知识产权代理有限公司11225 | 代理人: | 刘锋,田菁 |
地址: | 200233 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 mcu 芯片 程序 升级 方法 | ||
技术领域
本发明涉及一种用于MCU芯片的程序升级方法。
背景技术
目前,MCU(Microcontroller Unit)芯片,即微控制单元芯片,是把中央处理器(CPU)的频率与规格做适当缩减,并将内存、计数器、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,被广泛的应用于各种领域。
在MCU芯片中,内存通常是指内置的FLASH存储器,MCU芯片的程序通常都存储在FLASH内,如图1所示。而程序开始运行时,程序通常必须从FLASH存储器的起始地址(即0X00地址)开始运行。
图2为现有技术中对MCU芯片的程序升级过程,即先擦除FLASH存储器中存储的原程序,然后将新程序装载到FLASH存储器中,即完成程序升级。当对MCU芯片进行程序升级之后,新程序不论存储在FLASH存储器的哪个区域,CPU还是从0X00地址开始执行。
现有技术中的程序升级方法的缺点有:(1)原程序擦除时,一旦出现掉电等异常状况,则会造成原程序和新程序均无法运行的情况;(2)在执行升级时,由于原程序已经擦除,因此MCU芯片必须停止原程序的运行,这对程序运行不可间断的设备无疑是无法接受的方式。
针对现有技术中所存在的问题,提供一种用于MCU芯片的程序升级方法具有重要意义。
发明内容
为解决上述问题,本发明提供一种用于MCU芯片的程序升级方法。
本发明的用于MCU芯片的程序升级方法,所述MCU芯片包括FLASH存储器、SRAM存储器和CPU,所述FLASH存储器包括第一存储区和第二存储区,在所述MCU芯片中的程序升级之前,原程序存储在所述第一存储区中,所述第一存储区的首地址为第一地址,所述第二存储区的首地址为第二地址,所述第一地址为所述CPU执行程序时的起始地址,所述方法包括:步骤一,将新程序存储在所述SRAM存储器中;步骤二,当所述FLASH存储器处于能够再编程状态时,将所述新程序从所述SRAM存储器搬移至所述第二存储区;步骤三,将所述第二存储区的首地址改为所述第一地址,且将所述第一存储区的首地址改为所述第二地址。
进一步地,所述方法在所述步骤三之后还包括:步骤四,从所述第二存储区中读出所述新程序并进行校验,若校验失败,则将所述第二存储区的首地址改为所述第二地址,且将所述第一存储区的首地址改为所述第一地址。
进一步地,在所述MCU芯片中的程序升级之前,所述FLASH存储器中还存储有升级管理程序,所述升级管理程序执行所述步骤一至所述步骤四,所述方法在所述步骤一之前还包括:步骤零,将所述升级管理程序从所述FLASH存储器搬移至所述SRAM存储器,然后在所述CPU中执行所述升级管理程序。
进一步地,所述FLASH存储器的控制器中设置有寄存器,其用于对所述第一存储区和所述第二存储区的地址进行翻转,当所述寄存器的值为第一值时,所述第一存储区的首地址为第一地址,所述第二存储区的首地址为第二地址;当所述寄存器的值为第二值时,所述第一存储区的首地址为第二地址,所述第二存储区的首地址为第一地址,在所述MCU芯片中的程序升级之前,所述寄存器的值为所述第一值,所述步骤三具体为:所述升级管理程序将所述寄存器的值从所述第一值改写为所述第二值;所述步骤四具体为:所述升级管理程序从所述第二存储区中读出所述新程序并进行校验,若校验失败,则将所述寄存器的值从所述第二值改写为所述第一值。
进一步地,所述MCU芯片还包括外部通信接口、AHB TO APB总线转换器和AHB-LITE总线,所述步骤一具体为:所述新程序依次通过所述外部通信接口、所述AHB TO APB总线转换器和所述AHB-LITE总线被所述CPU读入,然后存储在所述SRAM存储器中。优选地,所述外部通信接口包括SPI通信接口、UART通信接口和I2C通信接口。
本发明的用于MCU芯片的程序升级方法,针对传统MCU芯片升级的不足,利用上述方法,使得可以实现在升级程序时,无需擦除MCU中的原程序,提高升级的可靠性;并且在升级过程中,也无需停止程序的运行。不仅规避了升级过程中各种意外以及程序版本临时替换带来的风险,也使升级过程更加的安全可靠。
附图说明
图1为现有技术中MCU芯片的FLASH存储器中存储程序的示意图;
图2为现有技术中MCU芯片进行程序升级的示意图;
图3为本发明的方法的步骤流程示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海贝岭股份有限公司,未经上海贝岭股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611124136.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:云环境下计分驱动的服务快速匹配和聚合方法
- 下一篇:闹钟设定方法及装置