bootloader基础概念

Bootloader也叫做引导加载程序。在嵌入式系统上电复位后首先运行引导加载程序,它的功能主要是负责系统的上电自检、必要的硬件初始化、建立储存空间映射,并加载和启动操作系统。Bootloader一般储存在bootROM中,当前使用最多的类型是NOR flash rom,在大多数的嵌入式系统中,flash里边不仅储存了bootloader,还储存了用户程序代码。

接下来说一下bootloader如何加载操作系统,有以下四种方式:

方式一:直接在flash中运行操作系统代码

也就是说在嵌入式系统上电或者复位后,执行bootloader代码,完成必要的硬件初始化后,直接跳转到flash中操作系统的入口地址继续执行。

方式二:在RAM中运行操作系统代码

在单片机上电或者复位后,在flash中执行bootloader代码,完成必要的硬件初始化,接下来将flash中的操作系统和用户程序代码拷贝到RAM中,然后跳转到ram中的操作系统入口地址执行程序。

方式三:从外存储器加载

这种情况下,操作系统和用户程序不存在flash中了,而是存在外存中,但是bootloader还在flash中,此时在bootloader中必须要有访问外存的驱动程序,在处理器上电复位后,执行flash中的存放的bootloader代码,完成硬件初始化,通过外存驱动程序去读取外存中的用户程序和操作系统,并将其复制到RAM中,然后跳转到操作系统的入口地址。

方式四:从通信端口加载

这种方式与方式三类似,不过需要在访问外存的驱动程序中添加通信端口的驱动程序,比如串口、以太网等,一般用于固件程序的更新调试。

前三种方式属于启动加载模式,这是嵌入式系统正常工作时使用的启动方式。第四种加载方式属于下载模式,这是在调试或者维护更新阶段使用的系统启动方式。在下载模式下,bootloader会通过通信端口从上位机或者服务器上下载操作系统映像/用户程序,暂存到RAM中,然后将其烧录到flash中,也可以烧录到SRAM中运行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值