cutfall 发表于 2025-7-18 23:37

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

如何在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 写法不完全一样。
页: [1]
查看完整版本: 如何在STM32CUBE_IDE中固定函数的地址