嵌入式软件面试核心点(1)

嵌入式这个范围也是比较广的,比如有的用MCU做裸机开发的,有的公司可能还在用单片机,有的是在MCU上基于RTOS进行开发的,有的是基于ubutun做bsp的,当然还有其他的,这些方向都不同的,面试笔试等准备点也就不一样了,下面我一一介绍

1.MCU裸机开发

裸机开发就需要从三个方向去了解,分别是总线控制方式(如SPI总线,UART,IIC总线等,要是深入的话还有USB等),MCU的控制方法(就是代码怎么写),其他器件如MCU外面接了一个IIC,要知道怎么控制这个IIC设备,下面分别看一下这三点。

    • 总线控制方法,每个总线都有不同的控制方式,如串口,对于软件来说,就考虑rx和tx(有时候还会有流控引脚),因此在对MCU的配置时,就需要要配置TX和TX的引脚复用功能,并使能对应引脚的时钟,同时串口协议中规定了起始位,停止位,校验等,注意没有时钟, 起始位:表示发送方要开始发送一个数据单元, 数据位是通信单元中发送的有效数据位数,校验位用来校验数据位,防止数据出错; 停止位是发送方用来表示通信结束的。
  • MCU,这个比较简单,现在的芯片厂都有提供的API接口,直接调用API就可以了,但需要怎么怎么调用,每个API什么含义,一些如UART怎么初始化,怎么配置引脚,怎么收发数据。我以串口为例来说一下,在配置引脚的时候,要配置串口的RX 和 TX 引脚对应的GPIO 时钟和 USART 时钟,并初始化 GPIO,要配置RX和TX的串口服用功能,配置 UART的参数(有停止位,硬件流控,奇偶校验,数据位等参数),配置UART的接收中断,最后使能串口,使能之后就可以调用收发API进行数据通信了,下图是我记录的一些API接口,供大家参考

  • 器件的控制,这个一般硬件的同时关注的更多,比如如何共地,如何供电并稳压,信号线如何设计来降低干扰等,是否需要上拉或者下拉电阻等,软件上就比较简单了,只需要关注信号线和时钟(针对有时钟的总线)等,在调试的时候,就需要测量信号线上的数据

上面是以串口为例子说明的,针对其他总线也一样,要知道这个总线怎么在MCU侧配置,配置好后,怎么收发数据,又怎么测量数据,知道这些外,在有些C语言基础,这些足够应付嵌入式MCU方面工作的校招了

全部评论

相关推荐

真tmd的恶心,1.面试开始先说我讲简历讲得不好,要怎样讲怎样讲,先讲背景,再讲技术,然后再讲提升多少多少,一顿说教。2.接着讲项目,我先把背景讲完,开始讲重点,面试官立即打断说讲一下重点,无语。3.接着聊到了项目的对比学习的正样本采样,说我正样本采样是错的,我解释了十几分钟,还是说我错的,我在上一家实习用这个方法能work,并经过市场的检验,并且是顶会论文的复现,再怎么不对也不可能是错的。4.面试官,说都没说面试结束就退出会议,把面试者晾在会议里面,丝毫不尊重面试者难受的点:1.一开始是讲得不好是欣然接受的,毕竟是学习。2.我按照面试官的要求,先讲背景,再讲技术。当我讲完背景再讲技术的时候(甚至已经开始蹦出了几个技术名词),凭什么打断我说讲重点,是不能听出人家重点开始了?这也能理解,每个人都有犯错,我也没放心上。3.我自己做过的项目,我了解得肯定比他多,他这样贬低我做过的项目,说我的工作是错误的,作为一个技术人员,我是完全不能接受的,因此我就和他解释,但无论怎么解释都说我错。凭什么,作为面试官自己不了解相关技术,别人用这个方式work,凭什么还认为这个方法是错的,不接受面试者的解释。4.这个无可厚非,作为面试官,不打招呼就退出会议,把面试者晾着,本身就是有问题。综上所述,我现在不觉得第一第二点也是我的问题,面试官有很大的问题,就是专门恶心人的,总结面试官说教,不尊重面试者,打击面试者,不接受好的面试者,技术一般的守旧固执分子。有这种人部门有这种人怎么发展啊。最后去查了一下,岗位关闭了。也有可能是招到人了来恶心人的,但是也很cs
牛客20646354...:招黑奴啊,算法工程师一天200?
点赞 评论 收藏
分享
评论
4
21
分享

创作者周榜

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