首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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-18 12:12
韶音科技_电子工程师(准入职员工)
韶音科技内推,韶音科技内推码
韶音科技 可靠性工程师 面经HR面 7.1 (20-30min)HR很和善,问的问题不难回答主要是针对学习成绩、高考排名和所学科目情况针对项目情况也有一些基本的了解随后是一些生活兴趣方面的问题反问总的来说难度不大技术面 7.29 (30min左右)技术面很专业 详细问了项目内容是连续性的追问 针对整个项目框架项目具体细节然后针对某一个板块从你的思路开始深挖包括理论、实践以及解决方案,有一定难度建议多巩固理论知识且追问节奏较快,有压力反问环节综合面 8.5 (30min)是一位女主管 感觉水平很高问题都很有针对性,也是深挖项目感觉她比较追求高效率也可能是我太啰嗦了,建议言简意赅有重点的回答询问方...
点赞
评论
收藏
分享
11-20 19:48
深圳大学 测试开发
26届秋招 - 小米 - 后端面经
点赞
评论
收藏
分享
10-16 15:48
算法工程师
帮我看看能给什么
sp吗还是什么
Aaso:
怕不是SSP
点赞
评论
收藏
分享
10-30 11:21
北京邮电大学 Java
秋招突然就结束了
突然就收到了库洛的oc,很快的谈薪,很快的逼签,好像自己的去向突然就决定了,确实是自己很喜欢的方向,但当突然做决定的时候还是患得患失的。无法评判,选择无关绝对的好坏,只是在不同赛道里,偏向了更贴合自己的那一个。滴滴美团固然是不错的选择,但二次元领域的适配感,是自己更看重的。毕竟谁也没法预判未来,与其顾虑三五年后可能在互联网面对枯燥业务、深夜加班时的遗憾,不如遵从当下的心意——至少这份对领域的喜欢,是此刻最确定的东西。这种患得患失大概就是成长里的选择题后遗症吧。毕竟没有哪条路能提前看到终点,本就没有标准答案。但反过来想,能在年轻的时候选择一份“提起就会眼睛发亮”的工作,已经比很多在迷茫中打转的人幸运多了。就算以后真的会有遗憾,至少此刻的热情是真的,为热爱拼一次的勇气,也绝不会是白费的。最后祝大家都能签到理想的工作,爽拿offer!
牛客49760770...:
库洛(或者说广州大部分游戏厂)裁应届(详情百度搜索库洛529),谨慎考虑,建议美团
如果再来一次,你还会选择...
点赞
评论
收藏
分享
11-20 19:57
深圳大学 测试开发
26届秋招 - 优必选 - 测开面经
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
28届一直想找实习但是不敢开始怎么办
1935
2
...
挑战一篇讲完实习转正
1801
3
...
【现金奖励】26秋招薪资爆料征集,瓜分现金红包!
1784
4
...
大厂校招选人的核心逻辑是什么?
1768
5
...
大家不是好奇自己的面评长什么样子吗?
1479
6
...
大厂病??我来说说
1464
7
...
实习后的花销
1427
8
...
最恐怖的一集 测开也卷了
1419
9
...
没人肯帮我打掩护怎么办
1290
10
...
字节谈薪经验帖
1201
创作者周榜
更多
正在热议
更多
#
找实习是选平台还是选业务?
#
3723次浏览
37人参与
#
你的秋招白月光和意难平公司
#
975次浏览
23人参与
#
腾讯音乐秋招
#
433169次浏览
4796人参与
#
AI“智障”时刻
#
2902次浏览
30人参与
#
实习生如何通过转正
#
109888次浏览
1413人参与
#
十一月总结
#
5553次浏览
58人参与
#
百度秋招
#
54142次浏览
392人参与
#
通信/硬件求职避坑tips
#
123035次浏览
1053人参与
#
产品面经
#
233083次浏览
2090人参与
#
机械人,签完三方你在忙什么?
#
68915次浏览
249人参与
#
xxx岗位的一天
#
3033次浏览
37人参与
#
你面试时吹过最大的牛
#
9706次浏览
38人参与
#
每个月花钱最多的地方是?
#
2170次浏览
26人参与
#
应届生第一份工作最好去大厂吗?
#
93082次浏览
900人参与
#
材料转码还有必要吗?
#
33358次浏览
155人参与
#
办公室恋情是职场大忌吗
#
11547次浏览
21人参与
#
职场捅娄子大赛
#
433497次浏览
4172人参与
#
实习学到最有价值的工作习惯
#
42673次浏览
368人参与
#
记录实习开销
#
166680次浏览
648人参与
#
你的实习什么时候入职
#
319577次浏览
2165人参与
#
科大讯飞工作体验
#
30512次浏览
73人参与
#
通信/硬件公司求职体验
#
172746次浏览
1018人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务