我嘞个豆,嵌入式?嵌入式面经

从事嵌入式,纯技术涉及到的内容主要是C语言、arm、STM32驱动、FreeRTOS、Lwip等等。电子电气方向涉及到的主要是:485、232、串口、DCDC\ACDC、网络通信、数据处理。
C语言:
1.static 关键字的作用、使用方式:
全局静态变量:
全局静态变量使用范围是该.c文件所有位置。
局部静态变量:
局部静态变量使用范围是该函数,且只会在初始化时申明一次,后续变化只能通过赋值。
静态函数:
函数调用范围只限制于该.c。
2.volatile关键字的作用:

笼统的讲,volatile关键字就是让程序每次都去寄存器中获取该字段的值,保证了数据变量的准确性。
什么时候用到该关键字?
1.变量是全局变量,且多个线程同时操作该变量的时候。
2.中断中处理的数据变量。
3.硬件寄存器中的数据。
3.const关键字的作用:
4.main函数之前进行了什么操作?
简单来说就是各种初始化操作。
5.堆和栈有什么区别?
什么是堆?什么是栈?他们之间有什么区别和联系? -
STM32:

1.串口数据接收是怎么处理的?

串口数据处理有两种方式:
1.通过串口中断接收到数据后,将数据放置环形缓存或队列中,待数据处理函数进行处理时进行处理。(RTOS)
2.通过轮询,时间片方式调度串口寄存器判断是否有数据,有数据则放入缓存待处理。(裸机)
FreeRTOS:
1.简述一下什么是RTOS系统

FreeRTOS为例,RTOS系统是以抢占优先级为主,时间片为辅实现任务调度的操作系统,主要核心上实现的是任务调度的功能,使任务具有实时性。

2.在任务中怎么进行数据传输?什么方式?

任务间数据传输一共有三种形式,用的最多的是消息队列,其次是全局变量和信号量。
1.消息队列发送数据的方式可以是发送数据本身和发送数据的地址指针。
2.全局变量使用供所有任务获取和处理,但全局变量占用内存较多,而且不好管理。
3.信号量一般作为标志位使用。
最后呢问题还有很多,我都整理到我的面经里去了,可以关注我更新最新的嵌入式面经
全部评论
感谢博主的分享
点赞
送花
回复
分享
发布于 2023-10-20 15:41 北京

相关推荐

