嵌入式系统内存结构分析

上传人:mg****85 文档编号:36604123 上传时间:2018-03-31 格式:DOC 页数:2 大小:29.50KB
返回 下载 相关 举报
嵌入式系统内存结构分析_第1页
第1页 / 共2页
嵌入式系统内存结构分析_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《嵌入式系统内存结构分析》由会员分享,可在线阅读,更多相关《嵌入式系统内存结构分析(2页珍藏版)》请在金锄头文库上搜索。

1、内存结构内存结构:学习新系统执行环境的第一步都是相似的,就是系统如何使用内存。下图粗略的描述了 Motorola 68K 系列通用微处理器的内存映象,很具有代表性。系统 空间代码 空间 数据 空间I/O 空间.RAM 数据 空间堆栈0x00000000 0xFFFFFFF嵌入式系统内存一般为线性内存,不需要段页式管理,物理地址等于逻辑地址,所能 寻址空间即为物理地址空间大小。 I/O 空间左边的都可以用 ROM 实现,而右边的可以用 RAM 实现。系统空间系统空间:MOTOROLA 68K 系列通用微处理器为异常保留向量表的 1024 字节内存空间 9256 个 长字) 。异常向量是硬连线地址

2、,处理器用其标识出在系统遇到中断或其他异常时将运行哪 段代码。由于 68K 中每个向量都设为 4 字节长,所以他可以支持 256 个异常向量。代码空间代码空间:在系统空间之上的代码空间存放着指令。一般要把系统和代码空间存放在同一个物理 ROM 设备中,使它们紧紧挨在一起是非常有意义的。数据空间数据空间: 在代码空间之上,ROM 数据空间存放常量数值,如错误信息或其他字符串。 在数据空间之上内存结构没有绝对严格的规则,而更多依赖于硬件设计时的定义。因 而,图中的内存模型仅是个例子,并不意味着要按这种方式来做。RAM 的三个基本区域需要标明:栈、自由内存(的三个基本区域需要标明:栈、自由内存(RA

3、M 数据空间)和堆数据空间)和堆栈栈:栈用来保存当前运行状态和所有暂停运行的进程上下文。因此,栈包含所有的活动局 部或自动变量以及函数和中断的返回地址。只有提供栈空间,程序才能进行中断服务和函 数调用。栈一般位于内存的高端,这是因为 68K 系列以递减内存设置栈,也就是栈按从上向下 的方向增长。把栈放在 RAM 右端意味着栈的逻辑底在 RAM 地址的最高处,它被赋予内 存空间的最高值并向下增长。自由内存自由内存(RAM 数据空间): 所有静态分配的读写变量都放在自由内存中。全局变量是最常见的形式,C 语言中的“static”型变量也放在这里。堆堆:所有动态分配的(使用 new 或 malloc)的对象和变量都放在堆中。无效内存空间无效内存空间: 图中的省略部分表示无效的地址空间,但不能指向任何内存。I/O 空间空间:最后的内存组成部分是映射到内存的外部设备。图中,这些设备放在 I/O 空间区域。 68K 不为设备分配单独的地址空间,这些 I/O 设备被认为是存在于 RAM 和 ROM 之间另外 一些空白内存区域的地址中的。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号