嵌入式面经汇总之30题

1.请解释嵌入式系统中的中断是什么,以及中断的处理过程。
2.请说明你在嵌入式开发中使用过的通信协议,以及你对这些协议的了解程度。
3.请解释嵌入式系统中的时钟和定时器的作用,以及你在项目中如何使用它们
4. 蓝牙协议栈是蓝牙通信中的核心组件,具有特定的架构和分层结构。请说明蓝牙协议栈的架构和分层。
5. 请说明蓝牙协议栈和网络协议栈之间的区别和对比。
6. 你在过去的项目中所使用的蓝牙芯片是否基于Linux或其他常用架构。
7. 你在过去的项目中所使用的蓝牙软件架构是什么类型。
8. 解释函数指针和指针函数。
9. Linux内核有不同的版本,请说明你熟悉的Linux内核版本。
10. 操作系统任务切换的关键是什么?请说明任务切换时需要保存和加载的内容。
11. 请描述你参与的项目,并介绍其中的难点以及你是如何解决的。
12. 栈和队列的知识,请说明你对栈和队列的理解。
13. 数组和链表是常见的数据结构,请说明你对数组和链表的理解。
14. static、vailate和const关键字,请说明你对这些关键字的理解。
15. 实现去除字符串中的空格。
16. 合并两个链表并按顺序排列。
17. 请解释计算机是大端还是小端的方法。
18. 在Linux中使用多线程,如何实现软件定时功能?。
19. 你参与的项目中的嵌入式开发工作,并说明其中的难点和你的解决方案。
20. 在函数中定义一个很大的数组时,应该直接定义还是使用malloc?
21. 请解释DMA的概念,以及在嵌入式开发中如何使用DMA。
22. 请说明SPI通信的过程,包括SPI的线数和速率配置。
23. 请介绍你在开发过程中使用过的stm32芯片的配置信息,包括CPU主频、Flash和RAM的大小。
24. 请介绍你在stm32上进行过的开发工作,并说明你开发过的驱动。
25. 你在开发调试过程中遇到的难以解决的问题,并分享你是如何解决的。
26. 请介绍你参与过的较大型软件开发项目,并说明你在项目中的角色和贡献。
27. 在中间层的设计中,你考虑了哪些因素?
28. 请解释进程通信中锁和同步的概念,以及你使用过的相关机制。
29. 当多个进程无法获取锁时,会进入什么状态?
30. 在优先级调度中,如果一个低优先级进程获取了锁,而高优先级进程无法获取锁,高优先级进程的状态会如何?
答案在下方专栏
全部评论

相关推荐

某家大公司 项目经理 基础工资在1w左右,另一个是月8k包吃住
点赞 评论 收藏
分享
一面:项目一1. 简历⾥⾯的两个项⽬哪⼀个你个⼈感觉对自己积累、成长以及技术栈掌握的⽐较好的?2. 这个项⽬,整体有多少⼈参与,你负责哪⼀部分以及对应的软硬件是怎么样的?3. 主站和从站之间是⼀个什么样的拓扑关系?4. 在这个项⽬过程中,你遇到过什么挑战或者难以解决的问题,最后你是怎么解决的?5. 那在这个项⽬做的时候,刚开始两个模块之间那个脉冲信号接收的硬件接⼝应该是没有定义的吧?是没有设置模块之间这样有⼀个接触的吧?后来为了实现从站的⾃我ID识别才加上去的?6. 那你们⼀开始这个从站ID是使用什么方案来确定的?7. 你说这个⽅案是为了让从站能够在不同数量和顺序变化情况下⾃动获取唯⼀ID,如果在实际使⽤当中抽掉⼀个从站或者中间少了⼀个,那它前后之间就没有接触,也就不能传递脉冲信号了,ID号也没办法确定,这个问题怎么解决的?8. 项目里的脉冲传递有没有遇到过那种误触的现象或者干扰信号抖动这类的?如果有,你是怎么解决的?9. 这套系统,主从之间是RS485通信,从站与从站之间会有⼀个串联或者串行的比如IO信号之类的吗?11. 你这个模拟量输⼊模块为什么要用⼀颗独立的ADC?12. 简单说⼀下项目中选用的AD7606芯片和STM32F051里面自带的ADC的差异体现在哪⼉?13. 针对你的项目,ADC需要多⼤的转换速率以及分辨率需要多少位有要求吗?14. 当模拟量转换为数字量之后,主机是怎么知道它已经转换完成?(会有什么信号提示呢?)15. 对于ADC,它转换速率,有没有可能会⽐较⾼,但是你的SPI如果通信速率⽐较慢,以及你MCU主控去采集这个ADC的结果周期间隔比较长的话,那ADC的转换速率可能限制并不在它自身,而是在于你这个系统的读取时间?16. SPI你是怎么配置的?它速率配置多少?然后有没有⽤中断或者是DMA这些功能。17. SPI的通讯速率⼤概能到什么样⼀个范围?18. SPI是用DMA去读的吗?19. ADC数据采集你在软件上是怎么去做的?20. DAC:GP8301的相关参数?21. 如何输出模拟量?项目二:1. 你对RT-Thread这个操作系统有什么了解或者说⻅解?2. 这个项目为什么要考虑上操作系统?3. 这个系统的API移植都有了解吗?4. 系统要跑起来的话,你需要去在移植过程当中,着重去实现哪些东西?5. 创建⼀个任务,需要配置哪些参数?6. 你创建⼀个任务的时候为什么要去给他分配堆栈大小?为什么7. 任务调度过程当中,CPU在做什么?8. 简单讲⼀下从当前任务切换到下⼀个任务的过程。9. 你在移植RT-Thread提供的IIC驱动时,为了防止出现防止多个任务或线程同时访问同⼀个I2C总线的问题,你通过禁用中断的方式来保护I2C传输,那么关闭中断需要特殊去考虑⼀些什么因素吗?单片机:1. STM32F051和STM32F103有什么区别?2. ARM Cortex-M0内核和ARM Cortex-M3内核有什么差异?3. MCU,它除了内核之外,还有⼀些常用的寄存器,能简单说⼀说吗?4. 中断发⽣及处理的整个过程是什么?5. 处理器怎么查找中断向量表6. 你在实际开发中数组和指针的相互使⽤有没有什么特别的使用体验或者说遇到过什么问题,可以举例说明?二面:主要以综合面试为主,大部分都是底层相关的问题和平常开发中的遇到的一些bug怎么解决的。
查看35道真题和解析
点赞 评论 收藏
分享
9 65 评论
分享
牛客网
牛客企业服务