0
我想在我的源代碼中使用我的程序的結束地址(作爲變量的值),它將在下載後存儲在ROM中。我確實找到了在鏈接器腳本文件中定義的源代碼符號中使用的方法,但是我沒有找到任何與程序結束地址相關的符號。使用程序的結束地址作爲變量的值
你有什麼想法我怎麼能得到這些信息?
感謝您的幫助。問候。
我想在我的源代碼中使用我的程序的結束地址(作爲變量的值),它將在下載後存儲在ROM中。我確實找到了在鏈接器腳本文件中定義的源代碼符號中使用的方法,但是我沒有找到任何與程序結束地址相關的符號。使用程序的結束地址作爲變量的值
你有什麼想法我怎麼能得到這些信息?
感謝您的幫助。問候。
您可以使用固有功能__segment_end
。例如(假設代碼存儲在段CODE
中):
#pragma segment="CODE"
void * my_f(void) { return __segment_end("CODE"); }
在gcc中,您可以在鏈接描述文件的末尾定義它。這可能與iar類似。仔細檢查手冊我說。 – auselen
感謝您的快速回復。在鏈接器腳本中,僅定義了Rom區域的結束地址,但是該地址與存儲在Rom中的程序的實際結束地址不同。 – user3632489
聽起來像你需要更多地處理鏈接器腳本。我不知道iar,但在gnu ld鏈接器腳本中放置的細微變化會產生巨大的差異。 –