Arm 使用程序的结束地址作为变量值

Arm 使用程序的结束地址作为变量值,arm,iar,Arm,Iar,我想在我的源代码中使用我的程序的结束地址(作为一个变量的值),它将在下载后存储在ROM中。我确实找到了在链接器脚本文件中定义的源代码符号中使用的方法,但是我没有找到任何与程序的结束地址相关的符号 你知道我怎样才能得到这个信息吗 谢谢你的帮助。注意。您可以使用固有功能\u段\u端。例如(假设代码存储在段code)中): 在gcc中,您可以在链接器脚本的末尾定义它。iar的情况可能类似。请仔细检查手册,谢谢你的快速回复。在链接器脚本中,只定义了Rom区域的结束地址,但该地址与将存储在Rom中的程序的

我想在我的源代码中使用我的程序的结束地址(作为一个变量的值),它将在下载后存储在ROM中。我确实找到了在链接器脚本文件中定义的源代码符号中使用的方法,但是我没有找到任何与程序的结束地址相关的符号

你知道我怎样才能得到这个信息吗


谢谢你的帮助。注意。

您可以使用固有功能
\u段\u端
。例如(假设代码存储在段
code
)中):


在gcc中,您可以在链接器脚本的末尾定义它。iar的情况可能类似。请仔细检查手册,谢谢你的快速回复。在链接器脚本中,只定义了Rom区域的结束地址,但该地址与将存储在Rom中的程序的实际结束地址不同。听起来您需要进一步处理链接器脚本。我不知道iar,但GNULD链接器脚本中位置的细微变化会产生巨大的差异。
#pragma segment="CODE"

void * my_f(void) { return __segment_end("CODE"); }