标签: stm32h7

为什么即使禁用时钟 D2 RAM 也能正常工作?

TL;DR:文档说明我必须先在微控制器中启用特定的内存区域,然后才能使用它。但是,我可以在启用它之前使用它,甚至可以在禁用它之后使用它。这怎么可能?


我目前正在为 STM32H743 微控制器开发一个应用程序。我不明白当时钟被禁用时 RAM 似乎如何正常工作。

该 MCU 具有多个存储器,分布在多个电源域中:

  • 在 D1 域中,它具有 ITCMRAM + DTCMRAM + AXI SRAM (64 + 128 + 512 kB)
  • 在 D2 域中,它有 SRAM1 + SRAM2 + SRAM3 (128 + 128 + 32 kB)
  • 在 D3 域中,它具有 SRAM4 + 备份 SRAM (64 + 4 kB)

我想使用SRAM1。在参考手册 ( RM0433 Rev. 7) 中,第 366 页指出:

如果 CPU 要使用位于 D2 域(SRAM1、SRAM2 和 SRAM3)中的存储器,则必须启用它们。

在第 452 页的寄存器设置中描述了如何执行此操作:

RCC AHB2 时钟寄存器(RCC_AHB2ENR):

SRAM1EN: SRAM1 块使能
由软件置位和复位。置位时,该位表示 SRAM1 由 CPU 分配。它使 D2 …

microcontroller clock stm32 stm32-hal stm32h7

6
推荐指数
1
解决办法
587
查看次数

STM32CubeProgrammer 上的 ST-LINK 错误:尝试连接时出现问题

在 STM32CubeProgrammer 尝试连接到 STM32H7B3LI 上的 ST-Link 模块时,我得到以下信息:

ST-LINK error (DEV_CONNECT_ERR)
Error: Problem occurred while trying to connect
Run Code Online (Sandbox Code Playgroud)

我已经尝试在这里安装固件,但没有帮助:https ://www.st.com/en/development-tools/stsw-link007.html

更新:我跳过了固件安装过程中的必要步骤。但是,我想连接,因为由于软件扰乱电源设置,主板拒绝通过其他方式连接,因此出现另一个错误:

  16:54:40 : ST-LINK SN  : 0035002E3438510534313939
  16:54:40 : ST-LINK FW  : V3J8M3
  16:54:40 : Board       : STM32H7B3I-DK
  16:54:40 : Voltage     : 3.28V
  16:54:41 : ST-LINK error (DEV_CONNECT_ERR)
  16:54:41 : ST-LINK SN  : 0035002E3438510534313939
  16:54:41 : ST-LINK FW  : V3J8M3
  16:54:41 : Board       : STM32H7B3I-DK
  16:54:41 : Voltage     : 3.28V
  16:54:41 : Error: ST-LINK error (DEV_CONNECT_ERR)
Run Code Online (Sandbox Code Playgroud)

当选择软件复位时:

  16:55:24 : ST-LINK …
Run Code Online (Sandbox Code Playgroud)

debugging connection device-driver stm32 stm32h7

2
推荐指数
1
解决办法
1万
查看次数