Hallo,

das Stichwort heisst Bootloader.
So ein Bootloader, muss aber auch erst per ISP in das Flash des AVRs kommen, ab dann kann man über die UART programmieren.
Schau mal im Wiki.