如何在STM32CUBE_IDE中固定函数的地址
如何在STM32CUBE_IDE中将函数的地址固定下来?这样的话在不同程序或MCU中进行仿真时能够很容易的找到函数地址用的是STM32F103 MCU。
在 STM32 用 __attribute__((section(".my_section"))) 把函数放到自定义段试试。 固定地址可以在链接脚本里加 SECTIONS,把函数放到特定地址。 CubeIDE 里可以在 .ld 文件里加个 KEEP(),防止函数被优化掉。 用 __attribute__((at(address))) 有时候也能直接指定绝对地址。 如果是汇编入口,用 __asm 和 .org 也能定位置,不过写法要小心对齐。 固定地址最好别跟中断向量冲突,F1 的地址空间挺紧的。 你可以新建个 .ld 文件放到工程里,让 IDE 用这个替换默认的。 也可以在函数前写 __attribute__((naked)) 避免生成多余前后处理。 做仿真调试的话,写个 MAP 文件对照地址也挺实用的。 别忘了不同编译器可能语法略有区别,GCC 和 KEIL 写法不完全一样。
页:
[1]