The USART-based bootloader is probably the most popular way of burning code to the AVR. The Arduino, for one, uses this method.
For example say you were using a FTDI cable to talk to your Arduino. First the USB connector end of the cable would go into your host computer. The other end of the cable …..