首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
苦学编程30年
中国劳动关系学院 Java
关注
已关注
取消关注
嵌入式软件开发——嵌入式系统八股
#嵌入式软件#
#春招#
@苦学编程30年:
[八股] 嵌入式系统八股
点个小赞关注一波,持续更新…… [专栏]嵌入式软件校招笔记(点击跳转) [知识点] 嵌入式软件开发知识点学习 [知识点] ARM指令集详解 [知识点] 通讯协议(very重要) [项目] C++高并发Web服务器+个人改进项目详解 [八股] C/C++基础八股 [八股] C/C++进阶八股 [八股] 计算机网络八股 [八股] 操作系统八股 [八股] 嵌入式系统八股 [八股] Linux系统编程八股 [八股] Linux网络编程八股 秋招嵌入式企业面经 一、什么是嵌入式操作系统? 嵌入式操作系统(Embedded Operating System,简称:EOS)是指用于嵌入式系统的操作系统。嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式系统,就是,在其它电子产品或设备中,加入 (嵌入)一个小小的"计算机"。目的是为了,人机交互、采集传感器数据、处理数据、控制执行机构和通信。这些是"计算机"擅长的。这个小小的"计算机",就是嵌入式系统。它由各种"单片机"或叫微控制器再加上其它外围电路组成。要求这个小小"计算机",体积小、功耗低、成本低、实时性强、可靠性高。这是个小小的"专用"的"计算机",不追求最高性能,适用就行。在嵌入式领域广泛使用的操作系统有:嵌入式实时操作系统 µC/OS-II、嵌入式Linux、Windows Embedded、VxWorks、Intewell操作系统等,以及应用在智能手机和平板电脑的Android、iOS、华为鸿蒙等。 二、Linux嵌入式和单片机嵌入式区别? Linux嵌入式和单片机嵌入式在许多方面有所不同,包括架构、处理器、性能、扩展性等。以下是它们的主要区别: 硬件资源:单片机一般是芯片内部集成flash、ram,而ARM一般是CPU,配合外部的flash、ram、sd卡存储器使用。 程序存储位置:单片机程序一般比较小,上百Kb的程序逻辑已经相对复杂的了,所以大多数产品程序一般存储在片内flash。而ARM+Linux程序比较大,还加上Linux系统,一般存在外部的存储器,如sd卡、mmc、sata等。 程序开发环境:单片机大多数是用Keil、IAR等等,开发环境比较简单。而ARM+Linxu则复杂很多,具体可以参照芯片方案2。 调试工具:单片机的调试工具包括硬件开发板,仿真器(调试器),USB转串口线。而ARM+Linux的调试工具包括硬件开发板,网线,USB转串口线,SD卡。 操作系统:Linux嵌入式是基于Linux内核的操作系统,通常运行在ARM、x86、MIPS等处理器架构上,具有较高的性能和灵活的扩展性1。而单片机嵌入式开发的结果,需要运行在单片机(MCU)的硬件单元上。 应用领域:如果你的产品功能很复杂,有显示屏播放视频之类的需求,或者需要处理复杂的算法,一般会使用ARM硬件平台+Linux的方案。如果是一些简单的,则采用单片机2。 总的来说,Linux嵌入式和单片机嵌入式都是用于嵌入式系统的操作系统,但它们在架构、处理器、性能、扩展性等方面有很大的区别。希望这个解答能帮助你理解这两者之间的区别。 三、与通用计算机相比,嵌入式系统有哪些特点? 系统内核小:一般应用于小型电子装置 系统精简: 无系统软件和应用软件的明显区别 专用性强:软硬件结合紧密、针对硬件进行系统的移植 资源有限: 通常要求产品廉价、耗电少、体积小、速度快等 实时性:实时多任务的操作系统、合理调度多任务专门的开发工具和环境。 答:(1)嵌入式系统通常是面向特定应用的; (2)嵌入式系统是将计算机技术,半导体技术和电子技术与各行各业的具体应用相结合的后的产物,是一门综合技术学科; (3)嵌入式系统和具体应用有机的结合在一起,它的升级换代也是和具体产品同步进行的,因此嵌入式产品一旦进入市场,就有较长的生命周期; (4)为了提高执行速度和可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储于磁盘等载体中; (5)嵌入式系统本身不具有自主开发能力,即使设计完成以后用户通常也不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。 四、ARM内核有多少个寄存器,请列举出这些寄存器的名字和数量。(这里答案以A7为准) ARMv7-A架构(例如A7)提供了16个32位通用寄存器,它们是: R0~R12:这些是通用寄存器。 R13:也被称为SP寄存器,是栈顶指针,保存着栈顶的位置。 R14:也被称为LR寄存器,用于保存返回地址,用于执行流的跳转返回。 R15:也被称为PC寄存器,保存下一条取指指令的地址。 此外,还有一个程序状态寄存器CPSR(Current Program Status Register),在异常模式下,可以访问SPSR(Saved Program Status Register),在异常模式下,SPSR用于保存当前CPSR寄存器值。所以,总共有17个寄存器。 需要注意的是,这些寄存器可能因运行模式不同而对应不同的物理存储位置。例如,R0-R7在任何模式下都对应相同的物理存储,称之为未分组寄存器;R8-R14根据模式不同对应不同的物理存储,称之为分组寄存器。这意味着在某些模式下,ARM处理器可以访问更多的寄存器。例如,当从User模式进入到SVC模式时,使用的是不同的SP和LR寄存器实体。所以,如果以寄存器接口来算,寄存器为16个,如果以真正的寄存器实体来算,寄存器数量为40多个。但是,通常我们说的ARM内核有多少个寄存器,是指的这16个通用寄存器和一个程序状态寄存器。 寄存器详解:https://www.nowcoder.com/issue/tutorial?zhuanlanId=jLwqDm&uuid=c45ecf18c9d84e5385834d2fb5aba762 五、ARM通用寄存器中,哪3个寄存器有特殊功能和作用? 在ARM的16个通用寄存器中,有3个寄存器具有特殊的功能和作用: R13(SP):也被称为堆栈指针寄存器,它保存着当前堆栈的顶部位置。堆栈是一种特殊的数据结构,用于存储临时数据,如函数调用时的返回地址和局部变量。 R14(LR):也被称为链接寄存器,它用于保存函数调用的返回地址。当一个函数被调用时,返回地址被存储在LR中,以便在函数执行完毕后返回到调用者。 R15(PC):也被称为程序计数器,它保存着下一条要执行的指令的地址。每当一条指令被执行,PC都会自动更新为下一条指令的地址。 这三个寄存器在ARM架构中起着非常重要的作用,它们使得ARM处理器能够执行复杂的控制流操作,如函数调用、循环和条件分支。希望这个解答能帮助你理解ARM通用寄存器中的这三个寄存器的特殊功能和作用。 六、ARM工作模式有哪些 ARM处理器有以下7种工作模式: 用户模式(User, USR):这是正常程序执行模式,不能直接切换到其他模式。 系统模式(System, SYS):这个模式用于运行操作系统的特权任务,与用户模式类似,但具有可以直接切换到其他模式等特权12。 快速中断模式(Fast Interrupt, FIQ):这个模式用于支持高速数据传输及通道处理,FIQ异常响应时进入此模式。 中断模式(Interrupt, IRQ):这个模式用于处理通用中断,IRQ异常响应时进入此模式。 管理模式(Supervisor, SVC):这是操作系统使用的保护模式,系统复位和软件中断响应时进入此模式。 终止模式(Abort, ABT):这个模式用于支持虚拟内存或存储器保护。 未定义模式(Undefined, UND):这个模式用于支持硬件协处理器的软件仿真。 七、表示递增和递减的满堆栈和空堆栈有哪几种组合,请比较它们的特点 有4种类型的堆栈,
点赞 6
评论 2
嵌入式软件
春招
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
05-26 21:23
江南大学 前端工程师
面试官隐身?自嗨式面试启动!
“好,接下来请你先自我介绍一下吧。”屏幕那头传来一道冷静的男声,而腾讯会议右半边仍然是漆黑的,只有中间有个可爱的卡通头像。这是我第一次碰到没有开摄像头的面试官但不得不说,这种“单向透明”的面试,压力确实小了很多啊...看不到表情审视和眼神压迫,感觉自己直接e值雷达启动启动启动!全程看着电脑左半边自己那面试时动不动傻笑的脸然后越说越嗨!上述纯碎碎念 下附今日小厂面筋 和 上周四牛客网AI面面筋(加点孜然面筋更好吃)华顺信安一面自我介绍讲讲git常用的指令(越多越好啊,疯狂输出9个还讲了区别然后突然想不起来了遂停止)行内元素和块级元素分别有哪些localStorage、sessionStorage...
牛客473059135号:
这也太幸运了,接好运,我遇到的面试官都是紧紧的盯着我那种,问我问题的时候我觉得应该看着他但是一看着他就紧张,人麻了
查看29道真题和解析
面试问题记录
牛客创作赏金赛
点赞
评论
收藏
分享
05-25 00:17
35岁程序员失业?真相来了!这行真不靠青春吃饭!
35岁程序员失业?真相来了!这行真不靠青春吃饭!最近总有人说程序员是"青春饭",其实这是个天大误会!看看那些互联网大佬,马化腾40岁才带QQ起飞,李彦宏38岁创办百度,哪个不是大器晚成?中国程序员群体也就二十多年历史,现在满大街跑的大佬哪个不是"高龄"从业者?要说中年危机,卖煎饼的大爷也比程序员焦虑。我认识的老张45岁转行开五金店,老李38岁考公务员,这都是正常职业转型。真正在敲代码的中年程序员,要么带着团队搞企业级系统开发,要么自己当老板接项目,人家早把工牌换成了CEO名片。最近走访几家做工业软件的公司发现,核心工程师平均年龄38岁。▲ 图源回收帮ht...
投递米其林等公司7个岗位 >
点赞
评论
收藏
分享
05-23 20:31
已编辑
武汉大学 Java
27届985本,想在武汉找个实习😭,需要注意些什么
内向的柠檬精在研究求职打法:
注意把武大标粗标大
本地你俩不是乱杀
实习进度记录
不给转正的实习,你还去吗
点赞
评论
收藏
分享
05-03 09:08
已编辑
江西工业贸易职业技术学院 运营
兄弟们,这个简历投15k-40k的能过吗,要修改什么吗,我感觉有点low了😓或者简历需要怎么补充,达到高新要求需要往哪个方向走
迷茫的大四🐶:
自信一点,我认为你可以拿到50k,低于50k完全配不上你的能力,兄弟,不要被他们骗了,你可以的
点赞
评论
收藏
分享
05-23 21:11
北京邮电大学 Java
快手测开一面
1、自我介绍,5mins2、项目介绍,5mins3、登录界面测试用例可参考https://www.cnblogs.com/jxuan/p/14785570.html4、OSI的7层模型详细介绍了每层,作用,协议5、实验室项目最大问题,怎么解决6、实验室项目中的测试用例7、数据清洗了解过吗,你是怎么做的8、实验室项目中怎么处理噪声9、K-means聚类(他们是做视频特征分类业务)10、tcp和udp说一说11、测试开发的相关知识-黑盒白盒12、论文创新点手撕:前缀和:求数组和为k的子数组数量反问:建议;面试流程(2+1);工作强度(早10-晚9-5天)当晚约二面
快手二面446人在聊
查看13道真题和解析
面试问题记录
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
3
分享
评论
提到的真题
返回内容
招聘动态
查看更多
国央企投递合集(含实习)
26届投递链接合集
快手
25届补录+26届实习
26届实习内推合集
华泰Fintech星战营
京东TGT
全站热榜
更多
1
...
我的校园恋爱正式结束了
1.2W
2
...
这次是真的告别了!
9374
腾讯暑期补捞
热聊中
3
...
极限春招小结
7235
4
...
坐我后面的妹妹被拉走了!!
6691
5
...
找工作找到厌倦了,晒一下毕业照吧!
6354
6
...
从后端的角度聊一聊:2728届想要搞开发的同学现在最应该干什么?
6336
7
...
实习生崩溃瞬间
5642
8
...
毕业照和春招结束代表着我的学生时代落幕了
5190
9
...
26届找不到暑期实习也不必太焦虑!!!!
5047
10
...
🐶狗应该比我适合当产品经理
4487
创作者周榜
更多
正在热议
更多
#
写给毕业5年后的自己
#
2931次浏览
58人参与
#
海信求职进展汇总
#
64003次浏览
355人参与
#
华泰证券Fintech星战营
#
167272次浏览
190人参与
#
职场捅娄子大赛
#
313703次浏览
3226人参与
#
HR问:你期望的薪资是多少?如何回答
#
39133次浏览
521人参与
#
华为求职进展汇总
#
4638791次浏览
28236人参与
#
如果今天是你的last day,你会怎么度过?
#
21846次浏览
197人参与
#
当下环境,你会继续卷互联网,还是看其他行业机会
#
107385次浏览
778人参与
#
好好告别我的学生时代
#
36078次浏览
760人参与
#
晒晒我司的端午福利
#
14107次浏览
99人参与
#
实习/项目/竞赛奖项,哪个对找工作更重要?
#
82126次浏览
1108人参与
#
参加完秋招的机械人,还参加春招吗?
#
47122次浏览
544人参与
#
金融财经春招备战日记
#
19021次浏览
127人参与
#
视觉/交互/设计百问百答
#
42548次浏览
427人参与
#
晒一下我的毕业照
#
28547次浏览
305人参与
#
如何缓解求职过程中的焦虑?
#
5978次浏览
90人参与
#
上班苦还是上学苦呢?
#
221840次浏览
1326人参与
#
记录实习开销
#
21717次浏览
168人参与
#
如果中了500万,你会离职吗?
#
81351次浏览
649人参与
#
工作两年想退休了
#
119042次浏览
1115人参与
#
金融银行面经
#
73378次浏览
519人参与
牛客网
牛客企业服务