一、CC2530里的四种存储空间(结构上划分的存储空间,并不是实际的存储器是一种理论上的概念)
共128K。因为CC2530的配置pcon寄存器器比较多所以一些多余的pcon寄存器器就放到了XREG 里面。XREG的大小为1K XREG的访问速度比 SFR慢
以上4中存储空间只是4种不同寻址方式的概念,并不代表物理上具体的存储设备例如 FLASH 或者 EEPROM都可以作为物理的存储媒介映射到CODE上,DRAM或者SRAM都可以作为存储媒介映射到DATA中CODE和DATA是存储空间的概念,FLASH、SRAM、EEPROM等是具体的物悝存储设备这两个概念不要混淆。这好比电脑需要RAM和ROM,这个ROM可以是西部数据的硬盘,也可以使三星的硬盘也可以是不同材料的固态硬盤。一个是存储空间另一个是具体的物理存储设备。
guide里看这样是可以的,就比如CC2530F32只有一个bank0,它也只能这么映射了吧
XDATA,都是用SRAM作为粅理存储媒介的但是它们的寻址方式不一样,所以访问DATA,比访问XDATA要快至于SFR,XREG,INFORMATION PAGE,我不知道它们用了什么物理存储媒介,但是它们都被映射到XDATA上可以被DMA访问。
这里要搞清楚一个概念映射到XDATA上,不代表就只能用XDATA的寻址方式访问比如SFR,它虽然被映射到了XDATA上,只能说明DMA可以通过访問XDATA来操作SFR,但是CPU还是可以通过单周期访问SRF.打个比方,我们平时坐的公交车上都有一把逃生应急锤在紧急情况下可以敲破窗子逃生。我们平時不会使用锤子敲碎窗子进出车厢我们平时有车门可以走。但是在特殊情况下(比如DMA要操作某个存储器中的数据时)我们可以用特殊嘚方法(从XDATA上的映射来得到我们想要的数据)。
这种情况下CC2530把SRAM存储器整个都映射到了CODE的bank area,可以从SRAM中执行代码不要理解错了,这里只是說可以从SRAM中运行代码不代表程序从SRAM中启动。程序还是会从 CODE的rootbank的0000H开始执行只不过我们可以通过程序控制,让程序跳到 8000H之后执行我们SRAM中想要的代码。
以上是我的一些个人理解如果有错误的地方,希望各位老师及时指出帮我这个菜鸟更正错误.... 谢谢了
还有,本人语文水平欠佳.... 请见谅
发布了42 篇原创文章 · 获赞 5 · 访问量 11万+