MPS - 嵌入式软件工程师 - 笔试

❗❗如果本文对您有帮助,请不要吝啬您的评论、点赞、收藏与小花,这对我非常重要!谢谢!❗❗

alt

本文所涉及的题目均为基于个人学习和理解重新表述的内容,仅供学习交流之用,不代表任何实际考试题目。如有雷同,纯属巧合。

岗位:嵌入式软件工程师(成都)

题型:10 道填空题,3 道编程题,4 道问答题

1、填空题

1.1

一些代码量较小的函数可以使用关键字 (1) 说明该函数是内联函数,其优点 (2),缺点 (3)

解答:

  1. inline
  2. 减少函数调用开销,提高程序运行效率
  3. 可能导致代码膨胀,增加编译后的代码体积

1.2

假设串口波特率为 9600,设置数据位 8,起始位 1,奇偶校验位 1,停止位 2。则每秒钟串口可以传输 (1) 个字节数据。

解答:

  1. 800

1.3

知某外设的基地址为 0x800_0000,内部控制寄存器信移地址 0x8000,请用一条指令设置控制寄存器的BIT[6:7] 位域清零,其它位不变 (1)

解答:

  1. BIC [0x8008000], #0xc0

1.4

Linux下常用命令使用:

  1. 新建一个名字为 Test 的目录:(1)
  2. 删除内有文件和子目录的名字为 Test 的目录:(2)
  3. 列出当前目录下的所有文件和子目录:(3)

解答:

  1. mkdir Test
  2. rm -r Test
  3. ls

1.5

在 ARM M0 MCU 编程开发环境中,下面结构体变量 a 所占内存大小是(1)

struct Member {
    char name[30];
    int age;
    double score;
} a = {"Lucky", 18, 90.5};

解答:

48

1.6

FreeRTOS 是一种实时可抢占式操作系统,FreeRTOS 内核采用的调度算法(1)

解答:

  1. 时间片轮询的优先级抢占式调度算法

1.7

正常的中断服务程序中,其最后执行的一条指令是(1),中断服务程序的入口地址是(2)

解答:

  1. BX LR
  2. 0x08000000

1.8

有数组 int a[X]; 其中 x 为大于 0 的某一未知常数,请用通用公式计算出数组长度等于:(1),所占内存大小:(2)

解答:

  1. sizeof(a) / sizeof(a[0])
  2. sizeof(a)

1.9

MCU 中一个 12bit 精度 adc 模块,参考电压为 3.3V,采样电路使用 90.9K/10K 电阻分压,请使用宏定义一个函数,根据 ADC 采样结果 x,求解实际被采样电压(单位:mV)大小:(1)

解答:

#define ADC_TO_VOLTAGE(x) (x)*3300*1009 / (4096*10)

1.10

I2C 是一种串行通信协议,用于在芯片之间传输数据。其起始信号 SCL 和 SDA 变化是:(1)

解答:

  1. SCL 保持高电平,SDA 产生下降沿

2、编程题

2.1

题目:

请根据流程图用伪代码实现状态机切换及事件响应。

解答:

Click to view image

#include <stdio.h>
#include <stdbool.h>
#include <time.h>

// 定义状态枚举
typedef enum {
    IDLE_STATE,
    PE_SEND_ALERT,
    PE_WAIT_FOR_GET_STATUS,
    PE_GIVE_STATUS
} State;

// 定义事件枚举
typedef enum {
    EVENT_TIMEOUT,
    EVENT_RX_CMD_SEND_ALERT,
    EVENT_TX_ALERT_MSG_SUCCESS,
    EVENT_RX_GET_STATUS_MSG,
    EVENT_TX_STATUS_MSG_SUCCESS,
    EVENT_TX_RETRY_FAILED
} Event;

// 当前状态
State currentState = IDLE_STATE;

