[STM32F1] 如何在STM32CUBE_IDE中固定函数的地址

[复制链接]
413|10
 楼主| cutfall 发表于 2025-7-18 23:37 | 显示全部楼层 |阅读模式
如何在STM32CUBE_IDE中将函数的地址固定下来?这样的话在不同程序或MCU中进行仿真时能够很容易的找到函数地址
用的是STM32F103 MCU。

公羊子丹 发表于 2025-7-24 07:18 | 显示全部楼层
在 STM32 用 __attribute__((section(".my_section"))) 把函数放到自定义段试试。
周半梅 发表于 2025-7-24 07:19 | 显示全部楼层
固定地址可以在链接脚本里加 SECTIONS,把函数放到特定地址。
帛灿灿 发表于 2025-7-24 07:20 | 显示全部楼层
CubeIDE 里可以在 .ld 文件里加个 KEEP(),防止函数被优化掉。
童雨竹 发表于 2025-7-24 07:22 | 显示全部楼层
用 __attribute__((at(address))) 有时候也能直接指定绝对地址。
万图 发表于 2025-7-24 07:25 | 显示全部楼层
如果是汇编入口,用 __asm 和 .org 也能定位置,不过写法要小心对齐。
Wordsworth 发表于 2025-7-24 07:29 | 显示全部楼层
固定地址最好别跟中断向量冲突,F1 的地址空间挺紧的。
Bblythe 发表于 2025-7-24 07:31 | 显示全部楼层
你可以新建个 .ld 文件放到工程里,让 IDE 用这个替换默认的。
Pulitzer 发表于 2025-7-24 07:32 | 显示全部楼层
也可以在函数前写 __attribute__((naked)) 避免生成多余前后处理。
Uriah 发表于 2025-7-24 07:33 | 显示全部楼层
做仿真调试的话,写个 MAP 文件对照地址也挺实用的。
Clyde011 发表于 2025-7-24 07:34 | 显示全部楼层
别忘了不同编译器可能语法略有区别,GCC 和 KEIL 写法不完全一样。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

53

帖子

0

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