一种保护MCU工作程序的方法及系统技术方案

技术编号:12917272 阅读:81 留言:0更新日期:2016-02-24 23:45
本发明专利技术公开了一种保护MCU工作程序的方法及系统。方法包括步骤:S1,运行下载程序;S2,由下载程序判断运行工作程序或者需要升级工作程序,如运行工作程序则进入步骤S3,如需要升级工作程序则进入步骤S4。系统包括MCU、外部存储模块和内存。本发明专利技术首先通过在MCU的FLASH中先烧录进去下载程序,MCU上电后运行下载程序,然后由下载程序来升级工作程序或者负责把工作程序运行起来,实现当工作程序被删除后依然可以方便的实现升级并运行;其次,通过利用外部存储模块的一部分扇区存储下载程序,另一部分扇区存储工作程序,节省了MCU接口总线资源,从而节省成本。本发明专利技术可广泛应用于各种MCU工作程序管理系统。

【技术实现步骤摘要】

本专利技术涉及芯片工作程序控制领域,尤其涉及一种保护MCU工作程序的方法及系统
技术介绍
MCU:MicrocontrollerUnit,微控制单元。内存:运行内存,是指MCU运行程序时的内存,也叫RAM(简称运存)。FLASH:闪存,闪存的英文名称是\FlashMemory\,一般简称为\Flash\,它属于内存器件的一种,是一种不挥发性内存。目前一些电子产品因特殊需求设有自动销毁程序,在发生紧急情况触发销毁程序后,工作程序就会被删除,想要再次使用该设备时就需要重新烧录程序,为使用带来不便。
技术实现思路
为了解决上述技术问题,本专利技术的目的是提供一种可方便工作程序升级,使用方便,同时减少占用MCU总线资源的保护MCU工作程序方法。为了解决上述技术问题,本专利技术的另一个目的是提供一种可方便工作程序升级,使用方便,同时减少占用MCU总线资源的保护MCU工作程序系统。本专利技术所采用的技术方案是:一种保护MCU工作程序的方法,其包括步骤:S1,运行下载程序;S2,由下载程序判断是应该运行工作程序还是应该升级工作程序,如果是运行工作程序则进入步骤S3,如需要升级工作程序则进入步骤S4;S3,下载程序则从外部存储模块中搬移工作程序代码到内存中对应地址,完成搬移后MCU运行工作程序;S4,MCU接收来自上位机的工作程序,由下载程序把工作程序写到外部存储模块中的对应位置,然后复位重复步骤S1和S2。优选的,所述下载程序和工作程序存储在同一外部存储模块的不同存储扇区中。优选的,所述外部存储模块为一个FLASH存储器。优选的,所述保护MCU工作程序的方法还包括步骤:S01,先从外部存储模块中搬移BOOT代码到内存中,然后运行BOOT代码;S02,BOOT代码执行动作:从外部存储模块中搬移下载程序和/或工作程序到内存中对应的地址,搬移完成后执行步骤S1。一种保护MCU工作程序的系统,所述系统用于实施保护MCU工作程序的方法,所述系统包括:MCU,分别与外部存储模块和内存连接,用于运行下载程序、工作程序;外部存储模块,所述外部存储模块包括第一存储扇区和第二存储扇区,所述第一存储扇区用于存储下载程序,所述第二存储扇区用于存储工作程序;内存,用于根据MCU的命令存储下载程序和/或工作程序。优选的,所述第一存储扇区存储有BOOT代码,所述BOOT代码用于引导MCU搬移和运行下载程序和/或工作程序。优选的,所述外部存储模块为一个FLASH存储器。本专利技术的有益效果是:本专利技术首先通过在MCU的FLASH中先烧录进去下载程序,MCU上电后运行下载程序,然后由下载程序来升级工作程序或者负责把工作程序运行起来,实现当工作程序被删除后依然可以方便的实现升级并运行;其次,通过利用外部存储模块的一部分扇区存储下载程序,另一部分扇区存储工作程序,节省了MCU接口总线资源,从而节省成本;再次,本专利技术安全性高,使用方便,运行稳定可靠,具有良好的经济和社会效益。本专利技术可广泛应用于各种MCU工作程序管理系统。附图说明下面结合附图对本专利技术的具体实施方式作进一步说明:图1是本专利技术保护MCU工作程序的系统一种实施例的结构示意图。具体实施方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。为了
技术介绍
中提出的问题,可以如下方式实现,在MCU的FLASH存储器中先烧录进去下载程序,MCU上电后运行下载程序,然后由下载程序来升级工作程序或者负责把工作程序运行起来,这样当工作程序被删除后依然可以方便的实现升级并运行。实施上述方法,可以通过外接两片FLASH存储器实现,一片存储下载程序,一片存储工作程序。下载程序运行起来后从另一片FLASH存储器中搬移工作程序到内存中然后运行工作程序。也可以采用一片FLASH存储器实现。当MCU外接芯片较多时会出现接口资源紧张的情况,这时一片FLASH的优势就体现出来了。在一片FLASH的情况下,FLASH的一部分扇区存储下载程序,另一部分扇区存储工作程序,当MCU上电后,先从存储下载程序的FLASH的地址搬移下载程序到内存中运行,运行起来后根据情况再决定是需要升级工作程序或者是从存储工作程序的FLASH的地址搬移工作程序到内存中运行。当工作程序被删除后,可以方便的实现升级,保护了工作程序的安全性。具体方案如下:如图1所示,一种保护MCU工作程序的系统,所述系统用于实施保护MCU工作程序的方法,所述系统包括:MCU,分别与外部存储模块和内存连接,用于运行下载程序、工作程序,还有实现BOOT代码从FLASH存储器到内存的搬移。外部存储模块,本实施例采用一FLASH存储器,FLASH存储器包括第一存储扇区和第二存储扇区,所述第一存储扇区用于存储下载程序,所述第二存储扇区用于存储工作程序,所述第一存储扇区还存储有BOOT代码,所述BOOT代码用于引导MCU搬移和运行下载程序和/或工作程序,所述BOOT代码存储在第一存储扇区的起始位置。内存,用于根据MCU的命令存储下载程序和/或工作程序,也是存储程序本身、运行程序的空间。一种保护MCU工作程序的方法,其包括步骤:S1,运行下载程序;S2,由下载程序判断是应该运行工作程序还是应该升级工作程序,如果是运行工作程序则进入步骤S3,如需要升级工作程序则进入步骤S4;S3,下载程序则从外部存储模块中搬移工作程序代码到内存中对应地址,完成搬移后MCU运行工作程序;S4,MCU接收来自上位机的工作程序,由下载程序把工作程序写到外部存储模块中的对应位置,然后复位重复步骤S1和S2。优选的,所述下载程序和工作程序存储在同一外部存储模块的不同存储扇区中。优选的,所述外部存储模块为一个FLASH存储器。优选的,所述保护MCU工作程序的方法还包括步骤:S01,先从外部存储模块中搬移BOOT代码到内存中,然后运行BOOT代码;S02,BOOT代码执行动作:从外部存储模块中搬移下载程序和/或工作程序到内存中对应的地址,搬移完成后执行步骤S1。下面结合图1所示的实施例详述本专利技术方法的具体实施步骤。1.FLASH存储器的前面1K的空间(第一存储扇区的起始位置)用于存储BOOT代码,BOOT代码包含在下载程序中,当MCU上电后,MCU从FLASH存储器的首地址搬移1K的BOOT代码到内存的0地址开始的1K空间中,然后运行BOOT代码。2.BOOT代码的功能是从FLASH存储器中搬移BOOT代码之后的程序到内存中对应的地址,搬移完成后开始运行下载程序。3.下载程序运行后判断是运行工作程序还是需要升级工作程序。4.如果是运行工作程序,那么下载程序则从FLASH存储器中工作程序存储位置开始搬移工作程序代码到内存中对应地址,完成搬移后跳转到工作程序的入口函数执行,以后MCU运行的则全部是工作程序。5.如果出现紧急情况后FLASH中的工作程序被删除。在步骤3则判断需要升级工作程本文档来自技高网
...

