【发布时间】:2014-02-11 19:44:24
【问题描述】:
是否有指南描述了如何让 LLVM 为 Cortex-M3 发出二进制文件,我可以将其按摩到运行的裸机中?我花了相当多的时间在 Windows 和 Ubuntu 上使用 LLVM,但无济于事。我可以得到类似 ARM 的程序集。我可以获取位代码,但我真正需要的是 ELF、DWARF、霍比特人、甘道夫或任何其他具有文件格式规范的指环王生物。任何和所有的帮助表示赞赏!我正在 Ubuntu、Windows 和/或 OS X 上使用 CLANG 编译 LLVM 3.4。
【问题讨论】:
-
您需要 LLVM 吗?因为如果你不这样做,你可以只使用 ARM 支持的这个 GCC 工具链:launchpad.net/gcc-arm-embedded
-
+1 给大卫;在嵌入式开发中,您通常从支持的工具链中进行选择。
-
你需要 ELF... DWARF 是为了你的调试信息,而不是代码本身。
-
github.com/dwelch67 我有很多 llvm 裸机交叉编译器构建的示例。 LLVM 本质上始终是一个交叉编译器,但汇编器/链接器阶段是特定于主机的。所以我使用 binutils (gnu) 作为最终的链接状态。从 3.2 或 3.3 开始,llc 可以生成一个对象,因此您不必使用 llc 进行组装,然后进行气体组装,您可以直接前往对象然后链接。
标签: c++11 llvm native cortex-m3