影石嵌入式驱动开发面经

1.C语言的编译过程原理
2.void*类型指针作用是什么,对比char*、int*等有什么优势
3.大端模式和小端模式,内存对齐(char、int、char的结构体32位系统中占用多少个字节)
4.SPI的四种模式,SPI如何和从机通信(通信协议帧)、如何实现一主多从(多条SS片选线)
5.I2C通信协议数据帧(指定地址写、当前地址读)、硬件如何连接
6.I2C通信挂死如何进行排查(软件、硬件两方面)
7.I2C上拉电阻选择?如果通信过程出现低电平0.4V高电平2.6V等中间电平原因是什么?
8.I2C多主多从模式介绍,多主多从如何总线仲裁
9.单链表和数组的区别,单链表如何删除和增加节点?对应时间复杂度是?对比数组,链表在内存中排布规律?
10.UART通信数据帧、奇偶校验、硬件流控、异步or同步?
11.UART误码率是什么,出现通信错误的原因排查(软件、硬件两方面)
12.UART对应的三种电平协议(TTL、RS232、RS485),以及他们的特点、分别适用于哪些应用场景?
13.CAN通信一主多从的总线仲裁(线与逻辑)
14.volatile关键字、RTOS中volatile应用场景
全部评论
老哥你项目就是iic spi uart吗 感觉问的好多
点赞 回复 分享
发布于 昨天 17:46 四川
考的有点细啊
点赞 回复 分享
发布于 今天 11:24 广东

相关推荐

今天 00:38
已编辑
蚌埠坦克学院 嵌入式工程师
7.31投递,8.7约面,8.11一面如下:1、自我介绍2、如何理解堆和栈?3、在裸机或者RTOS中,有什么比较快速的方法去精确确定一个任务或者整个系统里面栈的 最大使用深度 是多少,如何运行一段时间后查看栈用了多少?4、什么情况下栈内容会变化?5、CPU保存现场(函数嵌套、中断等场景下)都是保存什么信息?6、系统异常(比如进入HardFault)如何定位源头?7、说一下MCU启动的过程,从上电到跑到main函数8、全局变量的初始化过程是在哪里初始化的?9、看你项目里用串口挺多的,说一下你是怎么用串口的?(DMA、缓冲区、中断)10、DMA的全满中断和串口空闲中断(当二者都满足触发条件时)会同时将标志位置位然后触发吗?(我答的是先DMA全满再空闲,因为打日志看过,但好像没答到点子上)11、继续10中的场景,当满足触发这两个中断的条件后,我把中断给关了10个字节的时间之后再打开(或者说更高优先级的中断一直把系统阻塞住了),DMA和空闲中断的标志位都还在,这时CPU可能需要仲裁一下,这会对你的驱动有影响吗?如果要没有影响的话需要怎么做?(没太懂这个提问的意思)12、说一下RTOS的运行机制?13、进程任务的切换时机?14、系统 如何/什么时候 得知高优先级任务准备好了?(涉及底层实现原理吧)15、详细说一下某个项目16、系统中微秒级的延时是怎么实现的?17、IIC中时序的延时是如何实现的?18、软件IIC造成的CPU被多次阻塞,中断会造成这些延时的滞后,这些对IIC的读取有影响吗?19、IIC时钟不均匀会对通信有影响吗?20、讲讲使用cmbacktrace定位到的一些实际的问题案例21、数组越界一定会产生hardfault吗?不产生Hardfault的话会有什么其他的影响吗?22、你做Bootloader时,你觉得其最重要的功能是什么?23、Bootloader跳转过程中DMA要关吗?24、说一下低功耗怎么做的?超低功耗Standby模式想唤醒应该如何唤醒?25、介绍一下软件通信协议是怎么设计的(串口协议栈)?如何去优化协议栈的设计?无手撕,反问环节问了一些上面没答出来的点一面总结:根据简历上的项目,由八股为切入点深挖底层,甚至好多问题我都不明白要答什么还是很难的,感觉和传说中的大疆面试差不多了,很深挖。最难的是会根据你当前的场景给你些假设,让你回答会发生什么注:上面的提问点与项目高度相关,并不是纯八股,仅供参考--------------------------------------------------------------------------------------------------
投递大疆等公司10个岗位
点赞 评论 收藏
分享
评论
2
13
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务