Bootloader学习(一)

一、Bootloader的功能概述

Bootloader的最终也是最主要的目的就是启动内内核,它是开发板上电启动后第一个运行的程序,本质上是一个单片机程序。既然是上电之后的第一个程序,那肯定得有硬件的相关配置。

硬件相关配置包括:

1)、设置SVC模式;

2)、关看门狗(看门狗的作用是当系统死机是可进行自动重启,为了不让它重启,得先关闭);

3)、屏蔽一切中断;

4)、初始化内存(SDRAM)(没有进行初始化的内存是不可以使用的);

5)、设置栈(为C语言的运行提供环境);

6)、设置时钟(最开始的cpu时钟是12M);

7)、代码重定位,就是将代码从Nand Flash中重定位到SDRAM中;

8)、清除BSS段(初始值为0,全局变量为0的变量);

以上部分可以划分为第一阶段。


开发人员为了开发方便,在Bootloader中加入了相应功能,比如网卡、USB、串口、LED显示等功能。

你可能感兴趣的:(bootloader)