You could use the Eclipse IDE and the GNU tools, basically as, ld and make. For Windows I tend to use the Yagarto GNU/GCC tool chain, if you just want to do assembler just write .s files and pretend you know nothing about .c or .cpp. You'd need something like GCC 4.6.2 or 4.7.1 to handle M4 instructions.
You could do the same with Keil or IAR evaluation tool chains. I'd probably suggest that route as most of the open debugging choices are a total cluster.
On the M4(F) side, I'm playing with the STM32F4, it's supposed to drop into my boards with the STM32F2 Cortex-M3 part. The FPU on the M4F only supports 32-bit floats, so it's not that exciting.
If you're using ATMEL parts they have their Studio 6 IDE which is a mashup between Visual Studio and GNU/GCC tools.