Also...

Ob Windows oder Linux ist erstmal wurscht, nimm das was dir besser gefällt, bzw. was du sowieso schon installiert hast.


Auf dem Controller selbst benötigst du nicht zwangsläufig ein Betriebssystem. Bei den schwächeren (z.B. ARM7) würde ich sogar eher davon abraten, da sich diese ähnlich simpel in C programmieren lassen wie etwa ein AVR. Anders sieht es bei den leistungsfähigeren Controllern aus (etwa ARM9), bei denen kann ein Betrebssystem durchaus sinnvoll sein (ohne lassen sich manche Features kaum nutzen).

Was das Flashen der Controller angeht, das geht meist recht simpel per UART (RS232) ... die LPC µCs von NXP (z.B. der LPC2364) jedenfalls haben schon einen passenden Bootloader drin, so daß sie sich recht bequem flashen lassen.

JTAG ist schön, aber die kommerziellen Adapter sind leider sehr teuer (was wohl auch der Grund dafür sein dürfte, daß viele Bastler auf Selbstbau-Lösungen zurückgreifen). Da sollte man sich die Frage stellen ob man das wirklich braucht, oder ob man nicht doch ohne auskommt.


Die µCs selbst sind übrigens nicht sehr teuer, die kleineren sind vom Preis her durchaus vergleichbar mit den AVRs. Ein Problem für Anfänger könnte allerdings das Gehäuse sein, denn alle mir bekannten ARM µCs gibts nur als SMD.