CC2530存储器映射
本文以CC2530的F256为例,即有256kb的flash存储器和8K的sram存储器
一、CC2530里的四种存储空间(结构上划分的存储空间,并不是实际的存储器,是一种理论上的概念)
1. CODE 程序存储器 用处存放程序代码和一些常量
有16根地址总线,所以CODE的寻址范围是 0000H~FFFFH 共64KB
2. DATA 数据存储器 用于存放程序运行过程中的数据
有8根地址总线,所以DATA的寻址空间为 00H~FFH 共256 byte.低128位可以直接寻址,高128位只能间接寻址。
3. XDATA 外部数据存储器(只能间接寻址,访问速度比较慢) DMA是再XDATA上寻址的,这一点很重要
有16根地址总线,所以 XDATA 的寻址空间为 0000H ~ FFFFH 共64K
4. SFR 特殊功能寄存器 就是那些T1CTL, EA, P0 等配置寄存器存储的地方 共128K。因为CC2530的配置寄存器比较多,所以一些多余的寄存器就放到了 XREG 里面。XREG的大小为1K XREG的访问速度比 SFR慢。
以上4中存储空间只是4种不同寻址方式的概念,并不代表物理上具体的存储设备。例如 FLASH 或者 EEPROM都可以作为物理的存储媒介映射 到CODE上,DRAM或者SRAM都可以作为存储媒介映射到DATA中。CODE和DATA是存储空间的概念,FLASH、SRAM、EEPROM等是具体的物理存 储设备,这两个概念不要混淆。这好比,电脑需要RAM和ROM,这个ROM可以是西部数据的硬盘,也可以使三星的硬盘,也可以是不同材料的固态硬盘。一个是存储空间,另一个是具体的物理存储设备。
二、关于CODE存储器的映射
大家肯定会有疑问:既然CODE的寻址范围只有64KB,那CC2530F256怎么有256KB的flash呢?
正是为了解决寻址空间不足的问题,CC2530才提出了映射的概念。(当然,映射的另一重要目的是为了DMA)
CC2530把FLASH存储器分成了几个bank,每个bank的大小是32KB,即对于F256来讲,它有8个bank分别是bank0~bank7(不同芯片,bank数目不同)。通过FMAP.MAP[2:0] 控制,把不同的编号的bank映射到CODE上,解决了寻址空间受限制的问题。上图..
从图中可以看出,bank0是rootbank,就是程序开始执行的地方,这个common area始终都是对应FLASH存储器的0000H~7FFFH, 上面的另一半可以映射bank0~7. 我以前一直疑惑,为什么common area已经有bank0了,上面怎么还可以有bank0,从user guide里看,这样是可以的,就比如CC2530F32,只有一个bank0,它也只能这么映射了吧。
三、关于XDATA存储器的映射
关于XDATA的映射,可以这么说:一切都是为了DMA!! 为了让DMA能访问所有的存储区域,所以把所有的存储器都映射到了XDATA上。上图:
从图中可以看出,XDATA中包含了所有存储器的映射,包括256kb的FLASH存储器,8K 的SRAM存储器,还有 SFR , XREG, INFORMATION FAGE。这里看出来,其实CC2530的DATA,和 XDATA,都是用SRAM作为物理存储媒介的,但是它们的寻址方式不一样,所以访问DATA,比访问XDATA要快。至于SFR,XREG,INFORMATION PAGE,我不知道它们用了什么物理存储媒介,但是它们都被映射到XDATA上,可以被DMA访问。
这里要搞清楚一个概念,映射到XDATA上,不代表就只能用XDATA的寻址方式访问。比如SFR,它虽然被映射到了XDATA上,只能说明,DMA可以通过访问XDATA来操作SFR,但是CPU还是可以通过单周期访问SRF.打个比方,我们平时坐的公交车上都有一把逃生应急锤,在紧急情况下可以敲破窗子逃生。我们平时不会使用锤子敲碎窗子进出车厢,我们平时有车门可以走。但是在特殊情况下(比如DMA要操作某个存储器中的数据时),我们可以用特殊的方法(从XDATA上的映射来得到我们想要的数据)。
四、关于从SRAM启动代码
这种情况下,CC2530把SRAM存储器整个都映射到了CODE的bank area,可以从SRAM中执行代码。不要理解错了,这里只是说可以从SRAM中运行代码,不代表程序从SRAM中启动。程序还是会从 CODE的rootbank的0000H开始执行,只不过我们可以通过程序控制,让程序跳到 8000H之后,执行我们SRAM中想要的代码。
CC2530存储空间的使用
IAR中CC2530的有两种代码模式,Near和Banked。其中Banked模式是ZStack使用的模式,ZStack的ROM使用大约在100多KB。其中Near是普通的51单片机模式,只支持64KB的访问范围
CC2530存储器映射相关推荐
- Cortex-M3中的存储器映射
文章目录 1 Cortex-M3中的存储器映射 1 Cortex-M3中的存储器映射 Cortex-M3中的预定义的存储器映射,如下图,注意,这里指的是规范,实际厂家并不一定完全按照这个规范做. SR ...
- ARM的存储器映射与存储器重映射【转载】2009-12-14 10:29最近在用LPC2148,看到了一篇文章,感觉很有帮助,就转了过来。
ARM的存储器映射与存储器重映射[转载]2009-12-14 10:29最近在用LPC2148,看到了一篇文章,感觉很有帮助,就转了过来. arm处理器本身所产生的地址为虚拟地址,每一个arm芯片内都 ...
- stm32存储结构 存储器映射
问题: 1 什么是存储器映射?是怎么一个运作过程? 2 stm32总体架构 3 CM3内核结构 1 STM32系统结构 要想深刻理解STM32的存储器,需要首先知道STM32的系统结构. ...
- Cortex M3存储器映射
CortexM3存储器系统 宗旨:技术的学习是有限的,分享的精神是无限的. CM3 只有一个单一固定的存储器映射.这一点极大地方便了软件在各种 CM3 单片机间的移植. 存储空间的一些位置用于调试组件 ...
- 【STM32存储器映射-寄存器基地址-偏移】
前言 在学习STM32的时候,我们看到很多的寄存器编程, 比方说LED灯: //GPIOB.5端口输出高电平GPIOB->ODR|=1<<5; //PB.5 输出高GPIOE-> ...
- Cortex-M3存储器映射
CM3存储器映射概览 CM3的地址空间是4GB,程序可以在代码区.内部SRAM区以及外部RAM区中执行.但是因为ICode总线与DCode总线只能访问代码区,因此最理想的是把程序放到代码区,从而使取指 ...
- s3c6410存储器映射
1.引导镜像区 0x0000_0000~0x07FF_FFFF 2.内部存储区 (1) 内部ROM 0x0800_0000~0x0BFF_FFFF (2) 内部SRAM 0x0C00 ...
- CC2530存储器读写
CC2530共计有256KBflash,每2KB划分为1page,每16page划分为1 bank,如图: 在读取flash中数据的时候,首先要知道是读的哪个第几个bank中的数据,因为要把对应的fl ...
- MKL25Z128 Cortex-M0微处理器架构定义的存储器映射
- 蓝桥杯基础模块9:IO口扩展与存储器映射
一.模块题目 二.原理简述 三.源码 (1)I0扩展 //头文件 #include "reg52.h" //延时函数 void Delay(unsigned int t) {
最新文章
- 盘点2019年336起机器人及相关领域投融资事件!注重细分领域深耕行业复苏趋势显现...
- [原创]通过编写PowerDesigner脚本功能批量修改属性
- CSS || 三栏布局,两边固定,中间自适应
- python基础代码-python基础代码
- Ubuntu16.04(64位)下面使用Doxygen+Graphviz分析python代码
- 缓存(Cache)管理 ---- 系列文章
- td之间的间距怎么改_论文的一级标题、二级标题格式怎么弄?
- python2没有pip命令_解决Windows下python和pip命令无法使用的问题
- Delphi使用经验笔记。
- python标准库os.path中_Python零基础入门学习19:常用标准库之os.path子库
- 封装一个FTPClient连接池工具类
- 计算机组成原理英文词汇,“计算机组成原理”课专业词汇英汉对照.pdf
- 中文网页中的字体选型及开发指南
- Ubuntu下载QQ
- 中国数字音乐——版权问题之公司分析
- 程序员能力的四个境界
- select函数使用细节
- 成都百知教育关于Shopee 平台政策规则解读!
- 百度,阿里,搜狐公司社招面试题及总结
- 题目:输入一个8bit数,输出其中1的个数,只能使用1bit全加器
热门文章
- c语言数据结构和数据类型_C语言中的数据类型
- 二级c语言题库分类,二级C语言题库分类.xls
- 联想智能云教室部署(网络同传)
- 学生管理系统 c语言版
- java实验报告遇到的问题,JAVA实验报告_doc
- android 人脸识别边框_Android相机预览,指定区域显示预览框,在区域内出现人脸进行人脸识别,并抓拍人脸照片存在本地...
- Java中的数据结构之常见的五种数据结构
- xshell和xftp免费版下载地址
- mysql sql loader_Sql Loader的简单使用
- dism++封装系统使用教程_【原创】最新WIN10系统封装教程2019系列(一)——定制母盘...