首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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-14 17:13
门头沟学院 Java
信命❌ 不认命✅ ---27双非本的碎碎念
从开始找实习,到现在终于get美团offer.... 直到现在,本人依然很想哭....打了一场持久战,一边上班,一边改简历,一边面试。现在再看,只觉得一切努力都是值得的。其实我也有过想放弃,或者说认命的念头,但是最后还是坚持下来啦哈哈哈,感谢坚持下来的那个不认命的自己。先说一下本人跌宕的经历:一开始的时候,先是去投了中小厂攒面试经验,然后中小厂没有给太多的面试机会。有印象的就是上海的新核云,oc,太小遂拒。再后面投了恒生电子和浪潮的Java后端,两家双双oc,因为考虑到杭州住宿成本以及浪潮提供宿舍,当时纠结了很久之后,想着去找个班上,干干开发的活,遂去浪潮。然后在浪潮一边上班一边投简历面试.....
mengnankk:
加油加油
点赞
评论
收藏
分享
11-14 12:17
realme_软件工程师(准入职员工)
realme内推,realme内推码
品牌经理面经群面还是挺有意思的,主要是讲怎样卖手机AI英文面1. 自我介绍2. 分享一段和同事共同完成项目的经历,在期间有没有碰到什么样的分歧如何解决?3. 为什么一开始没有想到这种方式呢?4. 在实习当中有没有提出一些新的方式方法解决一些问题?5. 当时为什么要做这段实习呢?因为你之前的实习好像都不是这个赛道的?6. 介绍你最好的朋友,以及你的朋友怎么评价你的?7. 分享一段你和你朋友的旅行,你们怎么去分配任务的?8. 为什么有人可以不用做任何事情?那他在你们团队担任的是什么角色呢?专业复试:1. 自我介绍2. 介绍一下你的专业3. 介绍你的第三段...
点赞
评论
收藏
分享
10-23 01:50
太原科技大学 供应链管理
投到现在就俩面0offer
简历到底怎么修改才能有面试机会呀
迷茫的大四🐶:
你这个拿去投央国企吧,投私企包过不了的
点赞
评论
收藏
分享
10-14 10:30
成都工业学院 嵌入式软件开发
双非二本,目前一个面试也没有,各位友友能提一下宝贵建议吗,谢谢了
点赞
评论
收藏
分享
11-14 12:05
叠纸游戏_恋与星空-游戏策划(准入职员工)
叠纸游戏内推,叠纸游戏内推码
一、实习经历与工作方法1. 描述你在实习过程中所负责的系统,分享你最满意的一个并阐述原因。2. 当接到一个新的需求时,你是如何进行思考和规划工作流程的?3. 分享你在实习工作中的推进方式和所承担的主要工作内容。 二、游戏系统设计4. 如果让你设计一个游戏系统,你会选择哪个方向,理由是什么?5. 针对开放世界类项目,你认为最核心的系统是什么?如果由你负责设计该核心系统,你会如何规划?6. 在设计游戏系统时,如何确保其优于同类型竞品? 三、游戏体验与AI相关7. 从系统层面考虑,如何在PVP或竞技匹配系统中合理加入AI投放,并保证玩家体验?8. 阐述你对不同热门游戏(如塞尔达传说和原神)在开放世界...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
快手员工自费给+2庆生?太带派了烙铁
1.1W
2
...
《办公室恋情,被我抓住了》
7306
3
...
【奖】别再瞎猜!26校招真实薪资大揭秘,帮你快速避坑!
5885
4
...
java零基础斩获4大厂offer
4464
5
...
月薪多少才能过上"体面生活"
2460
6
...
进大厂是因为老家找不到工作
1944
7
...
我父母让我忍受所有工作上的欺辱
1883
8
...
每天都后悔自己计算机转法
1799
9
...
27届学院本两段实习后的职业规划再思考
1406
10
...
在京东实习一周花了0元
1393
创作者周榜
更多
正在热议
更多
#
我的职场社死时刻
#
2716次浏览
48人参与
#
你最满意的offer薪资是哪家公司?
#
50182次浏览
254人参与
#
百度秋招
#
41169次浏览
345人参与
#
职场中那些令人叹为观止的八卦
#
2915次浏览
65人参与
#
中科曙光工作体验
#
3638次浏览
20人参与
#
月薪多少能在一线城市生存
#
85109次浏览
575人参与
#
小红书开奖了
#
4588次浏览
30人参与
#
聊聊你的职场新体验
#
292483次浏览
1800人参与
#
那些年,我收到的‘奇葩’回复
#
1750次浏览
29人参与
#
秋招吐槽大会
#
20869次浏览
233人参与
#
秋招你经历过哪些无语的事
#
2391次浏览
40人参与
#
XX请雇我工作
#
2519次浏览
49人参与
#
你找工作想离家近 or 离家远?
#
3444次浏览
68人参与
#
你秋招最后悔的选择
#
2781次浏览
38人参与
#
京东工作体验
#
20446次浏览
118人参与
#
交通银行工作体验
#
19728次浏览
68人参与
#
秋招遇到的奇葩面试题
#
95634次浏览
397人参与
#
如何拒绝/反向PUA
#
80523次浏览
365人参与
#
哪些公司开始补录了
#
2735次浏览
52人参与
#
你父母给过你哪些不靠谱的职场建议?
#
3885次浏览
62人参与
#
虾皮开奖
#
48268次浏览
225人参与
#
百度工作体验
#
281487次浏览
2155人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务