作者gn00618777 (非常念舊)
看板ASM
標題[問題] 想請問 binary 在記憶體的執行過程
時間Wed Jan 6 23:11:30 2021
我是看了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), 來自: 59.115.82.67 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/ASM/M.1609945893.A.BF5.html
1F:推 DRQX: 可能可能 你需要把計概/作業系統/編譯器 的解釋看一看 01/07 19:28
2F:→ DRQX: bin / hex 都是機械碼 01/07 19:28
3F:推 chuegou: 從那裡開始執行 取決於處理器 通常是將開機裝置(flash) 01/07 23:19
4F:→ chuegou: 指定位置的程式碼 搬到處理器內部ram(scratchpad)開始執 01/07 23:19
5F:→ chuegou: 行 01/07 23:19
6F:→ chuegou: 也有直接在flash執行的處理器 01/07 23:19
7F:推 final01: 程式設計師自我修練那本去看看 01/13 08:40
8F:→ suninrain: 印象中MCU燒錄是MCU裡面還有個bootload,HOST根據特定 01/29 17:38
9F:→ suninrain: 封包傳給IC,bootload就會自己搬去flash了,怎麼搬就看 01/29 17:39
10F:→ suninrain: flash的規格了,不太知道你的環境... 01/29 17:40
11F:→ suninrain: 你如果講的細一點可能大家比較能幫助你 01/29 17:42
12F:推 kikiqqp: 更低階的MCU連BOOTLOAD都沒有,程式開始就是由0x00h開始 02/08 20:56
13F:→ kikiqqp: 跑到Flash(或EPROM)最後 02/08 20:56
14F:→ kikiqqp: 燒錄完全由HOST這邊控制 02/08 20:57