I've done lots of embedded development on Linux, and it's mostly been a painless experience. Segger has a Linux library which works great, as well as Embedded Studio which runs on Linux. GCC-arm and several other compilers are avaible. I've been working a lot with Nordic Semiconductor's ARM-based SoCs, and I'd say Linux is a fully viable environment for the applications I've worked on.