当使用
STM32CubeMX v6.0.1 为双核 STM32H745BIT6 MCU 生成项目时,生成的 CM4 和 CM7 链接器文件显示以下内存结构:
CM7
- MEMORY
- {
- FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1024K
- RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
- ITCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 64K
- }
CM4
- MEMORY
- {
- FLASH (rx) : ORIGIN = 0x08100000, LENGTH = 1024K
- RAM (xrw) : ORIGIN = 0x10000000, LENGTH = 288K
- }
闪存大小似乎是正确的,但是 RAM 大小 (128K + 288K) 与 STM32H745BI 应该具有的 1MByte 相比太低了,如下表所示。

正如 Clive1 在另一个线程中指出的那样,除了添加链接器内存结构中的其他行还需要更改 startup.s 文件。
仍然要避免对 startup.s 文件进行不当更改,拥有一个示例 startup.s 示例将非常有帮助,在该示例中可以看到需要进行的更改以解决错误生成的设置。