CN101452391A - 嵌入式***中的内存装入方法 - Google Patents
嵌入式***中的内存装入方法 Download PDFInfo
- Publication number
- CN101452391A CN101452391A CNA2007101719159A CN200710171915A CN101452391A CN 101452391 A CN101452391 A CN 101452391A CN A2007101719159 A CNA2007101719159 A CN A2007101719159A CN 200710171915 A CN200710171915 A CN 200710171915A CN 101452391 A CN101452391 A CN 101452391A
- Authority
- CN
- China
- Prior art keywords
- program
- internal memory
- branched
- embedded system
- embedding method
- 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
Images
Landscapes
- Stored Programmes (AREA)
Abstract
一种嵌入式***中的内存装入方法,其包括以下步骤:将全部程序按功能和需求划分为三个部分,分别为主程序、分支程序、公用程序,该分支程序按不同的功能划分为若干相互独立的模块;将全部地址空间相应划分为三个部分,分别为主程序区、覆盖区、公用程序区;将上述各程序装入内存时,主程序装入主程序区,分支程序装入覆盖区,公用程序装入公用程序区,其中每个分支程序独立编译链接,占用相同的地址空间。采用本发明可以节省内存、降低硬件设备成本。
Description
技术领域
本发明涉及一种嵌入式***中的内存装入方法,特别是涉及应用于手机、GPS导航仪等嵌入式设备中的内存装入方法。
背景技术
目前嵌入式***的发展在计算机领域已经越来越快,已经深入应用到工业控制、医疗、通信等多个领域。随着嵌入式***的功能越来越多,其程序也越来越大。应用有效的内存管理技术,可以节省内存、降低硬件设备成本。内存部分覆盖技术即是可以实现此功能的一种内存管理技术。
发明内容
本发明的目的是提供一种嵌入式***中的内存装入方法,该方法把全部程序的某些部分分成若干功能独立的模块,每个模块独立编译链接,占用相同的地址空间,每个模块在运行时装入。
本发明的目的是通过以下技术方案实现的:
一种嵌入式***中的内存装入方法,其特点在于,其包括以下步骤:
将全部程序按功能和需求划分为三个部分,分别为主程序、分支程序、公用程序,该分支程序按不同的功能划分为若干相互独立的模块;将全部地址空间相应划分为三个部分,分别为主程序区、覆盖区、公用程序区;将上述各程序装入内存时,主程序装入主程序区,分支程序装入覆盖区,公用程序装入公用程序区,其中每个分支程序独立编译链接,占用相同的地址空间。
其中,每个分支程序使用同一个覆盖区。
其中,每个分支程序指定相同的起始执行地址为内存覆盖区起始地址,并且每个分支程序占用的空间不超出内存覆盖区分配的空间。
其中,每个分支程序在执行时装入内存,并且不同时装入内存。
其中,该分支程序导入内存的过程通过一分支程序注册表来实现。
其中,该分支程序注册表为主程序的一部分,其存储了所有分支程序的信息。
其中,该分支程序的信息包括分支程序在外存的存放位置、占用空间的大小。
本发明的积极进步效果在于:节省内存、降低硬件设备成本。
附图说明
图1为本发明所采用的内存装入方法的总体流程图。
图2为本发明所采用的内存装入方法的应用环境图。
图3为本发明所采用的内存装入方法中,全部程序和地址空间的划分原理图。
图4为本发明所采用的内存装入方法中,各分支程序装入内存过程的原理图。
具体实施方式
下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。
一、本发明的应用环境
如图1所示,嵌入式***一般由主处理器101、内存102、外存103等核心部件和显示模块、音频模块、通信模块等其他设备104组成。其中,内存102占用连续的***总线地址空间,外存103通过外部设备接口接在***总线上,其用于存储程序和其他数据例如文件***等。***复位后,从内存地址的起始处取指令执行,但在此之前需要把程序从外存103装入内存102种。
本发明的应用环境主要是对于***主处理器101中没有内存管理单元(MMU),或者有内存管理单元但因为一些原因(如占用内存空间比较多)而没有使用此功能的嵌入式设备。本发明的嵌入式***的内存装入方法,即是针对没有使用内存管理单元,或者有内存管理单元而没有使用该功能的嵌入式设备的一种有效管理内存的技术。
二、本发明的整体流程和各分步骤的实现原理
如图2至图4,图2为本发明中的内存装入方法的整体流程图,而图3和图4分别是对该整体流程图中的某一步骤作具体说明。其中,图3为程序和地址空间划分的原理图,而图4为分支程序装入步骤的原理图。
下面结合图2至图4进行说明。如图2所示。
步骤201,开始。
步骤202,把全部程序按照功能和需求划分为三个部分,主程序301、分支程序302、公用程序303(详见图3)。各类程序的作用如下:
1、主程序301,实现对硬件的初始化和程序的总框架,并在需要时把分支程序302选择导入内存。
2、分支程序302,实现功能独立的模块,每个模块使用相同的内存地址空间,独立编译和链接。图中分支程序302被划分成程序1、程序2、程序3。
3、公用程序303,提供被各分支程序302调用的驱动程序和服务程序。
步骤203,将全部地址空间相应划分为三个部分,分别为主程序区401、覆盖区402、公用程序区403。各部分的用途如下:
1、主程序区401,用于装入主程序301。
2、覆盖区402,用于装入分支程序302。
3、公用程序区403,用于装入公用程序303。
在步骤204,即将上述的主程序301装入主程序区401,分支程序302装入覆盖区402,公用程序303装入公用程序区403。
其中,主程序301在***复位后执行,在执行到分支程序302时,会根据需要把分支程序302导入内存。这个过程是通过分支程序注册表501来实现的(详见图4)。该分支程序注册表501是主程序的一部分,其存储了所有分支程序302的信息,包括分支程序302在外存103中的存放位置、占用空间大小等。每个分支程序302独立编译和链接,使用相同的内存地址空间,即覆盖区地址空间,并且不能超出该空间范围。
在步骤205,分支程序302载入内存覆盖区执行完成后按要求返回主程序301或结束。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改。因此,本发明的保护范围由所附权利要求书限定。
Claims (7)
1、一种嵌入式***中的内存装入方法,其特征在于,其包括以下步骤:
将全部程序按功能和需求划分为三个部分,分别为主程序、分支程序、公用程序,该分支程序按不同的功能划分为若干相互独立的模块;
将全部地址空间相应划分为三个部分,分别为主程序区、覆盖区、公用程序区;
将上述各程序装入内存时,主程序装入主程序区,分支程序装入覆盖区,公用程序装入公用程序区,其中每个分支程序独立编译链接,占用相同的地址空间。
2、根据权利要求1所述的嵌入式***中的内存装入方法,其特征在于,每个分支程序使用同一个覆盖区。
3、根据权利要求2所述的嵌入式***中的内存装入方法,其特征在于,每个分支程序指定相同的起始执行地址为内存覆盖区起始地址,并且每个分支程序占用的空间不超出内存覆盖区分配的空间。
4、根据权利要求3所述的嵌入式***中的内存装入方法,其特征在于,每个分支程序在执行时装入内存,并且不同时装入内存。
5、根据权利要求1至4任一权利要求所述的嵌入式***中的内存装入方法,其特征在于,该分支程序导入内存的过程通过一分支程序注册表来实现。
6、根据权利要求5所述的嵌入式***中的内存装入方法,其特征在于,该分支程序注册表为主程序的一部分,其存储了所有分支程序的信息。
7、根据权利要求6所述的嵌入式***中的内存装入方法,其特征在于,该分支程序的信息包括分支程序在外存的存放位置、占用空间的大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101719159A CN101452391A (zh) | 2007-12-07 | 2007-12-07 | 嵌入式***中的内存装入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101719159A CN101452391A (zh) | 2007-12-07 | 2007-12-07 | 嵌入式***中的内存装入方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101452391A true CN101452391A (zh) | 2009-06-10 |
Family
ID=40734640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101719159A Pending CN101452391A (zh) | 2007-12-07 | 2007-12-07 | 嵌入式***中的内存装入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101452391A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937402A (zh) * | 2010-09-08 | 2011-01-05 | 无锡中星微电子有限公司 | 内存管理方法 |
CN103294510A (zh) * | 2013-05-24 | 2013-09-11 | 深圳市爱夫卡科技有限公司 | 应用程序动态加载方法和装置 |
CN104657157A (zh) * | 2013-11-20 | 2015-05-27 | 上海华虹集成电路有限责任公司 | 在8051芯片中优化内存的方法 |
-
2007
- 2007-12-07 CN CNA2007101719159A patent/CN101452391A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937402A (zh) * | 2010-09-08 | 2011-01-05 | 无锡中星微电子有限公司 | 内存管理方法 |
CN103294510A (zh) * | 2013-05-24 | 2013-09-11 | 深圳市爱夫卡科技有限公司 | 应用程序动态加载方法和装置 |
CN104657157A (zh) * | 2013-11-20 | 2015-05-27 | 上海华虹集成电路有限责任公司 | 在8051芯片中优化内存的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105183458A (zh) | 一种软件平台开发方法及装置 | |
CN103257929A (zh) | 一种虚拟机内存映射方法及*** | |
CN102831069B (zh) | 内存处理方法、内存管理设备 | |
WO2017193650A1 (zh) | 智能管理终端、智能光分配网络设备及其管理***及方法 | |
WO2012072039A1 (en) | Software upgrade method and apparatus | |
CN104461970B (zh) | Dma控制器、移动终端以及数据搬运方法 | |
CN103793255B (zh) | 可配置的多主模式多os内核实时操作***架构的启动方法 | |
CN102541450A (zh) | 一种应用程序图标的显示控制方法及装置 | |
CN102567399A (zh) | 一种访问数据库的方法和装置 | |
CN102495742A (zh) | Bios的刷新方法和装置、以及计算机 | |
CN102402622A (zh) | 嵌入式内存数据库的内存页面管理调度方法 | |
CN104267981A (zh) | 一种加载桌面上的应用布局的方法及装置 | |
CN104965708A (zh) | 一种应用程序运行过程的内存管理方法及装置 | |
CN107391622A (zh) | 一种数据访问方法及设备 | |
CN103246997A (zh) | 应用商店渠道标识的传输方法及*** | |
CN101174222A (zh) | 数据版本升级方法 | |
CN101452391A (zh) | 嵌入式***中的内存装入方法 | |
CN105573820A (zh) | 一种Xen虚拟机光盘热插拔方法 | |
JP2011221597A (ja) | クローンディスク作成方法およびプログラム | |
CN107391272A (zh) | 多进程数据交互的方法和终端 | |
CN106843857A (zh) | 基于srp实现代码库转换sdk的方法和装置 | |
CN103617135B (zh) | 一种存储设备中数据读取的方法及装置 | |
WO2012131426A1 (en) | Processor system with predicate register, computer system, method for managing predicates and computer program product | |
CN103455438A (zh) | 一种内存管理方法及设备 | |
CN101174204A (zh) | 数据版本升级的装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090610 |