Bootloader Design for Microcontrollers in Embedded Systems