CC2530之Flash映射

标准51系列内核的逻辑空间为哈佛结构,也就是说,程序空间和地址空间是分开的。具体分为:

CODE区:存放程序代码和一些常量信息,有16根地址总线,寻址范围为0x0000~0xFFFF,共计64K

DATA区:存放运行中的数据,8根地址总线,寻址范围为0x00~0xFF,共计256个字节,其中,低128字节可直接寻址,高128字节可间接寻址。

XDATA:外部数据存储器,间接寻址,16根地址总线,寻址范围为0x0000~0xFFFF.共计64K。

Technorati 标签: CC2530 Flash

51系列内核的物理存储空间划分为Flash,SRAM,SFR,Info Page,XREG。

逻辑空间划分为4类,CODE、DATA、SFR、XDATA。

CODE全部映射到Flash中去,DATA区全部映射到SRAM中去,其中,低128字节的DATA可直接或间接寻址,高128字节只能间接寻址。XDATA大部分映射到Flash,少部分映射到SRAM中。DMA在XDATA上寻址。

这里,就有一个疑问了,既然CC2530系列内部Flash最大可达256K,最小可以为32K。但是CODE区可寻址范围最大只有64K,如何去寻址256K呢?为了兼容不同系列的Flash大小空间读写问题,以32K为一个bank单位,最大空间256K,划分为8个bank,编号为bank0~bank7,其中,bank0是root bank,始终占有。那么CODE寻址还剩下32K空间,因此,最多可以再映射一个bankx(x=1~7),其中,x值的选择由FMAP[2:0]数值来确定将高位空间映射到剩下的0x8000-0xFFFF 中去。

空间结构图如下:

image

下图是示意Flash映射分配图

image

 

Flash中,一个page的大小为2K,.SRAM映射的空间为低位的8K空间,地址范围为0x0000~0x1FFF.其顶部256个字节用于映射DATA区。

那么,在这么些bank里面,每个区域又是如何划分的呢?这就要用到IAR的全局链接文件f8w2530.xcl了。

f8w2530.xcl文件时IAR的链接工具的配置文件,其中,定义了许多段(-Z.-P)、宏(-D)。 image

 

对于一些NV项目的存储,链接文件中有如下说明:

image

内部NV项存储地址开始和结束,总体预留空间为6个page,也就是12K。

 

在Flash中的最后一个bank的最后一个page,保留使用,其内容分布如下:

 image

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值