嵌入式面试题
嵌入式ARM面试题,找工作必看 来源 : 未知     2018-07-31

学习嵌入式,可以说是学的知识有很多,在找工作的时候,被问到一些面试题,有时候就答不上来,虽然你知道,但是由于你没有更多的时间,所以就可能让你与这份工作失之交臂,不管你会不会,懂不懂,面试之前了解和搜集很多相关的面试题还是很有必要的,下面就是我搜集的一些关于嵌入式arm方面的面试题,虽然考的不多,但是这些都是经典,难免你会碰上呢!

先从小题开始看起:

1.ARM处理器有9种基本寻址方式,分别是:______、______、______、______、______、______、

______、______、______。

答案:寄存器寻址、立即寻址、寄存器偏移寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、块拷贝寻址、相对寻址

2.ARM微处理器在较新的体系结构中支持两种指令集:______、______。

答案:ARM指令集、Thumb指令集

3.汇编语言与C/C++的混合编程通常有以下几种方式:_____、______、______。

答案:在C/C++代码中嵌入汇编指令;从汇编程序中访问C程序变量;汇编程序、C/C++程序间的相互调用

4.在ARM的汇编程序中,有如下几种伪指令:_____、______、______、______、______。

答案:符号定义伪指令、数据定义伪指令、汇编控制伪指令、宏指令、其他伪指令

5.ARM指令集可以分为6类,分别是:______、______、______、______、______、______。

答案:跳转指令、数据处理指令、程序状态寄存器(PSR)传输指令、Load/Store指令、协处理器指令、异常中断产生指令

6.ARM C/C++编译器支持和产生以下几种格式的文件:_____、____、____、______、______。

答案:filename.c 源文件、filename.h头文件、filename.o目标文件、filename.s汇编代码文件、filename.lst列表文件

问答题:

题一:

ARM处理器MMU是什么?主要实现什么功能?

题二:

下面的代码输出是什么,为什么?

voidfoo(void)

{unsigned int a = 6;

intb = -20;

(a+b> 6) puts("> 6") : puts("<= 6");

}

题三:

尽管不像非嵌入式计算机那么常见,嵌入式系统还是有从堆(heap)中动态分配内存的过程的。那么嵌入式系统中,动态分配内存可能发生的问题是什么?

思考过后,再到下方寻找答案

题一答案:

MMU是Memory Management Unit的缩写,即内存管理单元。

MMU主要主要实现功能是:

1、 虚拟存储空间到物理存储空间的映射。在ARM中采用了页式虚拟存储管理,通过两级页表实现虚拟地址到物理地址的映射。

2、 存储器访问权限的控制。

3、 设置虚拟存储空间的缓冲的特性,主要包括Cache、write buffer的配置。

题二答案:

这个问题测试你是否懂得C语言中的整数自动转换原则,我发现有些开发者懂得极少这些东西。不管如何,这无符号整型问题的答案是输出是“>6”。原因是当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。因此-20变成了一个非常大的正整数,所以该表达式计算出的结果大于6。这一点对于应当频繁用到无符号数据类型的嵌入式系统来说是丰常重要的。如果你答错了这个问题,你也就到了得不到这份工作的边缘。

题三答案:

这里,我期望应试者能提到内存碎片,碎片收集的问题,变量的持行时间等等。这个主题已经在ESP杂志中被广泛地讨论过了(主要是P.J.Plauger,他的解释远远超过我这里能提到的任何解释),所有回过头看一下这些杂志吧!让应试者进入一种虚假的安全感觉后,我拿出这么一个小节目:下面的代码片段的输出是什么,为什么?

char*ptr;

if((ptr = (char *)malloc(0)) == NULL)

puts("Gota null pointer");

else

puts("Gota valid pointer");

这是一个有趣的问题。最近在我的一个同事不经意把0值传给了函数malloc,得到了一个合法的指针之后,我才想到这个问题。这就是上面的代码,该代码的输出是“Gota validpointer”。我用这个来开始讨论这样的一问题,看看被面试者是否想到库例程这样做是正确。得到正确的答案固然重要,但解决问题的方法和你做决定的基本原理更重要些。

扫码申领本地嵌入式教学实录全套视频及配套源码

上一篇:嵌入式工程师面试题宝典,过来人总结

下一篇:嵌入式C语言经典面试题汇总

400-611-6270

Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5京公海网安备11010802025203号