您好,
我使用的是STM32F207ZFT,但我的应用程序在SRAM1中没有足够的RAM空间:
问题1:如果我不使用SRAM2区域进行DMA使用(SRAM2 / 16KB:0x2001 C000 - 0x2001 FFFF),我可以将此存储区用于正常RAM目的(用于扩展BSS区域)以便与SRAM1连续(增加未初始化变量的整体RAM大小,初始化为0)?
问题2:我可以使用备份SRAM(BKPSRAM / 4KB:0x4002 4000 - 0x4002 4FFF)存储一些数据缓冲区或某些数据阵列,我们可以通过使用BSS RAM区域来实现吗? 独立于其低功耗(在Vbat引脚上),这个BKPSRAM的特性是否与SRAM1区域(访问时间......)相当?
致以最诚挚的问候,
答案 0 :(得分:0)
免责声明:我对STM32F1xx非常熟悉,对STM32F4xx有点熟悉,但从未使用过STM32F2xx。
关于第一个问题:从阅读manual(特别是2.3.1节)开始,除了SRAM2中的地址可以同时访问外,SRAM2没有什么特别之处。正在访问SRAM1中的地址。除此之外,我无法发现任何限制。
关于第二个问题:BKPSRAM通过AHB1总线连接到总线矩阵。原则上,该总线与核心在同一时钟运行,因此如果没有总线争用,速度应该相似。如果有任何等待状态或任何可能延迟访问BKPSRAM的事情,我无法在手册中找到它。当然,如果你有一个正在大量访问连接到AHB1的外设的DMA事务,那么你会有总线争用,这可能会延迟对BKPSRAM的访问,而SRAM1和SRAM2有直接连接,而不是其他任何东西共享,到总线矩阵。总结一下:你不应该有任何问题。