Re: [問題] 想請問 binary 在記憶體的執行過程
你有用過 objcopy 把 elf 變成 binary 的經驗嗎?
基本上 binary 沒有任何資訊, 要正確執行是很困難的。
我碰過的一個範例是 dos .com, 可以用 objcopy 將
elf 變成 binary, 然後改名為 .com, 就可以在 dos 下執行,
但是這是有條件的, 起始位址的開頭需要要 cs:0x100 的地方,
得讓 link script 能從 0x100 開始做 link。
另外你說的 segment 也都在同一個地方, 簡單說沒分 segment
所以只有 binary, 基本上是無法正確載入執行, 除非先約定好
要怎麼執行
※ 引述《gn00618777 (非常念舊)》之銘言:
: 我是看了openAMP 的 github project 的 lib,裡面有關於master bootup
: retmote的lib。master bootup remote 是用 remote給的 *.elf檔。
: 只是我好奇,能不能只用自己製作的*.bin 來給 remote bootup
: 其實,我最主要想問的是,*.bin在記憶體中的分布,也是.text, .data, .bss這些嗎?
: 如果透由 *.elf 當然能透過 loader parsing elf 格式找到各 section 並把他
: 載入至記憶體特定位置。那 *.bin沒有格式(也許還是vendor自己加了有的沒的資訊),
: loader該怎麼知道要如何將它載到記憶體
: 並從哪個entry point 執行?
: 我只知道 loader 需要知道 *.bin有哪些是 vendor的資訊,那entry point呢?
: 謝謝
--
紙上得來終覺淺,絕知此事要躬行。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.184.173.118 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1638886132.A.01C.html
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
ASM 近期熱門文章
PTT數位生活區 即時熱門文章