The two most popular ARM commercial compiler are Keil and IAR. You can get support from their retrospective forums and from the supplier. It is easy to use the compiler as they usually provide a lot of examples. The only downside is the cost of the compiler but if you are only using less than 32K bytes that should be fine. I prefer Keil as I have been using it for over two years. If you want to use a debugger, you can buy a cheap debugger from China and does the same thing as the Ulink II. You can perform real-time debugging using Ulink like adding breakpoints or the Cortex ITM. For the larger ARM device and embedded linux, you should use gcc-arm. Other cheap compiler would be Crossworks. I having used it that much so can't really say much about it.