=7) return;">
当前位置:   article > 正文

嵌入式linux经典笔试,嵌入式笔试题比较经典题(拓盛电子)

void join(int x) { x++; if(x>=7) return;

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

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. 分析电路 根据输入波形画出输出波形,并解释

a948ed9dd40f839e4dab2fe52ba6f44e.png

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驱动的基本结构

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/200490?site
推荐阅读
相关标签
  

闽ICP备14008679号