Lo que quieres hacer no es una cosa tan simple como cargar el programa bootloader y ya funciona.
Creo que tienes un poco flojo el concepto de bootloader y deberias investigarlo un poco mas.
en primer lugar, un bootloader siempre dependera de el hardware donde lo montes ya que debes de tener un mecanismo para entrar en modo bootloader, asi que por muchos ejemplos que veas tendras que modificarlos.
En segundo lugar, los programas que hagas deben ir acompañados de su fichero linker scrip, que resumiendolo mucho indica en que direccion de memoria se aloja el programa.
Busca un ejemplo de alguna placa de evaluacion, y fijate en el programa bootloader y en el programa ejemplo para cargarlo y en sus linker scrip, pero ten cuidado, para no variar la información de microchip puede estar mal, la de PIC32 para el bootloader esta mal por ejemplo. Tambien ten en cuenta que lo del puerto serie esta muy antiguo ya, es mejor que pienses en puerto serie virtual por usb que viene a ser lo mismo.
Pero como te digo lo primero, creo que deberias buscar informacion sobre bootloader y entenderlo bien.
No tienes una duda concreta o un problema concreto, creo que tienes un fallo de concepto.