首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
offer啥来
成都理工大学 嵌入式软件开发
发布于四川
关注
已关注
取消关注
bootloader
@Hello_WordN:
嵌入式基础(四)之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
全部评论
推荐
最新
楼层
Hello_WordN
英特尔_Software_engineer
不是哥们,你干啥呢
点赞
回复
分享
发布于 2024-08-01 15:35
北京
还没有回复哦~
相关推荐
01-13 17:11
西安电子科技大学 Java
研零找日常实习求拷打简历
数学转码崽:
太可惜了老哥,你这背景这么好,但是项目真的拉了
点赞
评论
收藏
分享
01-14 18:02
苏州大学 前端工程师
面试官:聊聊单点登录(SSO)
前言一个规模大点的公司大概率会有很多子系统,每个子系统都是属于公司的,没必要为每个子系统做一个登录系统,因为用户是相通的,把每个子系统的登录部分抽离出来形成一个认证中心,这就是单点登录(Single Sign On)实现单点登录的模式比较多, 并没有固定的模式,不过有标准模式(CAS, OAuth2),非标准模式,可能每个公司实现方案都不相同。但从技术上来看,大体上可以分为两种,一个 session + cookie, 一个 token单点登录的常见模式session + cookie用户将账号密码信息发给认证中心,认证中心有个 session 表格,里面是键值对,key 是生成的全局唯一 i...
投递谷歌等公司8个岗位 >
点赞
评论
收藏
分享
01-10 10:41
南京大学 Java
吃泡面被mt以为吃不起饭了,要给我买鸡翅
#实习生活中那些难忘的瞬间# 在百度的时候mt总会喊我一块吃饭但有时候我不想跟他一块吃,因为食堂吃腻了所以有一天我溜了,买了桶泡面大学的时候经常吃泡面,特别上完体育课,冬天搁宿舍来一口非常爽好巧不巧窝在公司茶水间泡水的时候被mt看到了然后就有了图中的对话希望他们没有聊,组里有个实习生已经吃不起饭了感觉还是大家对泡面的观念不一样当然百度200一天的工资真的很少mt人确实挺好的,可惜之后我再也没回过上海了
蝴蝶飞出了潜水钟丿:
让他买
百度公司福利 553人发布
实习生活中那些难忘的瞬间
点赞
评论
收藏
分享
01-07 16:17
华中科技大学 golang
#我的简历长这样#求点评
码农烧烤880:
兄弟你是我今天看到的最好看的简历(我说的是简历风格跟简历书写)把985 211再搞亮一点。投boss就说;您好,我华科(985)研二在读,本科211。对您的岗位很感兴趣,希望能获得一次投递机会。
我的简历长这样
点赞
评论
收藏
分享
01-14 10:30
牛客运营
真心给放寒假的26届一些建议
寒假时间规划(以45天时间来规划)第一阶段:基础巩固与自我评估(寒假两周)每日学习时间:8小时上午(预计3小时): 技术知识复习或新知识学习(如算法、数据结构、操作系统等),可以选择在线课程平台(如牛客等)进行系统学习。中午休息(预计1小时)下午(预计3小时): 编程实践,通过牛客刷题页面,练习算法题目,每天至少完成5道不同难度级别的题目。晚上(预计2小时): 自我评估与总结,回顾当天的学习内容,记录遇到的问题和解决方案;更新简历和个人项目文档,可参考满分简历撰写标准、手把手教你怎么撰写简历,牛客特意整理了10000+字保姆级校招资料,包含简历/笔试/面试等全流程,集合成这本《26届校招宝典》...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
我的秋招总结
3085
2
...
求offer比较 农发行软开和农行软开
3051
3
...
软件技术方向就业单位分析—移动电信联通三大运营商
2861
4
...
朋友的华子offer被毁了
2672
5
...
字节实习-支付方向 凉经
2543
6
...
牛客周赛77文字版题解
1659
7
...
26届双非Java 求拷打
1462
8
...
说一个一直很想说的话题。
1376
9
...
小小的我
1313
10
...
努力拼搏百天,成就最好的嵌入式人
1194
创作者周榜
更多
正在热议
更多
#
我的2024牛客高光时刻
#
90497次浏览
1500人参与
#
你的简历改到第几版了
#
911451次浏览
11701人参与
#
被同事甩锅了怎么办
#
14987次浏览
89人参与
#
国企是春招机械人最好的去处吗
#
14304次浏览
81人参与
#
学信网能看师兄师姐就业去向了
#
197497次浏览
575人参与
#
签约/解约注意事项
#
535026次浏览
3649人参与
#
想实习转正,又想准备秋招,我该怎么办
#
561483次浏览
5569人参与
#
实习,投递多份简历没人回复怎么办
#
2695496次浏览
36608人参与
#
腾讯求职进展汇总
#
266404次浏览
2097人参与
#
数据人的面试交流地
#
495019次浏览
8288人参与
#
大家都开始春招面试了吗
#
495576次浏览
6631人参与
#
入职第一天,你准备什么时候下班
#
25106次浏览
170人参与
#
一人推荐一个值得去的通信/硬件公司
#
156193次浏览
1717人参与
#
入职第五天,你被拉进了几个工作群
#
7913次浏览
46人参与
#
数据人offer决赛圈怎么选
#
145476次浏览
1641人参与
#
如果你有一天可以担任公司的CEO,你会做哪三件事?
#
18313次浏览
402人参与
#
大家实习每天都在干啥
#
49592次浏览
336人参与
#
求职季如何保持心态不崩
#
50014次浏览
454人参与
#
我的第一份实习怎么找的
#
48699次浏览
496人参与
#
那些拿到大厂offer的简历长啥样
#
181777次浏览
2862人参与
牛客网
牛客企业服务