STM32上的数据,指令和闪存CCM RAM有什么区别

问题描述 投票:0回答:1

这个STM32F7架构概述的第14页document显示了以下内存地址:

  • FLASH-ITCM(我正在使用的F730上的未知尺寸)
  • DTCM-RAM(64KB)
  • 此外教皇-RAM(16KB)

这些有什么区别?很多例子都显示了进入DTCM的数据。堆栈或关键功能最合适的地方在哪里?

使用闪存ITCM接口而不是ART加速器有什么好处吗?

arm stm32 cortex-m stm32f7
1个回答
1
投票

DTCM和ITCM之间的区别在于它们连接到哪个总线,DTCM位于D总线上,因此用于存储数据,这是存储堆栈的理想位置,ITCM位于I总线上,因此用于获取指令(代码),这是存储关键例程的好地方。

ART加速器位于Flash和ITCM之间,所以它不是一个或两个。通过ITCM将闪存用于代码是有利的,因为您可以通过AHB总线获得加速,而不是通过AHB总线。所有闪存都可通过ITCM接口或AHB总线获得,具体取决于您使用的地址; 0x0020 00000x0027 FFFF是通过ITCM,0x0800 00000x0807 FFFF通过AHB,两组地址都指向闪存的同一区域。

© www.soinside.com 2019 - 2024. All rights reserved.