TI的C28x系列芯片的存储结构(1)——总括

C28x内核为哈佛结构,程序储存和数据储存分开,使用32位数据地址和22位程序地址。这样总地址可以达到:在数据空间中存储4G个字(1个字= 16位),在程序空间中存储4M个字。C28x的程序和数据空间被统一映射到同一片内存块,即统一编址。

编址范围:数据地址——0x0000 0000~0xFFFF FFFF,程序地址——0x0000 0000~0x003F FFFF。

下图显示了片上地址在程序空间和数据空间中的分配情况:

上面内存图分成了三个片区:

①片上程序、数据存储区;

②保留区;

③CPU中断向量。

请注意,这是CPU中断向量,不要和外设中断向量混淆。
程序空间中的64个地址留给32个CPU中断向量表使用。通过设置VMAP位可将CPU向量映射到程序空间的顶部或底部。CPU中断向量表的定义请参考规格书上的内容,每个向量表存放的是中断服务函数的入口地址。
VMAP=0,CPU中断向量存放在程序空间的顶部(0x0000 0000~0x0000 003F);VMAP=1,CPU中断向量存放在程序空间的底部(0x003F FFC0~0x003F FFFF)。
这里顺便说一下外部中断向量(PIE),外部中断向量存放在专门的PIE向量表中,但该该储区也可用作程序存储区。

具体的存储分配细节如下表所示:

下面对各个片上存储区进行介绍。

存储类型:

从电子学的角度来看,C28x的存储器就分为三种:RAM、FLASH和ROM。RAM:随机存储器,程序运行过程中,可读可写,存放指令运行过程中产生或使用的数据,掉电消失;FLASH:俗称闪存,用来存放用户程序(指令),需要烧录,掉电不消失;MCU运行时,从FLASH中读取用户指令,部分指定的FLASH区域可以被用户程序改写;ROM:只读存储器,运行过程中只读不写,存放一些特殊用途的指令、数据或向量,一般出厂时厂家已经在上面已经烧录好了内容,部分区域也可由用户自行烧录,掉电不消失。

从存储用途和逻辑上来看,存储类型分类则相对复杂些,下表展示了这些存储类型:

在C28x系列芯片中,能直接访问内存的子系统有:CPU、CLA和DMA。

①专用RAM(Mx和Dx RAM)

CPU子系统具有四个专用的支持ECC的RAM块:M0,M1,D0和D1。M0 / M1存储区是与CPU紧密耦合的小型非安全块(即只有CPU才能访问它们)。 D0 / D1存储区是安全块,具有访问保护功能(CPU写入/读取保护)。

②本地共享RAM(LSx RAM)

各个子系统专用的RAM块,只能由CPU和CLA访问,称为本地共享RAM(LSx RAM)。

所有LSx RAM块均具有奇偶校验。这些存储区是安全存储区,具有访问保护(CPU写入/提取)功能。默认情况下,这些内存只能由CPU访问,用户可以通过配置LSxMSEL寄存器中的MSEL_LSx位字段,选择与CLA共享这些内存。

③全局共享RAM(GSx RAM)

CPU和DMA均可访问的RAM块称为全局共享RAM(GSx RAM)。CPU和DMA都具有对这些存储区的完全读写访问权限。所有GSx RAM块均具有奇偶校验。GSx RAM具有访问保护功能(CPU写入/ CPU提取/ DMA写入)。

④CPU/CLA消息RAM(CPU/CLA MSGRAM)

这些RAM块可用于在CPU和CLA之间共享数据。CLA有“CLA to CPU MSGRAM”的读写权限,CPU有“CPU to CLA MSGRAM”的读写权限。CPU和CLA对两个MSGRAM都有读取访问权限。该RAM块具有奇偶校验。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值