Visual Studio ARM汇编程序是否可以生成不需要操作系统的二进制文件?

时间:2010-01-28 05:41:51

标签: visual-studio assembly arm

我会先前承认我对ARM开发并不了解很多,所以我可能在这里错误地提供信息。

Visual Studio附带了一个ARM汇编程序(armasm.exe),这非常方便,因为我使用VS附带的工具基本上所有东西而且我并不太费力地支付与C捆绑在一起的ARM汇编程序我永远不会从其他公司使用的编译器。

现在,我的理解是,在金属上运行的ARM二进制文件需要采用纯二进制格式,而不是像ELF或PE那样。 ARMASM是否能够输出可以在没有操作系统的情况下运行的二进制文件? ARMASM的MSDN文档似乎缺乏这类信息。

如果没有,你能推荐一个免费的ARM汇编程序,它提供宏支持,并没有捆绑一堆额外的漏洞吗?

1 个答案:

答案 0 :(得分:2)

汇编程序只生成目标文件。由链接器生成最终的可执行文件。我很确定微软几乎使用他们通常的链接器,它生成PE格式的可执行文件(如果你关心的话,这是一个COFF变种)。另外,我不知道一个链接器/定位器将采用MS-COFF格式的目标文件并生成一个纯二进制输出文件(虽然这几乎意味着一个不存在 - 我从来没有真正寻找过一个)。

另请注意,在裸机上运行最意味着将文件刻录到ROM的某些变体。这意味着你真的不需要纯二进制输出文件 - 你真正需要的是一个适合ROM刻录机的文件。这通常意味着摩托罗拉S-records或Intel十六进制格式(相当多的ROM刻录机都接受这两种格式)。

我知道这不会给你一个“最终答案”,但至少应该给你一些适合Google搜索的条款来获取更多相关信息......