嵌入式技术论坛
直播中

张桂英

8年用户 1604经验值
私信 关注
[经验]

在MM32F5270开发板上如何将数据存放在DTCM中

一、DTCM

在MM32F5270中有:

– 多达 192KB 的 SRAM,其中包括 32KB 指令 TCM(ITCM), 32KB 数据 TCM(DTCM)和 128KB 的系统 RAM,DTCM地址是从0x20000000开始,大小32KB

TCM=Tightly Coupled Memory,是一种被直接集成在CPU芯片中的 高速缓存 。DS有两种TCM,分别是 ITCM (Instruction TCM)和 DTCM (Data TCM)。

DTCM 用于数据存取,特点是跟内核速度一样

image.png

image.png

内置 32K 字节指令 TCM SRAM 和 32K 字节数据 TCM SRAM。指令 TCM(ITCM)起始地址为 0x00000000,数据 TCM(DTCM)起始地址为 0x2000 0000。

TCM SRAM 可以被 CPU 或者 DMA 用最快的系统时钟且不插入任何等待进行访问。

二、使用DTCM

1、我们打开keil魔术棒工具:

image.png

0x300000000 开始是SRAM1的区域,勾选后是给Keil进行管理

2、我们点击 Linker

image.png

点击编辑

3、我们就可以在这里开始编写一部分代码

image.png

RW_RAM1 0x20000000 0x00008000{ ;DTCM

*(.RAM_D1)

}

image.png

分配一个用户段(section),段的名字是RAM_D1,段的地址是 0x2000000

4、接着,使用_attribute__((section(“name”)))声明变量。定义变量后,一定编译成功,Build Analyzer才会更新。一定保存后要更新!!

测试

image.png

进入debug的watch加入查看

image.png

可以看出在DTCM的地址范围内。

原作者:kings669669

更多回帖

发帖
×
20
完善资料,
赚取积分