// 状态机函数
void stateMachine(Event event) {
    switch (currentState) {
        case IDLE_STATE:
            if (event == EVENT_RX_CMD_SEND_ALERT) {
                currentState = PE_SEND_ALERT;
            }
            break;

        case PE_SEND_ALERT:
            if (event == EVENT_TX_ALERT_MSG_SUCCESS) {
                currentState = PE_WAIT_FOR_GET_STATUS;
            }
            else if (event == EVENT_TX_RETRY_FAILED) {
                currentState = IDLE_STATE;
            }
            break;

        case PE_WAIT_FOR_GET_STATUS:
            if (event == EVENT_RX_GET_STATUS_MSG) {
                currentState = PE_GIVE_STATUS;
            }
            else if (event == EVENT_TIMEOUT) {
                currentState = I

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

欢迎来到我的专栏,在这里,我将整理并分享2024年各大企业的真实笔试/面试真题,同时还整理了嵌入式软件相关的八股知识。专栏内容涵盖C/C++基础、嵌软常见通信协议、ARM、FreeRTOS、Linux OS相关问题汇总,希望能帮助求职者了解考试趋势和嵌入式常见考点。无论你是准备面试,还是希望提升自己的专业知识,这里都能为你提供宝贵的参考和学习资源。

全部评论

相关推荐

思特威AI芯片工程师一面面经思特威——面经timeline岗:数字ic目前进度:正式offer除了迪✌🏻的唯一一个offer😭感谢老思。秋招期间在牛客看了很多面经贴,快成老家了,发个面经贴攒攒人品。笔试:8.23常见八股加一道智力题,原来貌似倒计时一个小时但是计时结束也不会强制提交,现在同门反馈是会强制提交了。一面:技术面&nbsp;9.5&nbsp;30min总体来说氛围比较轻松,结合项目询问低功耗处理方法和异步处理方法,让讲了个异步fifo,会询问代码量之类的。二面:部门主管面&nbsp;9.21&nbsp;30-40min探讨了我项目中所负责的模块的实际应用场景(可能相比起技术细节会更偏向于对IP应用的思考)我的项目多是数模结合的模块,因此也追问了数模结合项目对于个人求职中的优势。整体下来更多是在询问在项目中担任的角色和对自己项目模块高层次的掌握程度。反问问了面试官身份,工作内容和项目中的重难点三面:hr面10.11&nbsp;45min(没想到是最久的)谈了下入职之后的培训,公司发展情况和业务情况,以及可能的薪资待遇,照常询问了一下现有的offer和等待的机会。反问环节确认了一下自己的排序情况。第二天oc,过几天收到了offer使用内推码简历优先筛选,有任何问题包括进度查询可以私信我,内推后在评论区留言【姓名缩写+岗位】,方便捞人和确认投递状态思特威电子科技2025春招今日启动【公司介绍】思特威(上海)电子科技股份有限公司是一家从事CMOS图像传感器芯片产品研发、设计和销售的高新技术企业,总部设立于中国上海,在多个城市及国家设有研发中心 【春招岗位】技术(算法、AI工程师、测试、开发等)、销售(芯片销售)、运营(资源工程师、生产管培生)、职能(行政、合规)等 【工作地点】上海、深圳、昆山 【面向人群】25届海内外毕业生【薪酬待遇】丰富的薪酬结构,行业领先的薪酬回报、上海快速落户、丰富的员工福利、完善的应届生培养体系内推链接:https://app.mokahr.com/m/campus_apply/smartsenstech1/56088?recommendCode=DS6Y4M6c&amp;amp;amp;hash=%23%2Fjobs#/jobs内推码:DS6Y4M6c(简历优先筛选,后续有疑问或者流程问题欢迎随时联系) 使用内推码简历优先筛选,有任何问题包括进度查询可以私信我,内推后在评论区留言【姓名缩写+岗位】,方便捞人和确认投递状态 #春招#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#内推#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#内推码#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#秋招#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#思特威#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#简历中的项目经历要怎么写#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
点赞 评论 收藏
分享
思特威AI芯片工程师一面面经思特威——面经timeline岗:数字ic目前进度:正式offer除了迪✌🏻的唯一一个offer😭感谢老思。秋招期间在牛客看了很多面经贴,快成老家了,发个面经贴攒攒人品。笔试:8.23常见八股加一道智力题,原来貌似倒计时一个小时但是计时结束也不会强制提交,现在同门反馈是会强制提交了。一面:技术面&nbsp;9.5&nbsp;30min总体来说氛围比较轻松,结合项目询问低功耗处理方法和异步处理方法,让讲了个异步fifo,会询问代码量之类的。二面:部门主管面&nbsp;9.21&nbsp;30-40min探讨了我项目中所负责的模块的实际应用场景(可能相比起技术细节会更偏向于对IP应用的思考)我的项目多是数模结合的模块,因此也追问了数模结合项目对于个人求职中的优势。整体下来更多是在询问在项目中担任的角色和对自己项目模块高层次的掌握程度。反问问了面试官身份,工作内容和项目中的重难点三面:hr面10.11&nbsp;45min(没想到是最久的)谈了下入职之后的培训,公司发展情况和业务情况,以及可能的薪资待遇,照常询问了一下现有的offer和等待的机会。反问环节确认了一下自己的排序情况。第二天oc,过几天收到了offer使用内推码简历优先筛选,有任何问题包括进度查询可以私信我,内推后在评论区留言【姓名缩写+岗位】,方便捞人和确认投递状态思特威电子科技2025春招今日启动【公司介绍】思特威(上海)电子科技股份有限公司是一家从事CMOS图像传感器芯片产品研发、设计和销售的高新技术企业,总部设立于中国上海,在多个城市及国家设有研发中心 【春招岗位】技术(算法、AI工程师、测试、开发等)、销售(芯片销售)、运营(资源工程师、生产管培生)、职能(行政、合规)等 【工作地点】上海、深圳、昆山 【面向人群】25届海内外毕业生【薪酬待遇】丰富的薪酬结构,行业领先的薪酬回报、上海快速落户、丰富的员工福利、完善的应届生培养体系内推链接:https://app.mokahr.com/m/campus_apply/smartsenstech1/56088?recommendCode=DS6Y4M6c&amp;amp;amp;hash=%23%2Fjobs#/jobs内推码:DS6Y4M6c(简历优先筛选,后续有疑问或者流程问题欢迎随时联系) 使用内推码简历优先筛选,有任何问题包括进度查询可以私信我,内推后在评论区留言【姓名缩写+岗位】,方便捞人和确认投递状态 #春招#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#内推#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#内推码#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#秋招#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#思特威#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#简历中的项目经历要怎么写#&nbsp;&nbsp;&nbsp;
点赞 评论 收藏
分享
评论
2
4
分享

创作者周榜

更多
牛客网
牛客企业服务