我有這個 linker.ld 我想在其中重新映射 ram。
MEMORY
{
ram (rx) : ORIGIN = 0x80000000, LENGTH = 8M
}
像這樣添加聯結器有什么區別:
sparc-gaisler-elf-gcc -O2 -std=c99 linker.ld -Ttext=0x80000000 -o main.o
對比
sparc-gaisler-elf-gcc -O2 -std=c99 -Tlinker.ld -Ttext=0x80000000 -o main.o
第一個我收到警告:
redeclaration of memory region
第二個,我得到
no memory region specified for loadable section .data
我真的不明白 -T<linker_file> 和直接添加 <linker_file> 有什么區別。
uj5u.com熱心網友回復:
答案很簡單。
用-T你替換默認的聯結器腳本,沒有兩者都會被使用。
- 第一種情況都被使用并且都定義了相同的記憶體區域
- 第二種情況 - 您的聯結器腳本太瑣碎,并且錯過了所有部分定義。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/486396.html
上一篇:使用execve(linux)
