嵌入式笔试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式笔试题

国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

下面就由为大家介绍一下嵌入式笔试题的文章,欢迎阅读。

嵌入式笔试题篇11:用C语言实现大小端的测试Int CheckCpu(){union{int a;char b;}c;c.a=1;if(c.b==1)printf(“小端);else printf(“大端);}2:volatile的作用有哪些?Volatile第一变量相当于告诉编译器这个变量的值会随时发生变化,每次使用之前都要去内存里从新读取它的值,并不要随意针对它做优化,主要用在:1:一个中断子程序中会访问到的非自动变量;2:多线程应用中被几个线程共享的变量;3:并行设备的硬件寄存器。

3:C语言中static关键字的作用有哪些?1:在函数体中,一个被声明为静态的变量在这个变量在调用过程中维持其值不变;2:在模块内(但在函数体外),一个被声明为静态的变量,可以被这个模块内的所用函数使用,但不能被模块外的函数使用,它是一个本地的全局变量;3:在模块内,一个被声明为静态变量的函数,智能被这个模块内的函数调用;4:static全局变量与局部变量的区别:static全局变量只能被初始化一次,防止其他单元文件中被引用;5:static局部变量与局部变量的区别:static局部变量只能被初始化一次,下一次依据上一次结果的值;6:static函数与普通函数的区别:static在内存中只用一份,普通函数在每

一次调用中维持一份拷贝。

4:请问下面三种变量的区别:Int const *p : 指向常整型的指针;Int *const p; 指向整型的常指针;Int *const *p:指向常整型的常指针;5:在ARM系统中,在函数调用的时候,参数是通过哪种方式传递的。

当参数小于等于4的时候是通过r0~r3来进行传递的,当参数大于4的时候是通过压栈的方式进行传递。

6:中断与异常有何区别.异常在处理的时候必须考虑与处理器的时钟同步,实际上异常也称为同步中断,在处理器执行到因编译错误而导致的错误指令时,或者在执行期间出现特殊错误,必须靠内核处理的时候,处理器就会产生一个异常;所谓中断是指外部硬件产生的一个电信号从CPU的中断引脚进入,打断CPU的运行。

所谓异常是指软件运行过程中发生了一些必须作出处理的事件,CPU自动产生一个陷入来打断CPU的运行。

7:用预处理指令#define表示一年中有多少秒#define SECONDS_PER_YEAR (60*60*24*365)UL注意后面必须加UL,表示计算的结构是常整型。

8:简述SPI,UART,I2C三种传输方式。

SPI:高速同步串行口,首发独立,可同步进行SPI接口主要应用在EEPROM,Flash,实时时钟,A/D转化器,数字信号处理,是一种全双工同步通讯总线,该接口一般使用四条线:串行时钟线(sck),主出从入线,主入从出线,低电平有效地的从机选择线。

I2C协议:是单片机与其他芯片进行通讯的协议:1:只要求两条总线线路,一条是串行时钟线,一条是串行数据线; 2:通过软件设定地址3:是一个多主机总线,如果两个或更多主机同时初始化数据传送可通过冲突检测和仲裁防止数据破坏; 4:I2C总线传输的是数据的总高位UART:主要是由一个modem(调制解调器),可以将模拟信号量转化成数字信号量。

9:中断不能返回一个值,中断不能传递参数。

10:嵌入式系统总要求用户对变量或者寄存器进行位操作,给定一个整型变量a:define BIT3 (oxo16:IP地址有两部分组成:网络号和主机号7:程序的局部变量存储在(栈)中,全局变量存储于(静态存储区),动态申请数据存储于(堆中);8:编写一个字符串复制函数:strcpy(const char *str,const char *str1)void strcpy(const *char str,const chat *str1){if(*str1==’\0’) return;char *sp1,*sp2;sp1= str;sp2=str1;while(*sp2!=’\0’){*sp1=sp2;sp1++;sp2++;}}9:编写一个函数实现字符串翻转void rechange(char *str)void rechange(char *str){Int len;char t;len=strlen(str);for(int i=0;len/2;i++){t=str[i];str[i]=str[len-i-1];str[len-i-1]=t;}}10:编写一个函数实现字符串比较int strcmp(char *str1,char *str2),相等返回1,不相等返回0:int strcmp(char *str1,char *str2){if(*str1==‘\0’||*str2==’\0’) return;while(*str1!=’\0’&&*str2!=’\0’&&*str1==*str2){str1++;str2++;}if(*s

tr1==*str2)return 1;else return 0;}}嵌入式笔试题篇3进程和线程的区别:

1:调度:线程作为调度和分配的基本单元,进程作为拥有资源的基本单位;2:并发性:不仅进程可以并发执行,同一进程内的线程也可以并发执行。

3:拥有资源:进程是拥有资源的基本独立单元,线程不拥有资源,但可以访问进程内的资源;4:在创建或撤销线程时,由于系统都要为之分配和回收内存资源,导致系统的开销明显大于创建或撤销线程时的开销。

相关文档
最新文档