嵌入式面试八股文(二)·Linux相关、DC-DC降压原理

本文列举了8个常见的嵌入式面试问题,包括TCP/IP协议层次、Linux驱动程序的功能与分类、gcc编译过程、线程与进程的区别、IIC外设应用、DC-DC降压原理以及CMOS和TTL的区别。这些问题涵盖了网络通信、操作系统、硬件接口、电路设计等多个方面,是理解嵌入式系统设计的关键知识点。
摘要由CSDN通过智能技术生成

目录

1.  TCP/IP协议层数以及每层的含义?

2.  Linux驱动程序的功能是什么?

3.  Linux驱动程序的分类有哪些?

4.  简述gcc编译过程?

5.  线程与进程的区别?

6.  IIC外设用的哪些?

7.  DC-DC降压原理

8.  说一下CMOS和TTL以及他们的区别、功耗大小、电平?


1.  TCP/IP协议层数以及每层的含义?

TCP/IP协议是一个四层的协议栈,每层负责不同的功能,包括:

应用层:应用层协议负责处理用户数据,例如HTTP、FTP、SMTP等。这一层主要是为用户提供服务的,与网络传输本身关系较小。

传输层:传输层协议主要是为应用层协议提供端到端的可靠数据传输,包括TCP和UDP协议。TCP协议提供面向连接、可靠的数据传输服务,而UDP协议则提供无连接、不可靠的数据传输服务。

网络层:网络层协议负责实现不同网络之间的数据传输,例如IP协议。这一层主要负责数据的路由和转发,使数据能够在不同网络之间传输。

链路层:链路层协议主要负责实现数据在本地网络内的传输,例如以太网协议。这一层主要负责数据的封装和解封装,以及网络接口的管理。

这四层协议组成了TCP/IP协议栈,实现了网络数据的传输和交换。

2.  Linux驱动程序的功能是什么?

        设备驱动连接操作系统和硬件。设备驱动程序是一种可以使计算机与设备进行通信的特殊程序,可以说相当于硬件的接口。操作系统只有通过这个接口,才能控制硬件设备的工作。安装在操作系统中的驱动程序可以完成设备的初始化和释放,进行外部数据和操作系统的通信和数据交互,控制硬件的行为,并检查设备可能出现的故障并报错。

3.  Linux驱动程序的分类有哪些?

Linux将硬件设备分为3大类,分别是字符设备、块设备和网络设备。

字符设备:是指那些能一个字节一个字节读取数据的设备,如键盘鼠标等,常见的SPI/I2C/UART默认也是字符设备。

块设备:与字符设备类似,一般是像磁盘一样的设备。网络设备主要负责主机之间的数据交换。

网络设备:主要是面向数据包的接收和发送而设计的,与字符设备和块设备完全不同。

4.  简述gcc编译过程?

处理、编译、汇编和链接,一个hello.c的c语言程序如下。

预处理阶段:hello.c–>hello.i

编译阶段:hello.i–>hello.s

汇编阶段:hello.s–>hello.o

链接阶段:hello.o–>hello

5.  线程与进程的区别?

进程是对运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了操作系统的并发;线程是进程的子任务,是CPU调度和分派的基本单位,用于保证程序的实时性,实现进程内部的并发;

线程是操作系统可识别的最小执行和调度单位。

一个线程只能属于一个进程,而一个进程可以有多个线程。

进程在执行过程中拥有独立的内存单元,而多个线程共享进程的内存。

进程是资源分配的最小单位,线程是CPU调度的最小单位 进程切换的开销也远大于线程切换的开销。

进程编程调试简单可靠性高,但是创建销毁开销大;线程正相反,开销小,切换速度快,但是编程调试相对复杂

6.  IIC外设用的哪些?

I2C(Inter-Integrated Circuit)是一种串行通信协议,也称为IIC(Inter-IC)总线。I2C外设通常包括以下几个部分:

数据寄存器:用于存储发送和接收的数据。

控制寄存器:用于控制I2C外设的操作模式,例如启动、停止、重复启动等。

时钟控制器:用于生成I2C总线的时钟信号。

状态寄存器:用于存储I2C外设当前的状态,例如正在发送或接收数据。

地址寄存器:用于存储I2C设备的地址,可以是7位或10位。

在使用I2C外设时,通常需要通过控制寄存器设置操作模式,然后通过数据寄存器发送和接收数据。时钟控制器将生成时钟信号,用于同步发送和接收的数据。状态寄存器可以帮助我们检测I2C外设当前的状态,例如是否成功发送或接收数据。地址寄存器则用于指定要与之通信的设备地址。 在实际应用中,I2C外设通常用于连接各种外部设备,例如传感器、存储器、显示屏等,以实现数据的传输和控制。

7.  DC-DC降压原理

        DC-DC降压转换器是一种电子电路,它可以将一个直流电源的电压从高电平降至低电平,以供电给低电平的负载。其主要原理是使用电感和开关器件来控制电源电流的通断,通过电感储存能量并在负载端输出所需的电压和电流。 具体来说,当DC-DC转换器开关器件断开时,电感器件储存电能,电容器则输出电压,此时开关器件在断开状态,所以电压也不会通过开关器件到达负载端。当开关器件通断周期性地变化时,电感储存的电能会以电流的形式传输到负载端,以供给负载所需的电压和电流。通过控制开关器件的通断,可以控制输出电压和电流的大小。 DC-DC降压转换器有很多种不同的拓扑结构,包括Buck、Boost、Buck-Boost、Cuk等等。每种拓扑结构都有其适用的场合和特点,例如Buck结构适用于电源电压高于负载电压的情况,Boost结构适用于电源电压低于负载电压的情况,Buck-Boost结构则可以实现电源电压高于或低于负载电压的转换。

8.  说一下CMOS和TTL以及他们的区别、功耗大小、电平?

CMOS(Complementary Metal Oxide Semiconductor)和TTL(Transistor-Transistor Logic)都是数字集成电路的主要类型。它们之间的区别如下:

工作电压:CMOS工作电压范围较广,通常在3V到15V之间,而TTL通常在5V左右。

功耗大小:CMOS电路由于采用的是MOSFET管,具有很高的输入阻抗,因此功耗比TTL低得多。

电平:CMOS和TTL的逻辑电平标准不同。CMOS电路中的高电平电压范围通常在2/3 VDD到VDD之间,低电平电压范围通常在0V到1/3 VDD之间。而TTL电路中的高电平电压范围通常在2.4V到5V之间,低电平电压范围通常在0V到0.8V之间。

噪声容限:由于CMOS具有高的输入阻抗和大的电压范围,因此比TTL具有更高的噪声容限。

输出电流能力:TTL输出电流较大,CMOS输出电流较小,因此CMOS电路在驱动电容负载时需要增加输出级。

总的来说,CMOS电路比TTL电路功耗更低、噪声容限更高,但是需要考虑驱动能力和输出级的问题。

千题千解·嵌入式工程师八股文详解_时光の尘的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时光の尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值