I've just got involved in a project that basically doesn't work. All sorts of design issue. It needs a complete overhaul of the electronics. I have experience with ARM based devices having just completed a product range of12 different products based on the same NXP (nee Sharp) chip. So for this new project I hope to use a NXP or Atmel single chip device.
This new project needs to drive two normal stepper motors, which I can do with GPIO, and two micro-stepper motors. The micro-steppers need to accelerate and run with no jitter, so I need a programmable clock pulse and a direction pin per motor, plus a reset/powerdown GPIO. A solution that can directly drive a H-bridge would be good, too, because then I can use a cheap H driver rather than a micro-stepper special. I also need a USB device that looks like a serial port - I've used FTDI into a UART before and am happy with that because there is no PC driver development and no USB stack on the uC, but am happy for it to be integrated as long as all the software is easily available because I don't have the time or the inclination to handle it myself. There is a bunch of other stuff that is basically opto end-stop sensors and other GPIO and an SPI type interface to an ADC.
My experience with other projects in a similar vein and quick estimates suggest I need about 256K Flash and 64K RAM. The thing has to do quite a lot of calculations to do but any half decent ARM7 would have no trouble. If I'm wrong with my estimates it would be nice to have a pin compatible upgrade/downgrade :-) I suspect 32K RAM might fit but I'm not confident enough to go with that just yet.
Because the timescales are tight I need something that is easy to get up and running and doesn't have too many surprises - I don't want to discover late in the day that timers have to be stopped to be updated etc. So, if you have any suggestions and any experience with devices to consider that would be great. I am not wedded to ARM but I would need some convincing to move from tools and performance I'm used to. Currently I use GCC and am entirely happy with it.