bootloader的功能介绍

来源:互联网 发布:python修改文件内容 编辑:程序博客网 时间:2024/06/13 15:27

1.什么是bootloader?

初始化开发板上主要硬件(时钟,内存,硬盘),把操作系统从硬盘拷贝到内存,然后让CPU跳到内存中执行操作系统。

bootloader阶段分为boot阶段和loader阶段

首先来看boot阶段:

1.关闭影响CPU正常执行的外设

(1)看门狗,相当于定时器,特点是里面有一个基准值,还有一个递减计数器;每个时钟周期把寄存器里面的数值减1,当减到0时有一个reset复位信号,导致芯片重启

目的:防止程序死机

我们需要关闭它的原因是:如果不关闭就经常导致重启,这样不好

(2)关闭中断

2.初始化时钟

把开发板的时钟设定在最优情况

3.串口驱动(它要早一点实现比较好)

4.初始化内存控制器,DDRAM

验证内存是否工作,往地址里写一个值,读出来还是那个值,说明内存可以使用,间接证明内存可读可写。

5.初始化硬盘,nand Flash

读驱动(从nand往外读数据)


loader阶段:

1.从硬盘指定的地址加载Kernel到内存指定的地址

2.跳转到内存Kernel所在的地址,执行


常用的调试手段:

1.led点灯法

2.串口调试



  T     8bit      R
PC-----------------开发板
  R               T



0 0
原创粉丝点击