我可以在Atmel SAM E70处理器中使用“指令”TCM来获取数据吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我可以在Atmel SAM E70处理器中使用“指令”TCM来获取数据吗?相关的知识,希望对你有一定的参考价值。
我正在为Atmel SAME70Q21微处理器开发应用程序。该MCU具有ARM Coretex-M7内核。
Atmel在这种特殊的MCU变体中实现了ARM TCM(紧耦合存储器)。 Atmel似乎将TCM分为两部分“ITCM”(指令TCM)和“DTCM”(数据TCM)
我目前正在使用DTCM进行快速存储,通常来自中断。但是,ITCM目前实际上已关闭,尽管TCM的配置系统仍然会为其分配32K数据。
我在想,既然我没有执行ITCM,并且已经分配了ram,我可以使用ITCM进行数据存储吗? Cortex-M7是Von Neumann架构CPU,我见过的架构图显示两个TCM内存段具有与CPU不同的接口。
DTCM和ITCM内存空间都是链接器脚本中的rw
(要使用ITCM,实际上你必须在运行时将代码重新定位到它中)。 (ab)以这种方式使用ARM内核会对性能产生什么影响?
From the ARM Cortex-M7 Processor Technical Reference Manual Section 5.8 TCM Interfaces:
预取单元(PFU)可以从任何TCM接口获取指令。加载存储单元(LSU)和AHBS接口可以使用任何TCM接口读取和写入数据。如果将代码放在ITCM中并将数据放在DTCM中,则可以获得最佳性能。但是,没有放置TCM,代码和数据的功能限制。
如果您既不使用代码,那么可能没有性能损失,但如果您在TCM中运行代码,那么将它们从哈佛架构中分离出来,允许并发指令获取和数据读取。 ITCM的64位总线可能允许单周期指令和操作数获取 - 但我怀疑这将对数据读/写有任何好处。
以上是关于我可以在Atmel SAM E70处理器中使用“指令”TCM来获取数据吗?的主要内容,如果未能解决你的问题,请参考以下文章
SAM 上的 Atmel ASF - pio_configure_pin 描述错误?
Atmel SAM v71 XPlained - 无法与端口 C 一起使用