Bootloader相当于二次引导代码
Boot Loader 就是在操作系统内核运行之前运行的一段小程序。(系统引导程序)
Boot Loader 的主要运行任务就是将内核映象从硬盘上读到RAM 中,然后跳转到内核的入口点去运行,也即开始启动操作系统。
Boot Loader 首先完成系统硬件的初始化,包括时钟的设置、存储区的映射,设置堆栈指针等;然后把操作系统内核从flash区拷贝带ram区,并跳转到内核的入口,将系统的控制权交给操作系统,从此系统的运行和Boot loader再无任何关系。
整个系统的加载启动任务就完全由 Boot Loader 来完成。
系统在上电或复位时通常都从地址 0x08000000 处开始执行,而在这个地址处安排的通常就是系统的Boot Loader程序。