![]() |
PCDVD數位科技討論區
(https://www.pcdvd.com.tw/index.php)
- 七嘴八舌異言堂
(https://www.pcdvd.com.tw/forumdisplay.php?f=12)
- - 請教高手 ARM linux kernel 的一個問題
(https://www.pcdvd.com.tw/showthread.php?t=937663)
|
---|
引用:
ABI跟GOT有什麼關? ABI只跟軟體有關,你如果要發展自己的系統或compiler,那ABI隨你定. arm的ABI有改過,現在新的都變成EABI了, 除非你要開發自己的系統或是主導者,不然別花時間在這些東西上面, 因為軟體上的定義延續時間都不長,尤其是arm改動太快一堆介面已經不知道改過多少次了. :think: |
引用:
我知道 OABI/ABI/EABI, 但是我完全不能理解一個軟體層的 object interface 會跟 booting 一開始跑的 8 個 nop 有什麼關係? 我意思是: 一開始 booting 時, 連 GOT 都沒做, 此時應該是什麼 ABI 都無所謂吧? 懇請高手指點一二. |
依照 passerx 大大所說的, 我去查了 EABI 的資料, 看到這一行:
Stack alignment The ARM EABI requires 8-byte stack alignment at public function entry points, compared to the previous 4-byte alignment. 所以答案應該為了保留 8-byte stack 對齊... http://wiki.debian.org/ArmEabiPort 所以還是我誤會了, 跟 boot 階段完全無關, 那 8 個 nop, 只是為了保留 ABI link 的相容性! 這應該是最合理的答案! 謝謝 passerx 大大指點! |
引用:
昨天想一想, 還是覺得不太對~ 那個註解, 很可能只是註解 .align 而已! 8 nop = 32 byte, 沒理由為了 8 byte 保留這麼多, ABI 這部份應該 .align 就做掉了. 繼續找答案... :stupefy: :stupefy: :stupefy: :stupefy: :stupefy: |
引用:
給你另一個答案 剛通電時等待振蕩器穩定 這段code對有些mcu需要 |
引用:
這問題真難 google 找不到 zImage 格式 :jolin: 搜尋的所得資訊, 只知道那8個 nop 並沒有被執行. nop 不能增減, 否則有些 bootloader 會找不到 start addr . |
所有的時間均為GMT +8。 現在的時間是12:50 AM. |
vBulletin Version 3.0.1
powered_by_vbulletin 2025。