【技术保护点】
一种保护MCU工作程序的方法,其特征在于,其包括步骤:S1,运行下载程序;S2,由下载程序判断是应该运行工作程序还是应该升级工作程序,如果是运行工作程序则进入步骤S3,如需要升级工作程序则进入步骤S4;S3,下载程序则从外部存储模块中搬移工作程序代码到内存中对应地址,完成搬移后MCU运行工作程序;S4,MCU接收来自上位机的工作程序,由下载程序把工作程序写到外部存储模块中的对应位置,然后复位重复步骤S1和S2。

【技术特征摘要】
1.一种保护MCU工作程序的方法,其特征在于,其包括步骤:
S1,运行下载程序;
S2,由下载程序判断是应该运行工作程序还是应该升级工作程序,如果是运行工作程序则进入步骤S3,如需要升级工作程序则进入步骤S4;
S3,下载程序则从外部存储模块中搬移工作程序代码到内存中对应地址,完成搬移后MCU运行工作程序;
S4,MCU接收来自上位机的工作程序,由下载程序把工作程序写到外部存储模块中的对应位置,然后复位重复步骤S1和S2。
2.根据权利要求1所述的一种保护MCU工作程序的方法,其特征在于:所述下载程序和工作程序存储在同一外部存储模块的不同存储扇区中。
3.根据权利要求2所述的一种保护MCU工作程序的方法,其特征在于:所述外部存储模块为一个FLASH存储器。
4.根据权利要求1至3任一项所述的一种保护MCU工作程序的方法,其特征在于,所述保护MCU工作程序的方法还包括步骤:,
S01,先从外部存储模块中搬移BOOT代码到内存...

【专利技术属性】
技术研发人员:陈海燕王志刚
申请(专利权)人:邦彦技术股份有限公司
类型:发明
国别省市:广东;44

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

1