导航菜单
首页 >  嵌入式岗位笔试面试真题讲解  > 嵌入式面试题目带答案,大疆嵌入式面试题目汇总 单片机Linux freeRTOS 实时操作系统嵌入式面试题目解析 校招 秋招必备

嵌入式面试题目带答案,大疆嵌入式面试题目汇总 单片机Linux freeRTOS 实时操作系统嵌入式面试题目解析 校招 秋招必备

题目五 选择题目

1、3个进程,需要的资源数依次为4,5,6,为了防止死锁,所需的最少资源数为(B)

A、12 B、13 C、14 D、15

解析:最差情况各进程占用3,4,5,再有一个资源时候,其中一个进程完成释放资源,所以3+4+5+1=13

2、Thumb指令集支持16位、32位。

3、类似宏定义计算问题(64位系统,char **a[5][6],sizeof(a))

#define PRODUCT (x) (x*x) int main(){int a,b=3;a=PRODUCT(b+2);}

在这里插入图片描述

b+2*b+2=3+2*3+2=11

4、嵌入式系统的特点:

专用型隐蔽型资源受限高可靠性软件固化实时性

5、mov寻址方式

6、MMU的特点

多选题 IIC的启动结束电平的状态

初始化:IIC的初始化为SDA和SCL均为高。

开始信号:处理器让SCL时钟保持高电平,然后让SDA数据信号由高变低就表示一个开始信号。同时IIC总线上的设备检测到这个开始信号它就知道处理器要发送数据了。

停止信号:处理器让SCL时钟保持高电平,然后让SDA数据信号由低变高就表示一个停止信号。同时IIC总线上的设备检测到这个停止信号它就知道处理器已经结束了数据传输,我们就可以各忙各个的了,如休眠等。

问答题

1、内联函数的使用和限制

2、TCP建立连接的过程

3、CPU处理中断的过程和具体操作

题目六

非常模糊

https://blog.csdn.net/zh_666888/article/details/111060297

一、选择 10道 2*10

以Linux和C为主,还有操作系统,内存带宽等等,题目不是很难,但是一定一定要沉下心来做,争取做一个对一个。

题目七

https://blog.csdn.net/weixin_42060900/article/details/99229518

关键字volatile

表示一个变量也许会被后台程序改变,关键字 volatile 是与 const 绝对对立的。它指示一个变量也许会被某种方式修改,这种方式按照正常程序流程分析是无法预知的(例如,一个变量也许会被一个中断服务程序所修改)。这个关键字使用下列语法定义:volatile data-definition。

变量如果加了 volatile 修饰,则会从内存重新装载内容,而不是直接从寄存器拷贝内容。 volatile 的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。

volatile应用比较多的场合,在中断服务程序和cpu相关寄存器的定义。

//示例一#include int main (void){int i = 10;int a = i; //优化int b = i; printf ("i = %d\n", b);return 0;}//示例二#include int main (void){volatile int i = 10;int a = i; //未优化int b = i; printf ("i = %d\n", b);return 0;}

使用 volatile 的代码编译未优化。volatile 指出 i 是随时可能发生变化的,每次使用它的时候必须从 i的地址中读取,因而编译器生成的汇编代码会重新从i的地址读取数据放在 b 中。而优化做法是,由于编译器发现两次从 i读数据的代码之间的代码没有对 i 进行过操作,它会自动把上次读的数据放在 b 中。而不是重新从 i 里面读。这样以来,如果 i是一个寄存器变量或者表示一个端口数据就容易出错,所以说 volatile 可以保证对特殊地址的稳定访问。 volatile 使用:1.并行设备的硬件寄存器(如:状态寄存器);2.一个中断服务子程序中会访问到的非自动变量(Non-automatic variables);3.多线程应用中被几个任务共享的变量。 关键字 inline

大多数的机器上,调用函数都要做很多工作:调用前要先保存寄存器,并在返回时恢复,复制实参,程序还必须转向一个新位置执行C++中支持内联函数,其目的是为了提高函数的执行效率,用关键字 inline 放在函数定义(注意是定义而非

相关推荐: