[STM32L4] 无法设置 Ram2 的 Load 地址

[复制链接]
 楼主| Treasure101 发表于 2025-5-8 10:00 | 显示全部楼层 |阅读模式
AD, RAM, M2, ST
本帖最后由 Treasure101 于 2025-7-28 22:11 编辑

用stm32L471RET6  如何将 ram2 的加载地址设置为 ram?



powerantone 发表于 2025-5-8 15:07 | 显示全部楼层
内存配置错误?
flycamelaaa 发表于 2025-5-8 15:08 | 显示全部楼层
可能是启动文件问题。
probedog 发表于 2025-5-8 15:09 | 显示全部楼层
检查启动文件中关于内存初始化的部分与链接脚本是否一致。
一秒落纱 发表于 2025-6-10 11:31 | 显示全部楼层
在使用STM32L471RET6时,若要将RAM2的加载地址设置为RAM,需通过修改链接脚本(如.ld文件或Keil中的.sct文件)来实现
光辉梦境 发表于 2025-6-10 12:00 | 显示全部楼层
在链接脚本中,需要定义RAM2的内存区域,并确保其加载地址和运行地址都在RAM范围内
暖了夏天蓝了海 发表于 2025-6-10 13:00 | 显示全部楼层
如果使用Keil开发环境,需要修改.sct文件(分散加载文件)来定义RAM2的加载地址
夜阑风雨 发表于 2025-6-10 14:22 | 显示全部楼层
确保分配的地址范围不超过芯片实际RAM2的大小
冰春彩落下 发表于 2025-6-10 19:00 | 显示全部楼层
对于STM32L471RET6,RAM2的起始地址通常是0x10000000,大小可能为32KB,具体需参考芯片数据手册
远山寻你 发表于 2025-6-10 20:03 | 显示全部楼层
分配的地址不能和默认分配的函数或变量冲突,否则编译会报错
江河千里 发表于 2025-6-10 22:00 | 显示全部楼层
编译后,可以使用调试工具查看内存映射,确保变量或代码段被正确放置到RAM2
淡漠安然 发表于 2025-6-11 01:00 | 显示全部楼层
在代码中,可以使用编译器特定的属性来指定变量或代码段放置到RAM2。例如,在GCC编译器中,可以使用__attribute__((section(".user_arry_stack")))
别乱了阵脚 发表于 2025-6-11 06:00 | 显示全部楼层
你用cubemx来配置试试呢?应该能弄吧
三生万物 发表于 2025-6-11 10:44 | 显示全部楼层
取消默认内存布局,在Keil的Options for Target中,取消勾选“Use Memory Layout from Target Dialog”。编辑.sct文件:在.sct文件中添加RAM2的定义
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

42

帖子

1

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

42

主题

42

帖子

1

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