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?