首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
offer啥来
成都理工大学 嵌入式软件开发
发布于四川
关注
已关注
取消关注
bootloader
@HellowordX:
嵌入式基础(四)之BootLoader
专栏地址:嵌入式面经地址 1.什么是BootLoader?⭐⭐⭐ Bootloader(引导加载器)是启动计算机或嵌入式系统时执行的第一个程序,位于固件中。它主要负责初始化系统硬件、加载操作系统,并将控制权转移到操作系统的启动过程。 Bootloader的作用: 初始化硬件:Bootloader检查硬件设备,包括处理器、内存、外设等,并进行必要的初始化操作,以确保系统在启动时处于正常工作状态。 加载操作系统:Bootloader从存储设备(如硬盘、闪存等)中读取操作系统的引导程序,将其加载到内存中。 启动操作系统:一旦操作系统引导程序加载到内存,Bootloader会将控制权转交给引导程序,从而启动操作系统。 提供启动选项:有些Bootloader还提供启动选项,允许用户选择不同的操作系统或操作系统的不同启动模式。这对于多系统或双重启动设置很有用。 提供固件升级机制:Bootloader还提供固件升级功能,允许系统固件的更新和升级,以支持新的功能、修复漏洞或提高系统性能。 bootloader作用 说明 硬件初始化 检测和初始化计算机或嵌入式系统的硬件设备,如处理器、内存、外部设备等。 加载操作系统 从存储设备中读取操作系统的引导程序,并将其加载到内存中。 启动操作系统 将控制权转移到操作系统的引导程序,以启动操作系统的执行。 提供启动选项 提供用户选择不同操作系统或不同启动模式的选项,支持多系统启动等。 提供固件升级 支持固件的更新和升级,以提供新功能、修复漏洞或提高系统性能。 处理错误检测 在启动过程中检测和处理硬件或软件错误,提供错误消息和故障排除功能。 支持设备引导 支持从不同的存储设备(如硬盘、闪存、网络等)引导操作系统。 自定义配置 允许用户自定义启动配置、参数和引导顺序,以满足特定需求。 2.BootLoader的启动的两个阶段?⭐⭐⭐ Stage 1(引导加载器的第一阶段): 硬件设备初始化:BootLoader的第一阶段负责初始化计算机或嵌入式系统的硬件设备,包括处理器、内存控制器、外部设备等。 为加载Stage 2准备RAM空间:在Stage 1中,BootLoader会为加载Stage 2而准备好内存空间(RAM),通常通过栈(stack)的方式进行分配。 加载Stage 2:BootLoader的Stage 1会从预定义的存储设备(例如硬盘、闪存)中读取Stage 2的引导程序,并将其加载到预先分配的内存空间(RAM)中。 设置堆栈:BootLoader在加载Stage 2之前会设置好堆栈指针,以确保在后续的执行过程中能正确地进行函数调用和返回操作。 跳转到Stage 2的C入口点:在加载完Stage 2之后,BootLoader会将控制权转移到Stage 2的C入口点,即Stage 2中的C语言代码执行的起始位置。 Stage 2(引导加载器的第二阶段): 初始化硬件设备:BootLoader的Stage 2进一步初始化硬件设备,例如外部设备(键盘、鼠标、显示器等)和各种总线(如USB、PCI等)。 检测内存映像:Stage 2会对系统的内存进行检测,确定可用的内存容量和位置,并为操作系统的加载做好准备。 从存储设备读取内核映像和根文件系统映像:BootLoader的Stage 2从预定义的存储设备中(通常是硬盘或闪存)读取操作系统内核映像和根文件系统映像到事先准备好的内存区域。 设置启动参数:Stage 2有责任为内核设置启动参数,这些参数包括内核命令行参数、映像加载地址等,以便操作系统能够正确地进行初始化和配置。 调用内核:最后,BootLoader的Stage 2会通过跳转或者函数调用的方式将控制权转交给操作系统内核的入口点,以启动操作系统的执行。 启动流程分析: 上电之后,系统会取执行ROM或者Flash里面的Bootloader启动代码,启动代码用来在初始化电路以及用来为高级语言编写的软件做好运行前准备的一小段汇编语言。商业实时操作系统中,启动代码部分一般叫板级支持包(BSP)。Bootloader启动具体流程如下: 1.第一步设置中断和异常向量 2.完成处理器芯片一些寄存器的系统启动的最初配置 3.设置看门狗 4.配置系统存储器,包括Flash、SRAM、和DRAM等,并为它们分配地址空间 5.为处理器的每个工作模式设置栈指针,ARM处理器有多种工作模式,每种工作模式都需要设置单独的占空间 6.变量初始化,软件中已经赋值的全局变量,启动过程把这部分变量从只读区域复制到读写区域,已经赋值的静态全局变量直接固化在只读Flash或EEPROM中 7.数据区准备,软件所有未赋值的全局变量,启动过程中需要把这部分变量所在区域清零 8.调用高级语言入口,比如main函数 3.在ARM架构中,常用的Bootloader有哪些?请分别介绍它们的特点。⭐⭐ 以下是一个关于常用ARM架构的Bootloader的特点的表格: Bootloader 特点 U-Boot - 开源,通用的Bootloader- 支持多种处理器架构和嵌入式平台- 功能丰富、灵活性高- 用于启动操作系统、加载内核映像和文件系统等 Das U-Boot - 在U-Boot基础上进行定制和改进- 提供更多功能和特定优化- 快速启动、多协议支持和硬件平台兼容性等 barebox - 轻量级、模块化的Bootloader- 小巧、可靠、高度可定制- 适用于资源受限的嵌入式平台 TF-A (Trust
点赞 0
评论 3
全部评论
推荐
最新
楼层
HellowordX
英特尔_Software_engineer
不是哥们,你干啥呢
点赞
回复
分享
发布于 2024-08-01 15:35
北京
暂无评论,快来抢首评~
相关推荐
11-11 22:26
门头沟学院 安卓
亲爱的mentor不要离开我
mentor技术档案 故事的主人公是我的第一任mentor,也就是在小米的mentor,名字叫莫昌明(真的好想歌颂他,毕竟我这是赞扬,实名应该没啥问题)可不是百度的mentor,其实现在的百度mentor也挺不错了,开始指导我面试了。很庆幸职业生涯开始就遇到了以为很好的导师,我的这位导师,为人谦虚低调,技术好,是十足的技术派,可以说对技术达到了信仰的地步,每天就是敲着苹果电脑,解决各种技术难题。965也可以成为技术大佬 初入小米,团队给我安排了这位技术大牛带我。然后mentor和我说的第一句话是:我做的东西比较杂,一时半会还不知道让你做啥,你可先学习着。我当时心想:还能有多杂,有个大的方向,不...
你的mentor是什么样...
点赞
评论
收藏
分享
11-15 11:31
深信服_技术服务工程师(准入职员工)
深信服内推,深信服内推码
深信服客经一站式面经1⃣️总体感受:一天全部面完,结果通知很快,群面和业务一面感觉很轻松但是业务二面孩子真的被压力坏了😭😭😭😭,汗流浃背了,以为自己凉了,但出来的时候hr跟我说过了。我两场业务面大约都面了四五十分钟,嘴巴都说干了,但是面试现场提供水,饮料,咖啡等本人今天凌晨两点睡的觉,七点起床,上午面一场,下午面三场还要被压力,已经快死了—————————————————————————2⃣️群面1.题目:三个候选人 选择一位当销售经理(题目是随机抽取的)2.流程:①读题3min②讨论30min③汇报2min3.本场bg一半以上都是985硕,我抢到了reporter的位置,讨论过程可能...
点赞
评论
收藏
分享
10-15 16:07
已编辑
东南大学 前端工程师
27 日常实习
27 届日常实习,请牛爷爷们拷打,希望再给提点建议。1.简历是参考大家的做的。2.项目是跟着网课做的,没有完全掌握。3.八股最近开始看了。4.力扣hot 100 刷了60题了。感谢牛爷爷们
独角仙梦境:
乱杀
点赞
评论
收藏
分享
10-14 11:01
门头沟学院 人工智能
200人的公司
挥毫自在:
想白嫖你呢
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
java零基础斩获4大厂offer
4189
2
...
避雷贝壳找房
3492
3
...
【奖】别再瞎猜!26校招真实薪资大揭秘,帮你快速避坑!
3269
4
...
月薪多少才能过上"体面生活"
3046
5
...
我父母让我忍受所有工作上的欺辱
2277
6
...
进大厂是因为老家找不到工作
2192
7
...
27届学院本两段实习后的职业规划再思考
2093
8
...
在京东实习一周花了0元
1884
9
...
得物一面面经
1847
10
...
奋战两个月,双非仔的校招终于结束了
1513
创作者周榜
更多
正在热议
更多
#
我的职场社死时刻
#
1708次浏览
34人参与
#
你最满意的offer薪资是哪家公司?
#
49596次浏览
244人参与
#
百度秋招
#
40004次浏览
339人参与
#
职场中那些令人叹为观止的八卦
#
1873次浏览
32人参与
#
中科曙光工作体验
#
3277次浏览
17人参与
#
月薪多少能在一线城市生存
#
82660次浏览
556人参与
#
聊聊你的职场新体验
#
292198次浏览
1796人参与
#
秋招吐槽大会
#
14465次浏览
159人参与
#
那些年,我收到的‘奇葩’回复
#
1189次浏览
21人参与
#
秋招你经历过哪些无语的事
#
1726次浏览
34人参与
#
你找工作想离家近 or 离家远?
#
2675次浏览
54人参与
#
京东工作体验
#
20127次浏览
116人参与
#
秋招遇到的奇葩面试题
#
95397次浏览
397人参与
#
你秋招最后悔的选择
#
1887次浏览
22人参与
#
交通银行工作体验
#
19552次浏览
68人参与
#
百度工作体验
#
281258次浏览
2155人参与
#
虾皮开奖
#
47347次浏览
223人参与
#
哪些公司开始补录了
#
1889次浏览
43人参与
#
你父母给过你哪些不靠谱的职场建议?
#
3273次浏览
49人参与
#
XX请雇我工作
#
1740次浏览
22人参与
#
你秋招想去哪些公司
#
66477次浏览
1721人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务