CN105354061A - 一种保护mcu工作程序的方法及系统 - Google Patents
一种保护mcu工作程序的方法及系统 Download PDFInfo
- Publication number
- CN105354061A CN105354061A CN201510747324.6A CN201510747324A CN105354061A CN 105354061 A CN105354061 A CN 105354061A CN 201510747324 A CN201510747324 A CN 201510747324A CN 105354061 A CN105354061 A CN 105354061A
- Authority
- CN
- China
- Prior art keywords
- working routine
- mcu
- memory
- working
- memory module
- 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
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/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种保护MCU工作程序的方法及系统。方法包括步骤:S1,运行下载程序;S2,由下载程序判断运行工作程序或者需要升级工作程序,如运行工作程序则进入步骤S3,如需要升级工作程序则进入步骤S4。系统包括MCU、外部存储模块和内存。本发明首先通过在MCU的FLASH中先烧录进去下载程序,MCU上电后运行下载程序,然后由下载程序来升级工作程序或者负责把工作程序运行起来,实现当工作程序被删除后依然可以方便的实现升级并运行;其次,通过利用外部存储模块的一部分扇区存储下载程序,另一部分扇区存储工作程序,节省了MCU接口总线资源,从而节省成本。本发明可广泛应用于各种MCU工作程序管理系统。
Description
技术领域
本发明涉及芯片工作程序控制领域,尤其涉及一种保护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,下载程序把工作程序写到FLASH中的对应位置。
6.然后由下载程序进行复位,重新运行下载程序,再由下载程序搬移工作程序并运行。
本发明首先通过在MCU的FLASH中先烧录进去下载程序,MCU上电后运行下载程序,然后由下载程序来升级工作程序或者负责把工作程序运行起来,实现当工作程序被删除后依然可以方便的实现升级并运行;其次,通过利用外部存储模块的一部分扇区存储下载程序,另一部分扇区存储工作程序,节省了MCU接口总线资源,从而节省成本;再次,本发明安全性高,使用方便,运行稳定可靠,具有良好的经济和社会效益。
本发明可广泛应用于各种MCU工作程序管理系统。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (7)
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代码到内存中,然后运行BOOT代码;
S02,BOOT代码执行动作:从外部存储模块中搬移下载程序和/或工作程序到内存中对应的地址,搬移完成后执行步骤S1。
5.一种保护MCU工作程序的系统,其特征在于,所述系统用于实施如权利要求1至4任意一项所述的一种保护MCU工作程序的方法,所述系统包括:
MCU,分别与外部存储模块和内存连接,用于运行下载程序、工作程序;
外部存储模块,所述外部存储模块包括第一存储扇区和第二存储扇区,所述第一存储扇区用于存储下载程序,所述第二存储扇区用于存储工作程序;
内存,用于根据MCU的命令存储下载程序和/或工作程序。
6.根据权利要求5所述的一种保护MCU工作程序的系统,其特征在于,所述第一存储扇区存储有BOOT代码,所述BOOT代码用于引导MCU搬移和运行下载程序和/或工作程序。
7.根据权利要求5或6所述的一种保护MCU工作程序的系统,其特征在于,所述外部存储模块为一个FLASH存储器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510747324.6A CN105354061A (zh) | 2015-11-05 | 2015-11-05 | 一种保护mcu工作程序的方法及系统 |
PCT/CN2015/095517 WO2017075852A1 (zh) | 2015-11-05 | 2015-11-25 | 一种保护mcu工作程序的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510747324.6A CN105354061A (zh) | 2015-11-05 | 2015-11-05 | 一种保护mcu工作程序的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105354061A true CN105354061A (zh) | 2016-02-24 |
Family
ID=55330035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510747324.6A Pending CN105354061A (zh) | 2015-11-05 | 2015-11-05 | 一种保护mcu工作程序的方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105354061A (zh) |
WO (1) | WO2017075852A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708592A (zh) * | 2017-01-25 | 2017-05-24 | 北京鸿智电通科技有限公司 | 一种微控制器以及用于微控制器的代码烧录方法 |
CN110377303A (zh) * | 2019-07-10 | 2019-10-25 | 杭州洲钜电子科技有限公司 | 基于备用存储区方式升级程序的方法及其设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108897709A (zh) * | 2018-05-25 | 2018-11-27 | 上海乘讯信息科技有限公司 | 一种程序接口下载系统 |
CN111459468A (zh) * | 2020-04-09 | 2020-07-28 | 西安现代控制技术研究所 | 高可靠性串口通讯的dsp程序在线升级系统和方法 |
CN113741944A (zh) * | 2021-08-16 | 2021-12-03 | 南京苏美达智能技术有限公司 | 一种具备升级功能的机器程序系统及升级方法与应用 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1584844A (zh) * | 2003-08-19 | 2005-02-23 | 华为技术有限公司 | 一种单片机在线升级方法和装置 |
CN102360304A (zh) * | 2011-10-18 | 2012-02-22 | 华南理工大学 | 嵌入式微处理器系统及其固件更新方法 |
CN102662718A (zh) * | 2012-05-03 | 2012-09-12 | 天津市英贝特航天科技有限公司 | 一种单片flash启动多用户程序模块 |
CN104102486A (zh) * | 2014-07-17 | 2014-10-15 | 福建升腾资讯有限公司 | 一种基于外部存储模块实现mcu程序空间扩容的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1252951C (zh) * | 2003-11-04 | 2006-04-19 | 中兴通讯股份有限公司 | 节点b单板软件下载及升级方法 |
CN100373337C (zh) * | 2006-01-20 | 2008-03-05 | 北京朗通环球科技有限公司 | 一种嵌入式系统的引导系统 |
KR20080023841A (ko) * | 2006-09-12 | 2008-03-17 | 카시와야마 토요히테 | 펌웨어 업그레이드와 손상된 펌웨어 자동 복구 시스템 및방법 |
CN102567054B (zh) * | 2011-12-22 | 2015-05-20 | 深圳市大富科技股份有限公司 | 双塔放大器的控制方法及相应的装置 |
CN104486355A (zh) * | 2014-12-30 | 2015-04-01 | 大连楼兰科技股份有限公司 | 防止代码被恶意篡改的方法和装置 |
-
2015
- 2015-11-05 CN CN201510747324.6A patent/CN105354061A/zh active Pending
- 2015-11-25 WO PCT/CN2015/095517 patent/WO2017075852A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1584844A (zh) * | 2003-08-19 | 2005-02-23 | 华为技术有限公司 | 一种单片机在线升级方法和装置 |
CN102360304A (zh) * | 2011-10-18 | 2012-02-22 | 华南理工大学 | 嵌入式微处理器系统及其固件更新方法 |
CN102662718A (zh) * | 2012-05-03 | 2012-09-12 | 天津市英贝特航天科技有限公司 | 一种单片flash启动多用户程序模块 |
CN104102486A (zh) * | 2014-07-17 | 2014-10-15 | 福建升腾资讯有限公司 | 一种基于外部存储模块实现mcu程序空间扩容的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708592A (zh) * | 2017-01-25 | 2017-05-24 | 北京鸿智电通科技有限公司 | 一种微控制器以及用于微控制器的代码烧录方法 |
CN110377303A (zh) * | 2019-07-10 | 2019-10-25 | 杭州洲钜电子科技有限公司 | 基于备用存储区方式升级程序的方法及其设备 |
CN110377303B (zh) * | 2019-07-10 | 2022-11-04 | 杭州洲钜电子科技有限公司 | 基于备用存储区方式升级程序的方法及其设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2017075852A1 (zh) | 2017-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105354061A (zh) | 一种保护mcu工作程序的方法及系统 | |
CN101425018B (zh) | 基于分段式的嵌入式固件升级方法及装置 | |
CN103207797B (zh) | 基于通用可扩展固件接口固件系统的胶囊式定制更新方法 | |
CN105205401A (zh) | 基于安全密码芯片的可信计算机系统及其可信引导方法 | |
CN103677947A (zh) | 基于linux的设备双系统保护及升级方法 | |
KR101673299B1 (ko) | 운영 시스템 복구 방법 및 장치, 그리고 단말기기 | |
CN103379481B (zh) | 一种实现安全防护的方法 | |
US20180349193A1 (en) | Streaming program execution method of intelligent terminal | |
CN102799452B (zh) | 系统软件升级方法和装置 | |
CN105159777A (zh) | 进程的内存回收方法及装置 | |
CN105528225A (zh) | 应用程序的加载方法及加载装置 | |
CN104657258B (zh) | 一种向目标进程内注入Java字节码的方法及装置 | |
CN107632862A (zh) | 一种汽车电子控制单元ecu的多级启动加载方法 | |
CN107566169A (zh) | 一种基于openwrt的固件升级方法及路由器 | |
CN101169729A (zh) | 嵌入式系统及其更新应用程序的方法 | |
CN104182239A (zh) | 基于嵌入式Linux设备的文件系统升级方法及装置 | |
US20140298319A1 (en) | Method for installing operating system on electronic device | |
US9223697B2 (en) | Computer reprogramming method, data storage medium and motor vehicle computer | |
CN108153548A (zh) | 一种emmc固件升级方法和装置 | |
CN107894932A (zh) | 保持系统重启前后数据一致性的方法及其系统 | |
CN107766146B (zh) | 用于资源重配置的方法以及相应的设备 | |
CN106445601A (zh) | 一种插件升级的方法及装置 | |
CN114416031B (zh) | 面向AIoT场景支持RISC-V处理器的操作系统 | |
CN104516752A (zh) | 一种信息处理方法及电子设备 | |
CN103793250A (zh) | 嵌入式系统的快速安全启动装置以及启动方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160224 |