资料介绍
嵌入式系统内存结构分析
内存结构:
学习新系统执行环境的第一步都是相似的,就是系统如何使用内存。下图粗略的描述了
Motorola 68K系列通用微处理器的内存映象,很具有代表性。
| | |ROM | | |RAM | | |
|系统 |代码 |数据 |I/O |…………. |数据 |堆 |栈 |
|空间 |空间 |空间 |空间 | |空间 | | |
0x00000000
0xFFFFFFF
嵌入式系统内存一般为线性内存,不需要段页式管理,物理地址等于逻辑地址,所能
寻址空间即为物理地址空间大小。
I/O空间左边的都可以用ROM实现,而右边的可以用RAM实现。
系统空间:
MOTOROLA
68K系列通用微处理器为异常保留向量表的1024字节内存空间9256个长字)。异常向量是
硬连线地址,处理器用其标识出在系统遇到中断或其他异常时将运行哪段代码。由于68
K中每个向量都设为4字节长,所以他可以支持256个异常向量。
代码空间:
在系统空间之上的代码空间存放着指令。一般要把系统和代码空间存放在同一个物理RO
M设备中,使它们紧紧挨在一起是非常有意义的。
数据空间:
在代码空间之上,ROM数据空间存放常量数值,如错误信息或其他字符串。
在数据空间之上内存结构没有绝对严格的规则,而更多依赖于硬件设计时的定义。因
而,图中的内存模型仅是个例子,并不意味着要按这种方式来做。
RAM的三个基本区域需要标明:栈、自由内存(RAM数据空间)和堆