CN104102486A - 一种基于外部存储模块实现mcu程序空间扩容的方法 - Google Patents
一种基于外部存储模块实现mcu程序空间扩容的方法 Download PDFInfo
- Publication number
- CN104102486A CN104102486A CN201410339106.4A CN201410339106A CN104102486A CN 104102486 A CN104102486 A CN 104102486A CN 201410339106 A CN201410339106 A CN 201410339106A CN 104102486 A CN104102486 A CN 104102486A
- Authority
- CN
- China
- Prior art keywords
- program
- mcu
- area
- boot program
- boot
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种基于外部存储模块实现MCU程序空间扩容的方法,所述MCU内部程序FLASH划分为AP程序区和BOOT程序区;所述外部存储模块负责存储AP程序;所述方法步骤包括:待运行的AP程序存储于外部存储模块;上电复位,启动BOOT程序区,将AP程序加载到AP程序区,跳转到AP程序区运行对应AP程序;运行过程中,需要切换不同功能应用程序时,设置下一阶段需要运行的AP程序指针,再跳转运行BOOT程序,加载相应的AP程序,并跳转运行相应AP程序。本发明通过SPIFLASH、EEPROM等通用存储器存储MCU运行文件,解决通用MCU内部FLASH空间偏小无法存储足够多的应用程序的问题。
Description
技术领域
本发明涉及一种嵌入式应用设备的开发方法,尤其涉及一种基于外部存储模块实现MCU程序空间扩容的方法。
背景技术
随着嵌入式应用场景的逐渐增多,经常需要在一个应用方案中设计兼容多个场景应用或者兼容多个不同功能应用,现在的MCU内部都会集成一定容量的程序存储FLASH,容量一般不会很大,通用的都在8K~128KB,而增强型芯片有的会达到1MB,随着功能应用的增多,其编写出来的程序文件大小经常会超出芯片内部集成FLASH大小,而大容量FLASH空间芯片价格也比通用的贵的多。
发明内容
本发明要解决的技术问题,在于提供一种基于外部存储模块实现MCU程序空间扩容的方法,实现低成本空间扩容。
本发明是这样实现的:一种基于外部存储模块实现MCU程序空间扩容的方法,所述MCU支持在线FLASH擦除、编程以及支持程序运行地址跳转的功能,所述MCU内部程序FLASH划分为AP程序区和BOOT程序区;所述外部存储模块包括存储器,所述存储器用于存储AP程序,该AP程序为MCU运行文件;所述MCU和外部存储模块通过总线连接;
所述AP程序区用于运行AP程序;
所述BOOT程序区用于运行BOOT程序,该BOOT程序负责将AP程序指针加载到AP程序区;
本发明具体包括如下步骤:
步骤10、上电复位,启动BOOT程序区,根据AP运行指针要求,BOOT程序从外部存储模块中加载对应AP程序到AP程序区;
步骤20、BOOT程序运行完后,跳转到AP程序区,运行对应AP程序;
步骤30、在运行过程中,若需要切换不同功能应用程序,则AP程序设置下一阶段需要运行的AP程序指针并跳转到BOOT程序,BOOT程序重新加载变化后的AP程序,跳转运行该AP程序,以此实现不同应用功能程序的切换;否则,继续根据原AP指针要求执行相应AP程序。
进一步的,所述存储器包括使用串行外设接口的闪存SPIFLASH或带电可擦可编程只读存储器EEPROM。
进一步的,所述总线包括串行外设接口SPI或集成电路总线IIC。
本发明具有如下优点:本发明通过外挂串行外设接口的闪存SPIFLASH或带电可擦可编程只读存储器EEPROM等通用存储器来存储MCU运行文件,并通过BOOT程序从外挂存储器中加载MCU运行文件到MCU内部FLASH中执行,以节省MCU内部的程序空间,解决了通用MCU内部FLASH空间偏小无法存储足够多的应用程序的问题。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法流程图。
图2为本发明硬件设计框架图。
图3为本发明MCU内部程序空间划分图。
具体实施方式
请参阅图1至图3,一种基于外部存储模块实现MCU程序空间扩容的方法,所述MCU支持在线FLASH擦除、编程以及支持程序运行地址跳转的功能,所述MCU可以是Cortex-M0、Cortex-M3、Cortex-M4等内核MCU,所述MCU内部程序FLASH划分为AP程序区和BOOT程序区;所述外部存储模块包括存储器,所述存储器用于存储AP程序,该存储器包括使用串行外设接口的闪存SPIFLASH或带电可擦可编程只读存储器EEPROM;所述MCU和外部存储模块通过总线连接,该总线包括串行外设接口SPI或集成电路总线IIC;
所述AP程序区用于运行AP程序;
所述BOOT程序区用于运行BOOT程序,该BOOT程序负责将AP程序指针加载到AP程序区;
本发明具体包括如下步骤:
步骤10、上电复位,启动BOOT程序区,根据AP运行指针要求,BOOT程序从外部存储模块中加载对应AP程序到AP程序区;
步骤20、BOOT程序运行完后,跳转到AP程序区,运行对应AP程序;
步骤30、在运行过程中,若需要切换不同功能应用程序,则AP程序设置下一阶段需要运行的AP程序指针并跳转到BOOT程序,BOOT程序重新加载变化后的AP程序到MCU内部程序FLASH中的AP程序区,跳转运行需要运行的AP程序,以此实现不同应用功能程序的切换;否则,继续根据原AP指针要求执行相应AP程序。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (3)
1.一种基于外部存储模块实现MCU程序空间扩容的方法,所述MCU支持在线FLASH擦除、编程以及支持程序运行地址跳转的功能,其特征在于:所述MCU内部程序FLASH划分为AP程序区和BOOT程序区;所述外部存储模块包括存储器,所述存储器用于存储AP程序;所述MCU和外部存储模块通过总线连接;
所述AP程序区用于运行AP程序;
所述BOOT程序区用于运行BOOT程序,该BOOT程序负责将AP程序指针加载到AP程序区;
所述方法包括如下步骤:
步骤10、上电复位,启动BOOT程序区,根据AP运行指针要求,BOOT程序从外部存储模块中加载对应AP程序到AP程序区;
步骤20、BOOT程序运行完后,跳转到AP程序区,运行对应AP程序;
步骤30、在运行过程中,若需要切换不同功能应用程序,则AP程序设置下一阶段需要运行的AP程序指针并跳转到BOOT程序,BOOT程序重新加载变化后的AP程序,跳转运行该AP程序;否则,继续根据原AP指针要求执行相应AP程序。
2.根据权利要求1所述的一种基于外部存储模块实现MCU程序空间扩容的方法,其特征在于:所述存储器包括使用串行外设接口的闪存SPIFLASH或带电可擦可编程只读存储器EEPROM。
3.根据权利要求1所述的一种基于外部存储模块实现MCU程序空间扩容的方法,其特征在于:所述总线包括串行外设接口SPI或集成电路总线IIC。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410339106.4A CN104102486A (zh) | 2014-07-17 | 2014-07-17 | 一种基于外部存储模块实现mcu程序空间扩容的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410339106.4A CN104102486A (zh) | 2014-07-17 | 2014-07-17 | 一种基于外部存储模块实现mcu程序空间扩容的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104102486A true CN104102486A (zh) | 2014-10-15 |
Family
ID=51670664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410339106.4A Pending CN104102486A (zh) | 2014-07-17 | 2014-07-17 | 一种基于外部存储模块实现mcu程序空间扩容的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104102486A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354061A (zh) * | 2015-11-05 | 2016-02-24 | 邦彦技术股份有限公司 | 一种保护mcu工作程序的方法及系统 |
CN105653377A (zh) * | 2015-12-23 | 2016-06-08 | 致象尔微电子科技(上海)有限公司 | 一种异构多核系统核间通讯方法及控制器 |
CN106598668A (zh) * | 2016-12-13 | 2017-04-26 | 西安航天精密机电研究所 | 基于调度系统对agv物流运输系统进行远程升级的方法 |
CN107122213A (zh) * | 2017-04-28 | 2017-09-01 | 北京疯景科技有限公司 | 程序的运行方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020034971A1 (en) * | 1999-02-08 | 2002-03-21 | Chienchung Chang | Data allocation for multiple applications on a microprocessor or dsp |
CN201765585U (zh) * | 2010-07-26 | 2011-03-16 | 四川九洲电器集团有限责任公司 | 一种处理器应用程序动态加载系统 |
CN102479105A (zh) * | 2010-11-25 | 2012-05-30 | 比亚迪股份有限公司 | 一种单片机程序调用方法及系统 |
CN102622253A (zh) * | 2012-03-09 | 2012-08-01 | 瑞斯康达科技发展股份有限公司 | 一种单片机及其在线升级的方法 |
CN102662810A (zh) * | 2012-03-27 | 2012-09-12 | 上海大学 | 一种微处理器的在线调试方法 |
CN102662913A (zh) * | 2012-03-29 | 2012-09-12 | 佛山华芯微特科技有限公司 | 用于提高mcu存储性能的方法及其对应的mcu芯片 |
-
2014
- 2014-07-17 CN CN201410339106.4A patent/CN104102486A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020034971A1 (en) * | 1999-02-08 | 2002-03-21 | Chienchung Chang | Data allocation for multiple applications on a microprocessor or dsp |
CN201765585U (zh) * | 2010-07-26 | 2011-03-16 | 四川九洲电器集团有限责任公司 | 一种处理器应用程序动态加载系统 |
CN102479105A (zh) * | 2010-11-25 | 2012-05-30 | 比亚迪股份有限公司 | 一种单片机程序调用方法及系统 |
CN102622253A (zh) * | 2012-03-09 | 2012-08-01 | 瑞斯康达科技发展股份有限公司 | 一种单片机及其在线升级的方法 |
CN102662810A (zh) * | 2012-03-27 | 2012-09-12 | 上海大学 | 一种微处理器的在线调试方法 |
CN102662913A (zh) * | 2012-03-29 | 2012-09-12 | 佛山华芯微特科技有限公司 | 用于提高mcu存储性能的方法及其对应的mcu芯片 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354061A (zh) * | 2015-11-05 | 2016-02-24 | 邦彦技术股份有限公司 | 一种保护mcu工作程序的方法及系统 |
CN105653377A (zh) * | 2015-12-23 | 2016-06-08 | 致象尔微电子科技(上海)有限公司 | 一种异构多核系统核间通讯方法及控制器 |
CN105653377B (zh) * | 2015-12-23 | 2019-07-26 | 致象尔微电子科技(上海)有限公司 | 一种异构多核系统核间通讯方法及控制器 |
CN106598668A (zh) * | 2016-12-13 | 2017-04-26 | 西安航天精密机电研究所 | 基于调度系统对agv物流运输系统进行远程升级的方法 |
CN107122213A (zh) * | 2017-04-28 | 2017-09-01 | 北京疯景科技有限公司 | 程序的运行方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104102486A (zh) | 一种基于外部存储模块实现mcu程序空间扩容的方法 | |
KR102153907B1 (ko) | 전압 레귤레이터, 메모리 컨트롤러 및 그것의 전압 공급 방법 | |
US20160048459A1 (en) | Operation method of memory controller and nonvolatile memory system including the memory controller | |
US9484069B2 (en) | Auxiliary power supply devices and nonvolatile memory systems including the same | |
US20150095551A1 (en) | Volatile memory architecutre in non-volatile memory devices and related controllers | |
US8285920B2 (en) | Memory device with dynamic controllable physical logical mapping table loading | |
CN104102585A (zh) | 映射信息记录方法、存储器控制器与存储器储存装置 | |
US20160371096A1 (en) | Efficient ram usage in computing devices | |
CN101901156A (zh) | 一种处理器应用程序动态加载方法及其系统 | |
US9606811B2 (en) | Operating method of data storage device | |
CN105389269A (zh) | 数据存储装置、包括其的数据处理系统及其操作方法 | |
CN201765585U (zh) | 一种处理器应用程序动态加载系统 | |
CN105607901A (zh) | 系统内存的优化方法、装置及终端设备 | |
TW201705148A (zh) | 映射表存取方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN103312158A (zh) | 升压电路 | |
US20060224842A1 (en) | Information processor and program preparation method | |
US20140298319A1 (en) | Method for installing operating system on electronic device | |
US20170249167A1 (en) | Memory device, and information-processing device | |
CN109669627B (zh) | 数据储存装置以及非挥发式存储器操作方法 | |
US20140223085A1 (en) | Memory Systems and Operating Methods of Memory Controllers | |
US20200042459A1 (en) | Storage device providing a virtual memory region, electronic system including the same, and method of operating the same | |
CN101118494A (zh) | 嵌入式设备从外接电子卡启动操作系统的系统与方法 | |
CN107481759B (zh) | 一种外部双电压输入选择开关电路及电子装置 | |
CN102360300A (zh) | 操作系统的启动方法及装置 | |
JP2013069047A (ja) | メモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141015 |