1、存储空间和存储器
存储空间只是一个地址空间,本身无存储功能。
存储器有存储数据和输出数据的能力,用途不一定,尽管有ROM和RAM之分。
2、存储空间
共用3个存储空间:程序空间、数据空间、IO空间。大小均为64KByte(不考虑程序存储空间的分页扩展)
3、存储器
可用的存储器有多种,有不同分类方法。
按内外:片上存储器、片外存储器。
按原理:DARAM、SARAM、ROM等,其中外部存储器种类更多。
4、如何使用存储空间和存储器
就是如何把所需要的存储器映射到存储空间里面,使其可以被使用。
示例:型号:5416
程序空间全部分配至外部NOR存储器
数据空间全部分配至内部DARAM存储器
IO 空间无需设置
1、控制位设置
MP/MC= 1, OVLY= 0, 即使用微处理器模式,也就是把DSP当做CPU来用,需要外部存储。
DROM=1
2、MEMORY 命令
MEMORY 命令用来建立一个存储模型。本例如下
MEMORY
{
PAGE 0: XPROM: org=0000h, len=ff80h /*外部程序存储器*/
PAGE 0: VECS: org=ff80h, len=80h /*中断向量*/
PAGE 1: DARAM: org=0080h, len=ff80h /*内部数据存储器*/
}
对上面内容的解释;
PAGE 0: 表示程序存储空间
PAGE 1: 表示数据存储空间
PAGE 2: 表示IO存储空间
XPROM、VECS、DARAM 为用户自己起的名字
Org 开始地址
Len 长度(单位为字)
3、SECTIONS 命令
MEMORY 命令指示把某个段放在某个存储 区中。本例如下
SECTIONS
{
.text: load=XPROM PAGE 0
.vectors: load=VECS PAGE 0
.bss: load=DARAM PAGE 1
}
对以上内容的解释:
.text 加载至XPROM
.vectors 加载至VECS
.bss段 加载至DARAM
总结:感觉学习一样东西时,最好先假定一个具体的实例,然后看看实现这个实例需要什么。具体的东西总会给人深刻的印象。 |