嵌入式面试题
嵌入式笔试题比较经典题(拓盛电子) 来源 : 未知     2018-09-12

今天我来分享一下一些嵌入式笔试题,这些是我在拓盛电子面试的时候做的,都是比较经典的,可以收集看看,看看自己会不会,为面试做准备。

1. 写出函数执行的结果:

void join(int x) //递归运算

{

x++;

if(x>=7)return;

join(x);

printf("%d",x); //注意别漏掉这个打印信息!

}

int mian()

{

int x = 3,y = 0;

join(x);

printf("OK\n");

while(--x)

{

for(y = 0;y<4;y++)

{

printf("x = %d,y = %d\n",x,y);

if(y>=1)break;

else continue;

}

}

printf("over!");

}

2. 分析电路 根据输入波形画出输出波形,并解释

3.

4. 写出嵌入式中经常使用的死循环有几种

5. volatile 的含义,写出3中使用方式

6. 给定一整型变量a写两段代码:第一个设置a的bit3,第二个清除a的bit3

#define BIT3 (0x1<<3)

static int a;

void set_bit3(void)

{

a |= BIT3;

}

void clear_bit3(void)

{

a &= ~BIT3;

}

7. 某工程中要设置一个绝对地址为0x67a9整形变量值为0xaa66,编译器是纯ANSI编译器。

8. 使用__interrupt定义一个ISR,评论代码有什么不妥

__interrupt double compute_area (double radius)

{

double area = PI * radius * radius;

printf(" Area = %f", area);

return area;

}

1). ISR 不能返回一个值。如果你不懂这个,那么你不会被雇用的。

2). ISR 不能传递参数。如果你没有看到这一点,你被雇用的机会等同第一项。

3). 在许多的处理器/编译器中,浮点一般都是不可重入的。有些处理器/编译器需要让额处的寄存器入栈,有些处理器/编译器就是不允许在ISR中做浮点运算。此外,ISR应该是短而有效率的,在ISR中做浮点运算是不明智的。

4). 与第三点一脉相承,printf()经常有重入和性能上的问题。如果你丢掉了第三和第四点,我不会太为难你的。不用说,如果你能得到后两点,那么你的被雇用前景越来越光明了。

不能传参数 不能有返回值 不能有打印语句 不应该使用浮点运算

9. 利用heap动态使用内存的过程,碎片如何形成?

10. 信号量最常用的两个功能

11. ulinux 和linux的区别

12. NorFlash和NandFlash 的基本区别

13. Linux移植ARM的基本步骤和完成的任务

14. Linux图形系统有哪些?

15. Linux驱动的基本结构

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

上一篇:C语言工程师面试题总结(软通动力)

下一篇:百度Android面试题笔试部分(凭记忆)

400-611-6270

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