Die serielle Schnittstelle funktioniert nur wenn ein entsprechendes Programm auf dem Controller läuft.
Es muss also schon vorher ein Programm in den Controller geladen werden (der "Bootloader" in diesem Fall - ohne diesen läuft über die serielle Schnittstelle natürlich nichts).

Der Controller lässt sich ohne einen Bootloader nur über die SPI Schnittstelle programmieren (wird dann auch ISP - "In System Programming" genannt).
Es geht auch noch parallel - aber das kommt hier ja nicht in Frage.

MfG,
SlyD