把常见的硬件面试题进行总结,方便及时巩固复习。其中包括网络上的资源、大佬们的大厂面试题,其中可能会题目类似,加强印象即可。
更多硬件面试题:
硬件工程师面试题 1-10
硬件工程师面试题 11-20
21、单片机最小系统需要什么?
单片机最小系统是指能够使单片机芯片正常运行并发挥其功能所必需的最少硬件电路集合。它主要由以下几个关键部分组成:
- 电源:为单片机提供稳定的直流电源供电,确保单片机能够正常工作。常见51系列通常需要5V直流电源,STM32系列需要3.3V。
电源电路可能包括直流电源稳压模块、滤波电容以及电源指示灯等元件,其中直流电源稳压模块用于将输入的交流电转换为稳定的直流电,滤波电容则用于滤除电源中的杂波干扰。- 时钟(晶振)电路:是单片机正常运行的关键部分。提供了单片机运行所需的时钟信号,用于单片机的计时、延时、同步等操作,是单片机内部各部件协调工作的基础。
通常由晶振和相关的电容、电阻等元件组成,能够产生稳定的频率信号,确保单片机按照预定的时间周期执行指令。典型的晶振频率有11.0592MHz和12MHz等。- 复位电路:在单片机上电初期或发生异常情况时,复位电路能够确保单片机处于一个可控的初始状态,避免系统启动时出现异常。
通常由复位按钮、电容和电阻等元件组成。当复位按钮被按下时,复位电路会产生一个高电平信号,使单片机内部各电路状态恢复到确定的初始值,并从这个状态开始工作。
22、FreeRTOS移植最重要的是什么
FreeRTOS移植过程中最重要的是确保移植后的系统能够在目标硬件上稳定运行,并满足应用需求。
一、文件与文件夹的添加与删除
- 添加必要文件:从FreeRTOS官方下载的源码包中,将必要的文件和文件夹添加到自己的工程中。通常包括FreeRTOS的内核文件、配置文件、端口文件等。
- 删除无关文件:删掉
portable
文件夹中与自己芯片无关的部分,以减小工程体积并提高编译效率。二、中断函数的处理
- 删除本地中断处理函数:在移植FreeRTOS之前,需要删除本地原有的中断处理函数。
- 添加FreeRTOS中断处理函数:将FreeRTOS中的三个主要中断处理函数(如
PendSV_Handler
、SVC_Handler
和SysTick_Handler
)进行声明,并确保能被正确调用。三、配置文件调整
- 修改
FreeRTOSConfig.h
:这是FreeRTOS的核心配置文件,需要根据目标硬件和应用需求进行详细的调整。包括但不限于设置是否使用抢占式内核、时间片调度、任务优先级、堆栈大小、时钟节拍频率等参数。- 配置中断优先级:在STM32等基于ARM Cortex-M系列的单片机上,需要配置NVIC的中断优先级分组,并确保FreeRTOS的中断优先级设置合理。
四、内核代码适配
- 任务管理:确保FreeRTOS的任务管理功能能够在目标硬件上正常工作,包括任务的创建、删除、挂起、恢复等。
- 内存管理:如果使用动态内存分配功能,需要确保FreeRTOS的内存管理模块与目标硬件的内存管理单元(如MMU)兼容。
- 时间管理