Schau doch mal unter AVR oben links auf dieser Seite unter AVR-Tutorial
und AVR-GCC-Tutorial.Ersteres beschäftigt sich mit der Hardware und
basiert auf der Sprache Assembler,letzteres gibt eine gute Einführung in
die C-Programmierung mittels GCC.Beide beziehen sich auf die 8-Bit Atmel
Mikrocontroller AVR.
Für andere Controller sind andere Tools zur Programmierung nötig,obwohl
es für die meisten Mikrocontroller eine GCC-Portierung gibt.Um in
Assembler Programme zu schreiben,benötigst du allerdings auf jedenfall
einen Assembler vom Hersteller des Controllers.Diese sind meist
kostenlos,auf dem neuesten Stand und unterstützen auch neuere Derivate
des Mikrocontrollers.Für die meisten Controller existieren kleine,frei
nutzbare Entwicklungsumgebungen,für komplette Entwicklungsumgebungen mit
Compiler und Assembler ist jedoch oft nicht zu knapp Geld zu
bezahlen.Praktisch ist auch noch ein Debugger/Simulator um ohne konkrete
Hardware bereits kleine Programme testen zu können und
Schritt-für-Schritt abzuarbeiten.
Kostenlos für AVRs ist (wie bereits erwähnt) das
AVR-Studio,eingeschränkte Testversionen (Codegrössen-limitiert) gibt es
von IAR(MSP430,ARM,...) und Keil(C167,ARM,...)