![]() |
||
*停權中*
加入日期: Feb 2005
文章: 164
|
引用:
ABI跟GOT有什麼關? ABI只跟軟體有關,你如果要發展自己的系統或compiler,那ABI隨你定. arm的ABI有改過,現在新的都變成EABI了, 除非你要開發自己的系統或是主導者,不然別花時間在這些東西上面, 因為軟體上的定義延續時間都不長,尤其是arm改動太快一堆介面已經不知道改過多少次了. ![]() |
||||||||
![]() |
![]() |
Major Member
![]() 加入日期: Aug 2001
文章: 211
|
引用:
我知道 OABI/ABI/EABI, 但是我完全不能理解一個軟體層的 object interface 會跟 booting 一開始跑的 8 個 nop 有什麼關係? 我意思是: 一開始 booting 時, 連 GOT 都沒做, 此時應該是什麼 ABI 都無所謂吧? 懇請高手指點一二.
__________________
滿招損 謙受益 |
|||
![]() |
![]() |
Major Member
![]() 加入日期: Aug 2001
文章: 211
|
依照 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 大大指點!
__________________
滿招損 謙受益 |
![]() |
![]() |
Major Member
![]() 加入日期: Aug 2001
文章: 211
|
引用:
昨天想一想, 還是覺得不太對~ 那個註解, 很可能只是註解 .align 而已! 8 nop = 32 byte, 沒理由為了 8 byte 保留這麼多, ABI 這部份應該 .align 就做掉了. 繼續找答案... ![]() ![]() ![]() ![]() ![]()
__________________
滿招損 謙受益 |
|
![]() |
![]() |
Power Member
![]() ![]() 加入日期: May 2001
文章: 512
|
引用:
給你另一個答案 剛通電時等待振蕩器穩定 這段code對有些mcu需要 |
|
![]() |
![]() |
Senior Member
![]() ![]() ![]() 加入日期: Dec 2002
文章: 1,370
|
引用:
這問題真難 google 找不到 zImage 格式 ![]() 搜尋的所得資訊, 只知道那8個 nop 並沒有被執行. nop 不能增減, 否則有些 bootloader 會找不到 start addr .
__________________
要討論也要找能溝通的, 跟狂吠的狗溝通只是浪費時間. 每日一句 : 很多不等於多數,也不等於少數 |
|
![]() |
![]() |