2010-01-28 57 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

相关问题