关于BootLoader是什么、有什么用、启动流程这些内容百度百科讲的很详细查阅即可:bootloader百度百科
自己写bootloader能使我们更好的的理解bootloader。
bootloader得最终目的是什么?肯定是引导内核。围绕引导内核,在引导内核之前肯定需要一些硬件设备的初始化,这样才能正确的读取到内核并加载到RAM中。
不同的目标机有有着不同的硬件结构。所以不同的目标机所需要初始化的内容也不是完全相同的。本文针对本人所使用的jz2440开发板。
在jz2440上有两种启动方式,norflash启动和nandflash启动。在这里针对nandflash启动。
针对jz2440开发板,写最简单的bootloader步骤:
1、初始化硬件:关闭看门狗、设置时钟、初始化SDRAM、初始化NAND FLASH
2、把内核从NAND FLASH读到SDRAM