如何在Ubuntu上开始ARM开发?

我曾经使用Keil C51进行编程,后来发现sdcc/uCsim对我来说更加优雅(尽管Keil C51的优化更好),所以我不再需要Keil C51了,现在我非常依赖于uCsim来进行单元测试。现在我开始使用ARM进行开发,然而sdcc不支持ARM。我尝试过uVision,这是我朋友们中非常流行的工具,但我想要一个适用于Ubuntu的替代方案。我可以很顺利地使用Makefile工作,所以我不需要集成开发环境(IDE)。uVision有很多预定义的芯片组,我担心它们不会包含在GCC中。我的问题是:是否有适用于Ubuntu的ARM编译器,并且支持丰富的芯片组?另外,是否有像uCsim一样轻量级的ARM虚拟机,这样我就可以在ARM开发中进行单元测试了?
3个回答

备选方案,限制自己只使用存档中的软件,包括使用Ubuntu armel和本地编译(如果有兼容的硬件),或者使用gcc-armel-cross环境,在本机或qemu中运行结果。尽管工作正在进行中,但目前这两种方法都不适合嵌入式开发。

GNU Toolchain for ARM Processors ( Download Link )

CodeSourcery与ARM公司合作,改进了GNU Toolchain for ARM处理器,并定期提供经过验证的GNU Toolchain版本。Sourcery CodeBench Lite Edition支持所有活跃使用的架构上的ARM、Thumb和Thumb-2编译,包括ARM架构的第7版。


我认为这个链接已经失效了。事实上,codesourcey.com可能已经死了,因为在谷歌搜索中没有出现。 - Greenonline

我知道这个答案来得太晚了,但人们仍然在询问,并且有新的工具可用。
看看这些很棒的工具:
- GNU Toolchain - (更新链接以指向最新的源代码) - QP状态机 - 一种更好的开发嵌入式软件的方式,它允许进行单元测试,并且具有实时中断功能,使得您的固件始终能够响应和交互。