Bootloader启动流程

  Bootloader启动流程:

      Bootloader启动流程一般分为两个阶段stage1和stage2,下面分别对这两个阶段讲解。

      stage1中Booloader主要完成以下工作:

      *基本硬件初始化包括屏蔽所有中断,设置CPU的速度和时钟频率。RAM初始化,初始化LED,关闭CPU内部指令和数据cache等。 

     *为加载stage2准备RAM空间,通常为了获得更快的执行速度,通常把Stage2加载到RAM空间执行因此必须为加载Bootloader的stage2准备好一段可用的RAM空间范围。

     *拷贝Stage2到RAM中,在这里要确定两点:1 stage2的可执行映像在固态存储设备存放的起始地址和终止地址,2 RAM 空间的起始地址。

     *设置堆栈指针SP,这是为了执行stage2的C语言代码做好准备。

   stage2主要完成以下工作:

   *用汇编语言跳转到main的入口函数:

   *初始化本阶段要使用的硬件设备,包括初始化串口,初始化计时器等。在初始化这些设备之前可以输出一些打印信息。

    *检测系统的内存映射,所谓内存地址映射是指在4GB的地址空间中有指出哪些地址范围被分配用来寻址系统的RAM单元。

    *加载内核映像和根文件系统映像,这里包括规划内存占用的布局和从Flash上拷贝数据

    *设置内存启动参数。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值