2010-01-28 55 views
2

我會承認,我並不瞭解ARM開發的很多內容,所以我可能在這裏提供的信息有誤。Visual Studio ARM彙編器可以生成不需要OS的二進制文件嗎?

Visual Studio帶有一個ARM彙編程序(armasm.exe),這非常方便,因爲我基本上都使用了VS附帶的工具,而且我並不太在乎支付與ARM捆綁在一起的ARM彙編程序C編譯器,我永遠不會從其他公司使用。

現在,我的理解是,在金屬上運行的ARM二進制文件需要採用純二進制格式,而不是像ELF或PE之類的東西。 ARMASM能夠輸出可在沒有操作系統的情況下運行的二進制文件嗎? ARMASM的MSDN文檔似乎缺乏這類信息。

如果不是,你能推薦一個免費的ARM彙編器,它提供宏支持,並且不會捆綁一堆額外的絨毛?

回答

2

彙編器只產生目標文件。由鏈接器來生成最終的可執行文件。我非常確定微軟使用它們通常使用的鏈接器,它會生成PE格式的可執行文件(如果你在意的話,這是一個COFF版本)。不喜歡,我不知道一個鏈接器/定位器將採用MS-COFF格式的對象文件並生成純二進制輸出文件(儘管這並不意味着它不存在 - 我從來沒有真正尋找過它)。

另請注意,在裸機上運行大多數意味着將文件刻錄到某些ROM版本。這意味着你實際上不需要一個純粹的二進制輸出文件 - 你真正需要的是一個適合ROM刻錄機的文件。這通常意味着摩托羅拉S記錄或英特爾十六進制格式(相當多的ROM刻錄機都接受這兩種格式)。

我知道,不給你一個「最終的答案」,但至少應該給你適合谷歌搜索獲得更多的相關信息的幾個術語...

+0

感覺真的傻忘記了鏈接器產生最終輸出。 :P感謝您的信息!我會看看我是否可以挖掘其他任何東西,現在我知道我在找什麼。 – 2010-01-28 06:05:30

相關問題