首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
北京
暂无评论,快来抢首评~
相关推荐
03-06 22:20
清华大学 机械设计/制造
为什么985、211学历就业很管用?
大家好,今天给大家分享为什么985、211学历就业很管用?观点1:学校要求力度真不一样。92能毕业,已经比双非付出多多了。观点2:因为你的老学长和老学姐以及老师们已经替你们把学校的名气打出来了,面试官没那么多时间了解你,但是有时间了解你的学校,你是92的学生,这代表你曾经是跟名人大佬们在一个平台学习过四年。观点3:工作了还不是要重新学,高考已经证明了学习能力。观点4:因为学校里水不水跟工作没啥关系,反正上岗都是从头学。而且学历是一种减少面试官人力成本的筛选指标,我之前在某中厂上班,偶尔也要当面试官。普本,211,985,c9,top2,藤校,各种学历的我都面过,思维和技术水平和学历确实就是正相...
三月的小目标
点赞
评论
收藏
分享
03-06 11:06
湖南科技大学 研发工程师
想找个实习 求大佬指导一下简历
实习,投递多份简历没人回...
点赞
评论
收藏
分享
02-21 11:21
北京润丰景和科技有限责任公司_CEO
为啥一个hr 回复都没有😭
这几天疯狂在boss直聘和应届生上投简历,结果一个回复都没得,是不是简历有啥问题😭,主要投的都是产品岗,求友友们帮忙看看
坦荡的马来熊在人才库:
点进来,差点眼瞎,不知道看哪
点赞
评论
收藏
分享
03-07 10:42
中国石油大学(华东) 游戏后端
28届,投了个米哈游的实习岗试试
楼主今年大二,抱着试试的心前两天投了米哈游的ue客户端开发实习岗试试,结果还过了初筛,现在在等测试,真的有点紧张啊,毕竟是第一次投简历😭😭各位牛友有什么建议吗,谢谢大家🥰
米哈游求职进展汇总
点赞
评论
收藏
分享
03-05 17:09
已编辑
东北大学 Java
大三末9 0基础
大三下刚开学,不想考研,想去就业,现在0基础0实习,3.2开始学习java,感觉内容非常多,学java后端'来得及吗,有没有速成的方法能冲大厂吗?各位大佬能给一些建议吗,感谢各位
Java抽象带篮子_...:
可以看看我发的速成帖子,里面详细写了怎么速成,简历怎么写
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
AI-Agent 面试题汇总 - 大模型篇
2.1W
2
...
百度后台开发实习一二三面面经
1.2W
3
...
字节AI agent算法一面 好难啊
1.1W
4
...
游戏客户端面经及经历分享
6189
5
...
字节跳动 后台开发 一面
6123
6
...
面试官视角聊聊:AI大模型岗从业务面到HR面全流程
5931
7
...
26年 如何快速入门大模型应用开发(个人认为的最快路线)
5208
8
...
我怕自己努力了这么久,最后还是毕业即失业
4798
9
...
3.6 京东创新零售一面凉经
3619
10
...
学历一般的我,准备凭借Ai项目在春招冲出重围,附上开源!
3416
创作者周榜
更多
正在热议
更多
#
你感受到金三银四了嘛?
#
8921次浏览
122人参与
#
如果给AI员工评绩效,我的答案是……
#
2195次浏览
62人参与
#
今天你投了哪些公司?
#
20528次浏览
526人参与
#
哪一刻你对工作祛魅了?
#
6096次浏览
77人参与
#
春招 / 实习投递,你最焦虑的一件事
#
15707次浏览
387人参与
#
你秋招最后悔的选择
#
85944次浏览
370人参与
#
AI时代下,你的岗位要求有什么变化?
#
3009次浏览
65人参与
#
27届求职交流
#
31769次浏览
684人参与
#
找工作,你都让AI帮你做什么?
#
1734次浏览
67人参与
#
刚工作的你,踩过哪些坑?
#
1584次浏览
37人参与
#
HR问:你期望的薪资是多少?如何回答
#
81256次浏览
691人参与
#
26届求职交流
#
16153次浏览
424人参与
#
虽然0面试,但今天___,夸夸自己
#
1278次浏览
31人参与
#
实习学不到东西正常吗?
#
2626次浏览
37人参与
#
一起聊美团
#
344635次浏览
1896人参与
#
今年找实习到底有多难?
#
5182次浏览
53人参与
#
运营人求职交流聚集地
#
221829次浏览
1098人参与
#
比亚迪秋招开啦,你打算投递吗?
#
144347次浏览
837人参与
#
担心入职之后被发现很菜怎么办
#
286541次浏览
1199人参与
#
聊聊你的职场新体验
#
329038次浏览
1875人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务