
千题千解·嵌入式工程师八股文详解
文章平均质量分 95
时光の尘
这个作者很懒,什么都没留下…
展开
-
嵌入式面试八股文(十四)·内存管理机制、优先级继承机制以及优先级翻转
方案内存分配策略碎片处理适用场景heap_1.c静态分配,不可释放无仅需一次性分配的任务heap_2.c最佳匹配算法,允许释放中等简单动态分配heap_3.c封装标准库依赖库需要兼容现有代码heap_4.c合并空闲块,减少碎片较好长期运行的复杂系统heap_5.c支持多块非连续内存区域最好扩展内存或外部RAM我们知道任务的优先级在创建的时候就已经是设置好的,高优先级的任务可以打断低优先级的任务,抢占 CPU 的使用权。原创 2025-05-06 20:21:44 · 699 阅读 · 0 评论 -
FreeRTOS入门基础了解(持续更新)
FreeRTOS基础了解,对FreeRTOS又一个基础的理解原创 2025-04-29 05:00:00 · 984 阅读 · 0 评论 -
嵌入式面试八股文(十三)·FreeRTOS命名规则、调度算法、任务创建
详细介绍FreeRTOS命名规则、不同调度算法算法的优缺点、动态与静态任务创建的优缺点原创 2025-04-29 04:00:00 · 658 阅读 · 0 评论 -
嵌入式面试八股文(十二)·FreeRTOS中·堆和栈
用于存储程序动态创建的对象。堆的大小可以在程序运行时动态调整。堆由开发人员分配和释放, 若开发人员不释放,程序结束时由 OS 回收。堆的分配和释放需要调用相应的函数,如malloc()和free函数。在FreeRTOS中堆用来分配任务、队列、信号量、互斥量等内核对象的内存。FreeRTOS 提供了 5 种堆管理实现(heap_1 到 heap_5),开发者可通过 FreeRTOS/Source/portable/MemMang 目录下的文件选择。原创 2025-04-28 17:02:17 · 867 阅读 · 0 评论 -
嵌入式面试八股文·操作系统高频面经(一)
1.1 进程① 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配的基本单位。② 是操作系统结构的基础。③ 进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体.信号量是一种同步机制,它本质上是一个计数器,用于多进程或多线程对共享资源的访问。信号量的主要作用是保护共享资源,使得在一个时刻只有一定数量的进程或线程可以访问。信号量的原理是基于P(sv)和V(sv)P(sv)原创 2025-03-17 17:04:34 · 1179 阅读 · 0 评论 -
嵌入式面试八股文·C语言高频面经(一)
C语言高频面试题目汇总原创 2025-02-25 11:33:47 · 922 阅读 · 0 评论 -
嵌入式面试八股文(十一)·FreeRTOS相关题目
FreeRTOS相关面试题原创 2024-12-01 08:30:16 · 1412 阅读 · 0 评论 -
嵌入式面试八股文(十)·RS485特性分析、CAN硬件同步和再同步遵从规则、SPI四种工作模式、错误帧基本概念
传统协议相关题目,RS485,SPI,CAN总线原创 2024-11-23 06:00:00 · 1092 阅读 · 0 评论 -
嵌入式面试八股文(九)·FreeRTOS与Linux的区别与相同点、多进程与多线程的区别、为什么项目使用多线程
Linux:有丰富的开发工具和庞大的生态系统,支持大量的编程语言(如 C、C++、Python、Java 等),并且有强大的调试、性能分析工具(如 GDB、perf、strace 等)。: 多线程的最大优点之一是线程间能够共享同一进程的内存空间,数据传递和通信效率高,不需要通过复杂的进程间通信机制,这对于一些需要频繁数据交换和共享资源的应用来说,能显著提升性能。Linux:主要支持更高端的硬件,如基于 x86、ARM、PowerPC 等架构的多核处理器,支持复杂的硬件设备和外设。原创 2024-11-18 05:00:00 · 1425 阅读 · 0 评论 -
嵌入式面试八股文(八)·单工、半双工、全双工的区别以及常用通讯接口简介
单工、半双工、全双工的区别,同步时钟和异步时钟的区别,以及常用通讯接口详细介绍原创 2024-11-15 06:00:00 · 2124 阅读 · 0 评论 -
嵌入式面试八股文(七)·#ifndef#define#endif的作用、以及内存分区(全局区、堆区、栈区、代码区)
在条件编译中,一般用来定义一个标识符,以便在后面的代码中进行条件判断,通常用于定义一个标识符,用来标记某些代码块已经被处理过。栈内存的分配遵循“后进先出”的原则(LIFO),即最后被压入栈的变量最先被弹出。栈区的内存是临时的,函数返回后,栈中的局部变量会被销毁。:内存的分配和释放由程序员管理(或者通过垃圾回收机制,如在某些高级语言中)。大小固定,一般在程序编译时就确定。:如在程序中显式赋初值的全局变量,会存放在该区域。:存放程序的机器指令,也就是程序的执行代码。:是只读的,防止程序在运行时修改自己的指令。原创 2024-11-15 05:00:00 · 1896 阅读 · 0 评论 -
嵌入式面试八股文(六)·ROM和RAM的区别、GPIO的八种工作模式、串行通讯和并行通讯的区别、同步串行和异步串行的区别
数据逐位传输,传输线少,长距离传输时成本低,但数据的传输控制较复杂。:该模式下,GPIO口可以通过控制输出高低电平,实现线与逻辑和电平转换的同时,还可以作为其他外设的扩展功能使用。:该模式下,GPIO口可以通过控制输出高低电平,实现线与逻辑和电平转换的同时,还可以作为其他外设的扩展功能使用。:该模式下,GPIO口可以通过控制输出高低电平,实现线与逻辑和电平转换的同时,还可以作为其他外设的扩展功能使用。:该模式下,GPIO口可以通过控制输出高低电平,实现线与逻辑,并且可以实现电平的转换。原创 2024-11-11 06:00:00 · 1282 阅读 · 0 评论 -
嵌入式面试八股文(五)·一文带你详细了解程序内存分区中的堆与栈的区别
堆(Heap)和栈(Stack)是计算机内存管理中两个重要的概念,它们在数据存储、生命周期和访问方式上有着显著的区别,在理解这两个概念时,需要放到具体的场景下,因为不同场景下,堆与栈代表不同的含义。一般情况下,有两层含义:(1)程序内存布局场景下,堆与栈表示两种内存管理方式。(2)数据结构场景下,堆与栈表示两种常用的数据结构。在函数调用时,参数和局部变量的存储;递归算法的实现;临时数据的快速处理。存储大规模数据结构,如动态数组、链表、树等;在运行时需要创建对象或数据结构但其大小无法预先确定的情况。原创 2024-10-06 16:43:46 · 1207 阅读 · 0 评论 -
嵌入式面试八股文(四)·同步和互斥、同步和异步、同步阻塞和同步非阻塞、异步阻塞和异步非阻塞的详细分析
同步是一种更为复杂的互斥,而互斥是一种特殊的同步。原创 2024-08-22 11:53:25 · 1234 阅读 · 0 评论 -
嵌入式面试八股文(三)·野指针产生原因和解决方法、指针函数和函数指针的区别
指针函数本质是一个函数,其返回值为指针。函数指针本质是一个指针,其指向一个函数。原创 2024-08-08 03:00:00 · 1180 阅读 · 0 评论 -
嵌入式面试八股文(二)·Linux相关、DC-DC降压原理
每种拓扑结构都有其适用的场合和特点,例如Buck结构适用于电源电压高于负载电压的情况,Boost结构适用于电源电压低于负载电压的情况,Buck-Boost结构则可以实现电源电压高于或低于负载电压的转换。安装在操作系统中的驱动程序可以完成设备的初始化和释放,进行外部数据和操作系统的通信和数据交互,控制硬件的行为,并检查设备可能出现的故障并报错。是进程的子任务,是CPU调度和分派的基本单位,用于保证程序的实时性,实现进程内部的并发;:由于CMOS具有高的输入阻抗和大的电压范围,因此比TTL具有更高的噪声容限。原创 2023-09-11 17:09:19 · 204 阅读 · 0 评论 -
嵌入式面试八股文(一)·define和const的区别以及IIC为什么要加上拉电阻,为什么使用开漏输出
优点:在编译器在处理时并不关心宏的具体值或类型,其可以在任何地方重新定义或者取消定义,对于简单的常量定义或者特定的预处理需求,#define 宏定义则是一种便捷有效的选择。缺点:宏定义不会进行类型检查,也不会保留类型信息。这意味着在使用宏定义时,可能会出现意外的文本替换,导致错误或者难以调试的问题。原创 2024-07-23 06:00:00 · 2169 阅读 · 0 评论