Bootloader is a small program in microprocessor which enables to load a new application firmware. So, a special MCU programmer is no more necessary for upgrading firmware.
Bootloader runs at the boot time (when processor has just been reset) and wait for specific command from PC loader software. If the command hasn't been received during a timeout, bootloader executes an application firmware. If it is received, bootloader will receive new firmware from PC and store them into a processor's memory.
As a PC loader application I use an open source project ds30 Loader by Mikael Gustafsson. For more information visit http://mrmackey.no-ip.org/elektronik/ds30loader/
I will add the bootloader code to my future firmware upgrades. Now it is implemented in Altimeter 1.00 and tested on Timer T10. To interface PC, I use USB cable with USB-UART converter.