一般分两个阶段:
第一阶段:
1、初始化硬件;2、为bootloader中的stage2部分的代码准备RAM空间(bootloader第一不部分在flash里面运行,而第二部分要由第一部分拷贝到Ram里面运行,所以第二部分是在Ram中运行的)。3、拷贝第二部分到RAM中、4、配置堆栈。5跳转到Ram中的bootloader的第二部分处执行。
这一阶段一般用汇编语言写。
第二阶段:
1、初始本阶段需要用到的硬件;2、将内核映象从Flash里面拷贝到Ram里面。3、一些参数的设置;4跳转到刚拷贝到Ram的内核处执行。