Bootloader大多是两阶段启动过程。第一阶段使用汇编来实现,完成一些依赖于CPU体系结构的初始化,并调用第二阶段的代码;第二阶段则通常使用C语言来实现,这样可以实现更复杂的功能,有更好的可读性和可移植性。