在獲得Raspberry Pi之後,我決定想學習如何編寫ARM彙編代碼。我的問題是,我需要什麼入門?我假設已經安裝了編譯器,但我不知道它是什麼(也許是gcc?)。任何幫助表示讚賞!
在獲得Raspberry Pi之後,我決定想學習如何編寫ARM彙編代碼。我的問題是,我需要什麼入門?我假設已經安裝了編譯器,但我不知道它是什麼(也許是gcc?)。任何幫助表示讚賞!
取決於要編寫的彙編程序數量。如果您只想編寫嵌入在C代碼中的小片段,那麼 gcc
確實是您想要的。有關如何在C中使用 asm
指令的示例,請參見以下內聯asm參考: ARM GCC內聯彙編程序手冊
如果另一方面,您想寫的不只是小片段,還不如使用完整的彙編程序更好。這將以 as
, gas
或二者(別名)的形式提供。
最後,您需要學習一些有關ARM指令的知識。組。在 ARM1176JZF-S技術參考手冊中可以找到方便的參考。
N.B。請記住什麼RPi僅支持armv6指令-所以不要嘗試使用armv7的任何東西
祝您好運! :)
我不久前就開始使用ARM彙編代碼進行冒險,這是我的資源:
儘管我對命令行界面相當滿意,但我無法抗拒GUI的便利性。不久前,我發現可以使用CodeBlocks IDE在Raspberry Pi中開發ARM彙編語言程序。因此,我編寫了一個教程,並將其附加到我為Mazidi ARM Assembly書網站編寫的Raspberry Pi彙編編程教程中:
http://www.microdigitaled.com/ARM/ARM_ASM_books.htm
在網站上,單擊“使用Raspberry Pi GUI進行ARM彙編編程”鏈接。
希望這會有所幫助。
默認情況下已安裝GCC。如果您是Raspberry Pi的新手,我建議您使用比ARM彙編更簡單的編程語言。沒有任何可用於組裝的IDE,因此您必須使用文本編輯器並通過終端進行組裝。我建議使用Gedit以便於使用。儘管要突出顯示程序集的語法,但我必須轉到github,特別是Shinyquagsire23的頁面。非常漂亮尋求幫助我找到的最佳資源是Bruce Smith的“ Raspberry Pi彙編語言:Raspbian初學者”。您可以在亞馬遜上找到它。他以我發現的最清晰,最簡單的方法之一來解釋組裝。
學習可運行的示例
我正在研究: https://github.com/cirosantilli/arm-assembly-cheat
功能:
printf
和 memcpy