Für keine der Varianten brauchst du einen Bootloader.


Einen AVR programmiert man normalerweise über seine ISP-Schnittstelle, das sind die Pins MISO, MOSI und SCK (3 Pins von Port B).
Dafür gibt es verschiedene Programmieradapter, die man an die serielle oder parallele Schnittstelle des PCs anschliessen kann.

Alternativ kann man einen AVR aber auch über seine UART-Schnittstelle programmieren (die Pins RXD und TXD von Port D).
Die UART Schnittstelle ist eine universelle serielle Schnittstelle die (in Kombination mit dem Pegelwandler Max232) kompatibel zur seriellen Schnittstelle des PCs ist.
Um einen AVR über diese Schnittstelle programmieren zu können, muss man aber erstmal einen Bootloader in den Flashspeicher laden (per ISP).
Dieser Bootloader hat dabei nur die Aufgabe, ein Programm das über die serielle Schnittstelle empfangen wird in den Flashspeicher zu kopieren.

Sinn macht das Ganze, weil man so die 3 ISP-Pins wieder frei verwenden kann, und RXD+TXD meistens eh schon für die Kommunikation mit dem PC verwendet werden.


kurz gesagt:
ohne Bootloader brauchst du zwei Kabel (ISP und RS232), mit Bootloader brauchst du nur eins (RS232)

um mit dem Controller zu kommunizieren (Hyperterminal etc.) brauchst du einfach nur ein Kabel zur seriellen Schnittstelle des PCs
und den Max232 (der ist nötig da die UART mit TTL Pegeln arbeitet, die serielle Schnittstelle des PCs jedoch nicht)