Interesting boot-loader article! I have to give a glance to the U-boot universal boot loader you mention. It seems very good for big operating systems. And I suppose instead of using a computer with something like Hyper-Terminal software a microcontroller can due the part of the host computer through the UART or RS-232 serial port. Boot-loaders get even more complex when they have to handle the software upgrade process. They might boot-up the system in a different mode like the industry standard DFU (Device Firmware Upgrade) mode and after that, switch the device to the normal user mode. This can be done with only one value in a memory register and the system goes and reads such address and boot accordingly.