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