[开发工具] STM32CubeIDE 中使用ccm

[复制链接]
1070|13
 楼主| 地瓜patch 发表于 2025-3-23 20:27 | 显示全部楼层 |阅读模式
经常在 keil 中使用 ccm,但现在有一个使用STM32CubeIDE的项目
没找到如何在 STM32CubeIDE 中使用STM32F40X CCM SRAM

在哪里配置?

公羊子丹 发表于 2025-3-24 08:17 | 显示全部楼层
STM32CubeIDE 里可以直接用 __attribute__((section(".ccmram"))) 来把变量放到 CCM,你试过了吗?
周半梅 发表于 2025-3-24 08:19 | 显示全部楼层
你在 Keil 里是怎么配置 CCM 的?STM32CubeIDE 需要手动修改链接脚本来支持。
帛灿灿 发表于 2025-3-24 08:20 | 显示全部楼层
试试在 STM32F40x_FLASH.ld 里找到 MEMORY 段,看看有没有定义 CCM,如果没有就加上:CCMRAM (rw) : ORIGIN = 0x10000000, LENGTH = 64K。
童雨竹 发表于 2025-3-24 08:21 | 显示全部楼层
在 STM32CubeIDE 里,用 __attribute__((section(".ccmram"))) 标记变量,或者 #pragma location = ".ccmram",然后在 linker script 里定义对应的段。
万图 发表于 2025-3-24 08:22 | 显示全部楼层
你用的是裸机还是 FreeRTOS?如果是 FreeRTOS,注意 CCM 不能用于 DMA,否则可能会有访问问题。
Wordsworth 发表于 2025-3-24 08:23 | 显示全部楼层
在 STM32CubeIDE 里 startup_stm32f40xx.s 可能默认没有初始化 CCM,需要手动加进去,否则数据可能不稳定。
Bblythe 发表于 2025-3-24 08:25 | 显示全部楼层
试试看在 STM32F40x_FLASH.ld 里加上 .ccmram : { *(.ccmram) } >CCMRAM,这样可以让 .ccmram 段正确映射到 CCM。
Pulitzer 发表于 2025-3-24 08:26 | 显示全部楼层
你是想把代码放进 CCM 还是只放数据?CCM 不能用于执行代码,只能存数据。
Uriah 发表于 2025-3-24 08:27 | 显示全部楼层
你有没有用 volatile 关键字?有时候优化器可能会让 CCM 变量访问异常,特别是和普通 SRAM 混用时。
Clyde011 发表于 2025-3-24 08:29 | 显示全部楼层
你能贴一下你在 STM32CubeIDE 里尝试的配置吗?看看哪里可能少了关键步骤。
 楼主| 地瓜patch 发表于 2025-3-24 19:59 | 显示全部楼层
公羊子丹 发表于 2025-3-24 08:17
STM32CubeIDE 里可以直接用 __attribute__((section(".ccmram"))) 来把变量放到 CCM,你试过了吗? ...

感谢,测试一下
 楼主| 地瓜patch 发表于 2025-3-24 19:59 | 显示全部楼层
Pulitzer 发表于 2025-3-24 08:26
你是想把代码放进 CCM 还是只放数据?CCM 不能用于执行代码,只能存数据。

这个知道的
 楼主| 地瓜patch 发表于 2025-3-24 20:00 | 显示全部楼层
Bblythe 发表于 2025-3-24 08:25
试试看在 STM32F40x_FLASH.ld 里加上 .ccmram : { *(.ccmram) } >CCMRAM,这样可以让 .ccmram 段正确映射到 ...

感谢,测试中
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:出一块TI-PLABS-AMP-EVM

1929

主题

15216

帖子

31

粉丝
快速回复 在线客服 返回列表 返回顶部