I've done a quick search for an ARM M emulator and I found OVPSim :
http://www.ovpworld.org/It seem that the emulator is not open source but the processor / platform models are.
There is also a qemu modification for ARM emulation which is part of the Eclipse GNU ARM plugin project.