嵌入式系统面试题和答案 Top 18

本文为初学者和有经验的候选人准备了嵌入式系统问题和答案,帮助他们找到梦想的工作。

 

面向初学者的嵌入式系统面试问题与答案

1) 解释什么是计算机系统中的嵌入式系统?

嵌入式系统是计算机系统的一部分,嵌入式系统是较大系统或机器的一部分。它是一个在较大的电气或机械系统中具有专用功能的系统。


2) 嵌入式系统有什么用?

有了嵌入式系统,就可以用相对便宜的微处理器替换数十甚至更多的硬件逻辑门、输入缓冲器、定时电路、输出驱动器等。

👉 免费 PDF 下载:嵌入式系统面试问题与答案


3) 请列出嵌入式系统的基本组成部分。

嵌入式系统的基本组成部分包括

  • 硬件
  • 处理器
  • 内存
  • 定时器
  • I/O 电路
  • 系统特定应用电路
  • 软件
  • 它确保了系统内存的可用性
  • 它检查处理器速度的可用性
  • 连续运行系统时限制功耗的需求
  • 实时操作系统
  • 它根据调度运行进程,并在进程之间进行切换

4) 请说明嵌入式系统的 I/O 设备是如何分类的?

嵌入式系统的 I/O 设备分为两类

  • 串行
  • 并行
串行 输入 输出
同步 音视频信号 音视频信号
异步 键盘、鼠标、调制解调器 打印机、调制解调器
并行 输入 输出
单比特 旋转、阈值传感器 脉冲发送至外部电路
多比特 ADC、传感器输出 LCD、打印机

5) 解释什么是实时嵌入式系统?

实时嵌入式系统是监控、响应或控制外部环境的计算机系统。该环境通过执行器、传感器和其他输入-输出接口与计算机系统连接。

Embedded Interview Question And Answers


6) 解释什么是微控制器?

微控制器是一个独立的系统,包含外围设备、内存和处理器,可以用作嵌入式系统。


7) 请说明微处理器和微控制器有什么区别?

微处理器是管理其架构之外的资源(I/O、内存)的管理器

微控制器内置 I/O、内存等,专门为控制而设计


8) DMA 地址会处理什么?

DMA 地址处理物理地址。它是一种在数据传输期间直接驱动数据和地址总线的设备。因此,它是纯粹的物理地址。


9) 解释什么是中断延迟?如何减少它?

中断延迟是指在处理特定中断后返回中断服务例程所需的时间。通过编写简短的 ISR 例程,可以减少中断延迟。


10) 请说明嵌入式系统中用于通信的总线是什么?

对于嵌入式系统,用于通信的总线包括

  • I2C:用于多个 IC 之间的通信
  • CAN:用于汽车中央控制网络
  • USB:用于 CPU 与鼠标等设备之间的通信

而 ISA、EISA、PCI 是 PC、计算机网络设备等中用于并行通信的标准总线。


面向有经验者的嵌入式系统面试问题与答案

11) 列出嵌入式系统中定时器的各种用途。

嵌入式系统中的定时器有多种用途

  • 系统的实时时钟 (RTC)
  • 在预设延迟后启动事件
  • 在预设时间比较后启动事件
  • 在事件发生时捕获定时器计数值
  • 在两个事件之间查找时间间隔
  • 多项任务的时间分片
  • 时分多路复用
  • RTOS 中任务的调度

12) 解释什么是看门狗定时器?

看门狗定时器是一种电子设备或电子卡,如果在电子系统出现问题时,它会在特定时间段后执行特定操作。


13) 解释嵌入式系统需要无限循环的原因。

嵌入式系统需要无限循环来反复处理或监视程序状态。例如,程序状态需要持续验证是否存在运行时可能发生的任何异常错误,如内存中断或零除以零等。


14) 列出嵌入式系统中一些常见的错误。

嵌入式系统中一些常见的错误包括

  • 内存设备因静电放电和瞬时电流而损坏
  • 地址线由于电路短路而故障
  • 数据线故障
  • 由于垃圾数据或错误导致某些内存位置在存储中无法访问
  • 内存设备插入内存插槽不正确
  • 错误的控制信号

15) 解释什么是信号量?

信号量是一种抽象数据类型或变量,用于在并发系统(如多程序操作系统)中控制多个进程对公共资源的访问。信号量通常用于两个目的

  • 共享公共内存空间
  • 共享文件访问

16) 解释互斥量和信号量有什么区别?

互斥量 信号量
互斥对象允许一个线程进入受控区域,迫使其他试图访问该区域的线程等待,直到第一个线程离开该区域 信号量允许多个访问共享资源
互斥量只能由已获取它的线程释放 信号量可以由任何其他线程或进程发出信号。
互斥量总会有一个已知的拥有者 而对于信号量,你不知道我们正在阻塞哪个线程
互斥量也是一种用于提供无死锁互斥的工具(消费者或生产者都可以获得密钥并继续工作) 信号量是一种同步工具,用于解决临界区问题
根据定义,互斥量是二元信号量,因此有两种状态:锁定或解锁 信号量通常被称为计数锁

17) 何时应使用递归函数?说明递归函数声明为内联时会发生什么?

递归函数可以在你知道递归调用次数不是过多的情况下使用。内联函数属性表示,无论何时调用,它都会复制该函数的完整定义。声明为内联的递归函数会给编译器的执行带来负担。


18) 解释在 Linux 内核中是否可以在中断上下文中实现信号量、互斥量或自旋锁?

在 Linux 内核的中断上下文中不能使用信号量或互斥量。而自旋锁可用于中断上下文中的锁定。

这些面试问题也将有助于您的口试