Bootloader 是什么,做什么。

Bootloader 是在操作系统内核运行之前运行的一段小程序。它在系统上电时开始执行
初始化硬件设备、准备好软件环境、最后调用操作系统内核。它是应用程序运行前执行的一段固化在微控制器中的代码程序

功能:

  • 初始化CPU,设置时钟频率
  • 屏蔽所有中断
  • 设置栈指针
  • 启用电源管理
  • 将内核和根文件系统的镜像加载到系统内存,然后启动内核
  • 将数据写入闪存、下载内核、升级bootloader自身

启动顺序:两个阶段

(内存映射是一种将文件其他内核对象映射到进程的虚拟地址空间的方法。
这样,应用程序可以像访问内存一样访问文件或其他对象,而无需使用常规的文件I/O方法。
它能够使一个磁盘文件与存储空间中的一个缓冲区建立映射关系,然后当从缓冲区中取数据,
就相当于读文件中的相应字节;而将数据存入缓冲区,就相当于写文件中的相应字节)

(根文件系统是内核启动时所挂载(mount)的第一个文件系统,
内核代码的映像文件保存在根文件系统中。
系统引导启动程序会在根文件系统挂载之后从中把一些初始化脚本(如rcS,inittab)
和服务加载到内存中去运行)

  • 设置启动参数
  • 启动内核
  • 将内核和根文件系统映像复制到内存
  • 第一阶段:和cpu相关,主要使用汇编语言编写
    1. 初始化硬件组件
    2. 为加载第二阶段程序准备空间
    3. 设置sp栈指针
    4. 跳转到第二阶段程序的入口
  • 第二阶段:和Soc相关,使用C语言编程
    1. 初始化此阶段所使用的硬件组件
    2. 检查内存映射
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值