【MM32F5270开发板试用】如何将数据存放在DTCM

本文介绍了MM32F5270开发板中DTCM(数据紧密耦合内存)的配置与使用方法。通过Keil工具设置链接器脚本,将指定的数据或变量放置到DTCM中,实现高速访问。

【MM32F5270开发板试用】如何将数据存放在DTCM

上两篇文章:
【MM32F5270开发板试用】一、依靠SPI_SD,移植FatFs文件系统
【MM32F5270开发板试用】SysTick+Scheduler轮询
本次所有代码按照以前习惯全部开源:我的Github地址是:https://github.com/kings669/MM32F5

我打算做:MM32F5 系列漫谈 2:吞吐率最大化的总线设计中的播放器,里面就有说到需要将数据放入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的地址范围内

总结
这是我第一次了解这个TCM这个概念,学习MM32F527这款芯片,学到了很多东西。给了我很多的探索的机会。在此把我的学习过程会在论坛上分享。如有错误,欢迎指正。😀

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KING_阿飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值