1.认识u-boot

一.简介:

    U-Boot是通用的Bootloader,是遵循GPL条款的开放源代码项目。

有下面特点(只列重点):

1.U-Boot的作用是系统引导,支持 linux,VxWorks, QNX, RTEMS, ARTOS, LynxOS, android等嵌入式操作系统

2.支持NFS挂载

3.有丰富的设备驱动源码,如串口,以太网,SDRAM等

4.上电自检

二.U-boot的源码结构

源码可从https://sourceforge.net/directory/os:windows/或https://www.denx.de/wiki/U-Boot/SourceCode获取

1.认识u-boot_第1张图片

1.认识u-boot_第2张图片

1.认识u-boot_第3张图片

三.U-boot工作流程(即BootLoader)

1.初始化硬件:关看门狗,设置时钟,初始化串口,以及各种驱动,设置SDRAM,初始化NAND FLASH/NOR FLASH

2.如果BootLoader比较大,要把它重定位到SDRAM

3.把内核从NAND FLASH/NOR FLASH读到SDRAM(因为我们的程序一般放在nor上或者是nand上  ,为什么不直接放在运行内存RAM(SDRAM)上呢,因为RAM上电会丢失。程序不能在flash上跑,所以要把flash中的程序读到SDRAM上)

4.设置栈(为了用到c库,因为汇编工作能力有限)

5.启动内核

你可能感兴趣的:(u-boot)