您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 大疆笔试题(嵌入式)
2014大疆嵌入式笔试题一.编程基础1.有如下CAT_s结构体定义,回答:1)在一台64位的机器上,使用32位编译,Garfield变量占用多少内存空间?64位编译又是如何?(总分5分)2)使用32位编译情况下,给出一种判断所使用机器大小端的方法。(总分5分)structCAT_s{intld;charColor;unsignedshortAge;char*Name;void(*Jump)(void);}Garfield;2.描述下面XXX这个宏的作用。(总分10分)#defineoffsetof(TYPE,MEMBER)((size_t)&((TYPE*)0)-MEMBER)#defineXXX(ptr,type,member({\consttypeof(((type*)0)-member)*__mptr=(ptr);\(type*)(char*)__mptr–offsetof(type,member));})3.简述C函数:1)参数如何传递(__cdecl调用方式);2)返回值如何传递;3)调用后如何返回到调用前的下一条指令执行。(总分10分)4.在一个多任务嵌入式系统中,有一个CPU可直接寻址的32位寄存器REGn,地址为0x1F000010,编写一个安全的函数,将寄存器REGn的指定位反转(要求保持其他bit的值不变)。(总分10分)5.有10000个正整数,每个数的取值范围均在1到1000之间,变成找出从小到大排在第3400(从0开始算起)的那个数,将此数的值返回,要求不使用排序实现。(总分10分)二.嵌入式基本知识1.简述处理器中断处理的过程(中断向量、中断保护现场、中断嵌套、中断返回等)。(总分10分)2.简述处理器在读内存的过程中,CPU核、cache、MMU如何协同工作?画出CPU核、cache、MMU、内存之间的关系示意图加以说明(可以以你熟悉的处理器为例)。(总分10分)三.基本通信知识1.请说明总线接口USRT、I2C、USB的异同点(串/并、速度、全/半双工、总线拓扑等)。(总分5分)2.列举你所知道的linux内核态和用户态之间的通信方式并给出你认为效率最高的方式,说明理由。(总分5分)四.系统设计有一个使用UART进行通信的子系统X,其中UART0进行数据包接收和回复,UART1进行数据包转发。子系统X的通信模块职责是从UART0接收数据包,如果为本地数据包(receiver为子系统X),则解析数据包中的命令码(2字节)和数据域(0~128字节),根据命令码调用内部的处理程序,并将处理结果通过UART0回复给发送端,如果非本地数据包,则通过UART1转发。如果由你来设计子系统X的通信模块:1)请设计通信数据包格式,并说明各字段的定义;(总分5分)2)在一个实时操作系统中,你会如何部署模块中的任务和缓存数据,画出任务间的数据流视图加以说明;(总分5分)3)你会如何设置任务的优先级,说说优缺点;(总分5分)4)如果将命令码对应的处理优先级分为高、低两个等级,你又会如何设计;(总分5分)
本文标题:大疆笔试题(嵌入式)
链接地址:https://www.777doc.com/doc-5472612 .html