#通信硬件人笔面经互助# RT,虽然刚面完,但是我已经知道自己凉了没想到美帝良心想居然还有应届HC(base天津)流程:一.面试官介绍公司:base在哪、干啥业务、这个职位是什么二.自我介绍三.八股(C基本的数据结构、算法思想没问,纯C的八股 挺友好的)    1.说一下链表 和 数组的存储形式        1.1说一下各自的优缺点,适合解决什么问题    2.二维数组a[4][4]的前6的元素是什么    3.(忘了啊,因为C是面向对象,也没虚函数、旗子继承这些问题来轰炸)应该是个链表的?很简单    4.怎么向函数中传数组?说一下形参、实参分别是什么四.手(口)撕代码    最短的时间内,打引string(注意我这里对字符串的称谓)中最长的子串(用空格间隔开)        不知道啥是最短时间啊...双指针嗯做试下?就说了下思路,然后面试官让【详细】地说一下coding(定义了哪些变量,每一步怎么做都说)        最重要地一点:只能用C语言(我说C语言打引都能说成“print……不对,printf”的人,口撕限定语言题,场面可想而知)    最后面试官都笑了(挺和蔼的老阿姨,戴着大耳包耳机🎧)五.反问    Q:C语言是刚需吗?(纯作死)    A:是的,我们可能会不怎么用汇编,但我们必须要用C  CPP没用过    Q:后面转C可以吗    A:必须要转如果老阿姨是活菩萨就好了,希望能进二面(进了二面我必然废除全身CPP武功以表诚意)#牛客解忧铺##牛客在线求职答疑中心##数据人的面试交流地##联想#
点赞 评论 收藏
转发
1. 嵌入式系统中,如何通过中断机制实现快速响应外部事件?2. 在ARM架构下,如何使用NVIC管理不同优先级的中断?3. bootloader和操作系统内核的加载顺序是什么?4. 如何利用DMA实现高效的外设数据传输?5. 定时器子系统有哪些常见的用途?6. ARM体系结构支持哪些不同的内存一致性模型?7. FLASH存储有哪些特点?8. 在ARM体系结构下,如何利用CMSIS库简化外设驱动的开发和移植?9. 嵌入式系统通常会采用哪些通信总线?10. 在嵌入式系统设计中,如何权衡使用RTOS还是裸机系统?11. 如何配置交叉编译环境?12. 如何利用版本控制工具(如Git)进行协同开发?13. 如何利用SIMD指令集提高运算性能?14. 如何合理地划分硬件和软件的边界?15. 如何利用ADC实现高精度的数字化采集?16. 如何利用看门狗定时器实现系统的健壮性和容错性?17. 如何利用RTOS提供的调度机制满足实时性需求?18. 如何利用设计模式提高代码的可维护性和扩展性?常见的设计模式有哪些?19. 实现复杂的通信协议,如何利用状态机模型简化协议栈的设计和实现?20. FPGA和MCU的异同点是什么?如何进行硬件软件协同?21. 需要处理大量的传感器数据,如何利用数据融合算法提高数据的可靠性和准确性?22. 如何利用代码静态分析工具提高代码质量?常见的静态分析工具有哪些?23. 如何利用加密算法保护系统关键数据的机密性和完整性?24. 如何利用RTOS提供的进程/线程机制实现并发编程?常见的同步机制有哪些?25. 如何设计安全可靠的数据传输协议?常见的物联网协议有哪些?26. 如何利用JTAG调试接口进行硬件和软件的联合调试?JTAG的工作原理是什么?27. 如何利用图形库(如emWin、uGUI等)进行UI开发?28. 如何利用RTOS提供的文件系统API实现对存储设备(如SD卡)的读写操作?29. 利用SIMD指令集提高运算性能?SIMD有什么特点?30. 代码覆盖率分析工具评估测试的充分性?常见的覆盖率指标有哪些?  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看30道真题和解析
点赞 评论 收藏
转发
#软件开发2024笔面经#本次春招没有笔试,直接就进行了面试。面试主要是对个人综合能力的考核,对于专业内容的涉及并不是很多——这一点反倒很像国企的作风。我个人因为在面试中提到了嵌入式开发,所以面试官后续就将我推荐至底盘研发方向了。关于薪资的话,国科大被比亚迪当作了C9,这一点确实很好,让我短暂地体验了C9学生的感觉;但是我个人的专业不对口,所以非f——这样的话我就对应着C9非f硕的薪资。所以说比亚迪的薪资确实很明确,大家结合自己的学历来判断即可大差不差。面试情况上午10:30开始,持续30分钟左右。线下面试,2位面试官分别面试,为部门领导或员工;面试官很和蔼。首先做自我介绍;随后提问30分钟。提问问题你的专业具体是做什么的?毕业设计内容具体是什么,个人都做了哪些工作?毕业论文进展如何?本科和研究生阶段的专业是一致的吗?用MATLAB做过哪些工作?个人技术栈如何?为什么选择比亚迪?对汽车、新能源行业有何了解?个人职业未来发展方向规划如何?为什么选择软件研发方向?是否对嵌入式开发感兴趣?对其都有哪些了解?实习或项目经历中,遇到了哪些困难,你是如何解决这些困难的?在学习、项目经历中,经历过那些挫折,你是如何克服它的?都用过哪些专业软件或工具?个人性格是如何的?对自己的个人评价是如何的?个人有哪些兴趣爱好?都投递过哪些单位?目前都有哪些Offer?家在哪里?个人对于城市的选择有何看法?是独生子女吗?家长对于你工作城市的选择有何想法?(接下来换第2位面试官)。数学建模经历都是如何的?都做过哪些工作?地理信息科学专业是做什么的?所用遥感数据是源自哪里的?你的毕业设计主要是解决什么问题的?为什么需要这些内容?你都做了哪些工作?毕业设计中,数据格式是如何的?如何确定需要重建的数据有哪些?具体是如何重建的?国外已有类似的相关数据,为什么需要重新重建得到新的数据?面试结束反问如何确定入职后从事岗位的方向?具体工作内容都有哪些?公司内是否有导师带领新员工熟悉工作?反馈情况面试结束1周后,收到Offer。
查看21道真题和解析 软件开发2024笔面经
点赞 评论 收藏
转发
16 109 评论
分享
牛客网
牛客企业服务