18 个最热门的嵌入式系统面试问题及答案

这里列出了有关嵌入式系统的问题和答案,可以帮助新手和经验丰富的求职者获得他们梦想的工作。

 

面向新生的嵌入式系统面试问题和答案

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

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


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

嵌入式系统可以用相对便宜的微处理器取代几十个甚至更多的硬件逻辑门、输入缓冲器、定时电路、输出驱动器等。

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


3) 提及嵌入式系统的基本组件有哪些?

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

  • 硬件
  • 处理器
  • 内存
  • 定时器
  • 输入/输出电路
  • 系统应用专用电路
  • 软件
  • 它确保系统内存的可用性
  • 它检查处理器速度的可用性
  • 需要限制系统连续运行时的功率损失
  • 实时 Opera系统
  • 它按照调度运行一个进程,并从一个进程切换到另一个进程

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

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

  • 串行
  • 并行
串行 输入 输出
Sync时间: 音频/视频信号 音频/视频信号
异步: 键盘、鼠标、调制解调器 打印机、调制解调器
并行 输入 输出
單位: 旋转、阈值传感器 脉冲至外部电路
多位: 来自 ADC、传感器的 Vp 液晶显示屏、打印机

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

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

嵌入式面试问题和答案


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)解释什么是信号量?

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

  • 共享内存空间
  • 共享文件访问权限

16)解释互斥锁和信号量之间的区别是什么?

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

17) 什么时候必须使用递归函数?请说明当递归函数被声明为内联时会发生什么?

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


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

Semaphore 或 Mutex 不能用于 Linux 内核中的中断上下文。而自旋锁可用于中断上下文中的锁定。

这些面试问题也会对你的口试有帮助