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

从事嵌入式,纯技术涉及到的内容主要是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道真题和解析
点赞 评论 收藏
转发
16 109 评论
分享
牛客网
牛客企业服务