I've once programming with Keil C51, and later I found sdcc/uCsim is more elegant for me (though Keil C51 do optimization better), so I don't need Keil C51 anymore, and now I'm heavy relied on uCsim to do unit tests. Now I'm start to develop with ARM, however, sdcc doesn't support ARM. I've tried uVision which is very popular among my friends, but I want Ubuntu alternative. I can work smoothly with Makefile, so I don't need the IDE. uVision has a lot of predefined chipsets, I'm afraid they won't be included in GCC. My question is: is there any ARM compiler for Ubuntu, with a rich chipset support? And, is there any light-weight ARM VM like uCsim, so I can do unit test in ARM development?
GNU Toolchain for ARM Processors ( Download Link )
Alternate solutions, restricting oneself to software in the archive, include either using Ubuntu armel and native compilation (if one has compatible hardware), or using the gcc-armel-cross environment, running the results natively or in qemu. Although work is in progress, neither is truly suitable for embedded development at this time.
I know this answer is way late, but people still ask and there's new tools out there.
Check out these awesome tools: