已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全国信息技术人才-嵌入式软件开发工程师考试范围及参考试题 目录第一部分:考试试题范围第一类:嵌入式C:第二类:嵌入式ARM:第三类:嵌入式LINUX第二部分:考试试题格式:第一类:填空题:20-30分第二类:填空题:20-30分第三类:问答题:40-60分。第三部分:考试试题范例:第一部分:考试试题范围第一类:嵌入式C(考试知识范围)知识点1:嵌入式C、标准C、单片机C区别知识点2:C程序组成知识点3:C程序常用变量类型(包括函数、数组、指针、结构体等的类型) 知识点4:常用运算符合关系表达式 知识点5: 9条基本语句和32个关键字。知识点6:函数知识点7:数组知识点8:指针知识点9:结构体知识点10:链表知识点11:宏定义知识点12:文件和算法第二类:嵌入式ARM知识点1:嵌入式系统含义及应用范围知识点2:嵌入式ARM(S3C2440)芯片特点知识点3:嵌入式ARM常用指令知识点4:ARM体系架构、ARM的七种模式知识点5:ARM的37个通用寄存器知识点6:ARM中断响应过程知识点7:嵌入式GPIO操作过程知识点8: ARM启动代码含义及作用知识点9:常用CPU架构知识点10:嵌入式UART、PWM、定时器、看门狗等含义及用途第三类:嵌入式LINUX知识点1:操作系统含义及分类知识点2:LINUX操作系统特点知识点3:LINUX常用命令知识点4:LINUX下启动代码、内核裁剪、根文件系统;知识点5:LINUX驱动原理及概念知识点6:LINUX产品发布第二部分:考试试题格式:第一类:填空题:20-30分第二类:填空题:20-30分第三类:问答题:40-60分。第三部分:考试试题范例:3.1什么是嵌入式系统?其特点有些什么?答: 嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。” 特点:1)是专用的计算机系统,用于特定的任务;2)资源较少,可以裁减;3) 功耗低,体积小,集成度高,成本低; 4)使用实时操作系统;5) 可靠性要求更高,具有系统测试和可靠性评估体系;6)运行环境差异大7)大部分程序固化在 ROM中; 8) 较长的生命周期;9)嵌入式微处理器通常包含专用调试电路 3.2嵌入式系统的BooTLoader的功能是什么?答:BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。(对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。)3.3目前嵌入式操作系统有哪些? 答:1)C/OS-II 嵌入式操作系统内核;2)VxWorks嵌入式实时操作系统;3)WinCE操作系统;4)Linux操作系统 ;5)Symbian操作系统3.4 构造嵌入式开发环境有哪几种形式? 答:1)交叉开发环境 ;2)软件模拟环境 ;3)评估电路板3.5嵌入式系统开发的基本流程? 答:1)系统定义与需求分析;2)系统设计方案的初步确立;3)初步设计方案性价比评估与方案评审论证;4)完善初步方案、初步方案实施;5)软硬件集成测试;6)系统功能性能测试及可靠性测试。3.6什么是可编程片上系统? 答:用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统SOPC.它是一种特殊的嵌入式系统,首先它是SOC,即由单个芯片实现整个系统的主要逻辑功能,具有一般SOC基本属性;其次,它又具备软硬件在系统可编程的功能,是可编程系统,具有可裁剪、可扩充、可升级等灵活的设计方式。3.7有时要使用Thumb技术的原因答:(Thumb指令集是把32位的ARM指令集的一个子集重新编码后形成的一个特殊的16位指令集。)在性能和代码大小之间取得平衡,在需要较低的存储代码时采用Thumb指令系统用Thumb指令编写最小代码量的程序(能够很好的解决代码长度的问题),却取得以ARM代码执行的最好性能,可以带来低功耗,小体积,低成本。3.8 ARM处理器的工作模式有哪几种? 答:1)正常用户模式(usr);2)快速中断模式(fiq);3)普通中断模式(irq);4)操作系统保护模式(svc)或 管理模式 ;5)数据访问中止模式(abt);6)处理未定义指令的未定义模式(und);7)运行特权级的操作系统任务的系统模式(sys)。3.9寄存器R13,R14,R15的专用功能各是什么? 答:1)寄存器R13保存堆栈指针SP;2)寄存器R14用作子程序链接寄存器,也称为LR ,用以保存返回地址;3)R15(PC)用作程序计数器。3.10寄存器CPSR,SPSR的功能各是什么?答:1)CPSR包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。所有处理器模式下都可以访问当前的程序状态寄存器CPSR。2) 在每种异常模式下都有一个对应的物理寄存器程序状态保存寄存器SPSR。当异常出现时, SPSR用于保存 CPSR的状态,以便异常返回后恢复异常发生时的工作状态。3.11 ARM的异常有哪几种,各进入何种工作模式?他们退出各采用什么指令?答:1)复位(Reset)异常(管理模式);2)未定义指令(undefined instruction)异常(未定义模式);3)软件中断(SWI)异常(管理模式);4)指令预取中止(Prefech Abort)异常(中止模式);5)数据访问中止(Data Abort)(中止模式);6)快速中断请求(FIQ)(FIQ模式);7)外部中断请求(IRQ)(IRQ模式)。异常返回指令:1)SWI,未定义的返回:MOVS PC,R14;2) IRQ,FIQ,预取中止的返回:SUBS PC,R14,#4;3) 数据中止返回并重新存取:SUBS PC,R14,#8 异常中断的优先级: 复位(最高优先级)- 数据异常中止-FIQ - IRQ-预取指异常中止-SWI-未定义指令(包括缺协处理器)。3.12 什么是小端和大端存储器组织?答:1)小端存储器组织是较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址(同同小)。 2) 大端存储器组织是较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址(正反大)。3.13 ARM核现在有哪几种? 答:ARM7、 ARM9、ARM11、CORTEX-M3、CORTEX-M0、CORTEX-A8、ARM9E 、ARM10E,、SecurCore 等。3.14 嵌入式C语言有多少条语句,多少个关键字。答: 有9条基本语句和32个关键字。基本语句分四类: 1)顺序结构语句:0条 2)选择结构语句:2条(if,switch-case-break) 3)循环结构语句:3条(while、do-while、for) 4)转移结构语句:4条(goto、break、continue、return)3.15 在ARM的立即寻址方式下其立即数如何在指令编码中表示? 答:在ARM数据处理指令中,当参与操作的第二操作数为立即数型时,每个立即数都是采用一个8位的常数循环右移偶数位而间接得到。其中循环右移的位数由一个4位二进制的两倍表示,如果立即数记作,8位常数记作immed_8,4位的循环右移值记作rotate_imm,有效的立即数是由一个8位的立即数循环右移偶数位得到。因此有效立即数immediate可以表示成:=immed_8循环右移(2rotate_imm)3.16 ARM中断响应过程; 答: 1)将PC值保存(R15保存到相应异常对应的R14中); 2)将CPSR值保存(保存到相应异常对应的SPSR中); 3)将CPSR设置(修改为)异常进入的模式; (不能直接修改,只能间接修改cpsr_cxsf) 4)执行异常 5)还原PC 6)还原CPSR(即将对应SPSR还原到CPSR。3.18 如何在c语言程序中内嵌汇编? 答:内嵌的汇编指令包括大部分的ARM指令和Thumb指令,但是不能直接引用C的变量定义,数据交换必须通过ATPCS进行。嵌入式汇编在形式上表现为独立定义的函数体。 3.19 如何在汇编语言程序访问C语言的全局变量?答:汇编程序可以通过地址间接访问在C语言程序中声明的全局变量。通过使用IMPORT关键词引人全局变量,并利用LDR和STR指令根据全局变量的地址可以访问它们。对于不同类型的变量,需要采用不同选项的LDR和STR指令,如下所示:1)unsigned charLDRB/STRB;2)unsigned shortLDRH/STRH;3)unsigned intLDR/STR;4)charLDRSB/STRSB;5)ShortLDRSH/STRSH 3.20 在C语言程序如何调用汇编语言程序? 答:为了保证程序调用时参数的正确传递,汇编程序的设计要遵守ATPCS。在汇编程序中需要使用EXPORT伪操作来声明,使得本程序可以被其它程序调用。同时,在C程序调用该汇编程序之前需要在C语言程序中使用extern关键词来声明该汇编程序。 3.21 IIC总线速度 答: 标准IIC总线-100KBIT/S 快速IIC总线-400KBIT/S 高速IIC总线-3.4MBIT/S.3.22 在嵌入式C语言程序设计中为提高程序效率的相关设计技巧。 答:1)变量定义; 2)参数传递; 3)循环条件; 4)以空间换时间; 5)数学方法解决问题; 6)使用位操作; 7)嵌入汇编。3.23 Linux操作系统的内核、文件系统、编程接口等。P192 P201答:Linux的内核也有很多种,例如普通的Linux内核、uClinux内核、RTLinux内核等3.24.嵌入式Linux操作系统的特点。答:广泛的硬件支持、内核高效稳定、开放源码,软件丰富、优秀的开发工具、完善的网络通信和文件管理机制,3.25. USB总线速度? 答:USB1.1 -12MBIT/SUSB2.0 -480MBIT/SUSB3.0 -5.0GBIT/S3.26 ARM程序分析程序解释AREA COPYBS,CODE,READONLY ;定义一个代码段ENTRY ;程序入口 LDR RO,=SRC ;取得原数据表的表头 LDR R1,=DST ;取得目标数据表的表头 MOV R2,#20 ;R4作为循环控制BCOPY MOVS R3,R2,LSR,#3 ;R3=R2 3 逻辑右移3位 BEQ CWORD ;若Z=1,跳转到CWORDOCOPY LDMIA R0!,R4-R11 ;加载R0指向的地址上的多字数据,保存到R4R11中,R0值更新 STMIA R1!,R4-R11 ;将R4-R11的数据存储到R1指向的地址上,R1值更新 SUBS R3,R3,#1 ;R3=R3-1 BNE OCOPY ;若Z=0,跳转到OCOPYCWORD AND R2,R2,#7 ;R2=R2&7 BEQ STOP ;若Z=1,跳转到STOPWCOPY LDR R3,R0,#4 ;将R3中的字数据读入以R0为地址的存储器中,并将新地址R0+4写入R1 STR R3,R1,#4 ;将R3中的字数据写入以R1为地址的存储器中,并将新地址R1+4写入R1 SUBS R2,R2,#1 ;R2=R2-1 BNE WCOPY ;若Z=0,跳转到WCOPYSTOP 在程序中常常需要根据一定的参数选择执行不同的子程序。跳转表中存放的是各子函数的地址,选择不同的子程序的参数是该子程序在跳转表中的偏移量。在本例中R3寄存器中存放的是跳转表的基地址(首选地址,其中存放的是第一个子程序的地址)。R0寄存器的值用于选择不同的子程序;当R0为0时,选择的是子程序DoAdd;当R0为1时,选择的是子程序DoSub。在ADS编译环境程序如下:AREA Jump,CODE,READONLY ;设置本程序的名称及属性NUM EQU 2 ;跳转表中的子程序个数 ENTRY ;程序执行的入口点Start MOV R0,#0 ;设置3个参数,R0选择调用哪个子程序 MOV R1,#3 ;R1为子程序要用的参数 MOV R2,#2 ;R2为子程序要用的参数 BL Func ;调用子程序Func,进行算术运算Stop MOV R0 ,#0x18 ;本条与下条指令的作用是参数传递 LDR R1,=&20026 SWI 0x123456 ;将CPU的控制权交给调试器 Func CMP R0,#NUM ;判断R0是否在有效范围之内 MOVHS PC,LR ;如果超出范围则程序返回 ADR R3,JTable ;读取跳转表的基地址 LDR PC,【R3,R0,LSL #2】;根据参数R0的值跳转到相应的子程序JTable DCD DoAdd ;当参数R0为0时上面的代码将选择DoAdd DCD DoSub ;当参数R0为1时上面的代码将选择DoSubDoAdd ADD R0,R1,R2 ;子程序DoAdd执行加法操作 MOV PC,LR ;子程序返回DoSub SUB R0,R1,R2 ;子程序DoSub执行减法操作 MOV PC,LR ;子程序返回END ;结束汇编3.27 写一个“标准”宏MIN ,这个宏输入两个参数并返回较小的一个。答案:#define MIN(A,B) (A)= (B) ? (A) : (B)答案如果没有分别给A ,B 和整个表达式加括号不给分。 这个测试是为下面的目的而设的:v 标识#define在宏中应用的基本知识。这是很重要的,因为直到嵌入(inline)操作符变为标准C的一部分,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。v 三重条件操作符的知识。这个操作符存在C语言中的原因是它使得编译器能产生比if-then-else更优化的代码,了解这个用法是很重要的。v 懂得在宏中小心地把参数用括号括起来v 我也用这个问题开始讨论宏的副作用,例如:当你写下面的代码时会发生什么事?least = MIN(*p+, b);3.28 用变量a给出下面的定义a) 一个整型数;b)一个指向整型数的指针;c)一个指向指针的的指针,它指向的指针是指向一个整型数;d)一个有10个整型数的数组;e) 一个有10个指针的数组,该指针是指向一个整型数的。;f) 一个指向有10个整型数数组的指针;g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数;答案是:答案:a) int a; b) int *a; c) int *a; d) int a10; e) int *a10; f) int (*a)10; g) int (*a)(int); h) int (*a10)(int); 3.29 关键字static的作用是什么?这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:v 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。v 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。v 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。3.30关键字const有什么含意?下面的声明都是什么意思?1)const int a; 2)int const a; 3)const int *a; 4)int * const a; 5)int const * a const 。答案:被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。(答得出const修饰的东西是只读的也算对);1前两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。第四个意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。最后一个意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的)。3.31. 思考一下下面的例子:#define dPS struct s *typedef struct s * tPS;以上两种情况的意图都是要定义dPS 和 tPS 作为一个指向结构s指针。哪种方法更好呢?(如果有的话)为什么?答案:typedef更好。思考下面的例子:dPS p1,p2; tPS p3,p4;第一个扩展为struct s * p1, p2;上面的代码定义p1为一个指向结构的指,p2为一个实际的结构,这也许不是你想要的。第二个例子正确地定义了p3 和p4 两个指针。3.32. 以下为32位下平台C+程序,请计算sizeof的值char str = “Hello” ;char *p = str ;int n = 10;sizeof (str ) ; /请计算 sizeof (str ) 的值 sizeof ( p ); /请计算 sizeof (p) 的值 sizeof ( n ) ; /请计算 sizeof (n ) 的值 -void Func ( char str100)sizeof( str ) ; /请计算 sizeof (str ) 的值 -void *p = malloc( 100 );sizeof ( p ) ; /请计算 sizeof (p) 的值 答案:sizeof
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钾肥生产工核心能力强化考核试卷含答案
- 锅炉设备制造工变更管理能力考核试卷含答案
- 多工序数控机床操作调整工安全操作水平考核试卷含答案
- 烧碱电解工岗位责任感考核试卷含答案
- 医疗机构依法执业自查报告
- 物业管理公司客户服务中心人员文明服务制度
- 安全主题手绘指南讲解
- 2026年大学试题(艺术学)-舞蹈鉴赏历年参考题库含答案解析
- 2026年大学试题(经济学)-管理经济学历年参考题库含答案解析
- 2026年安徽广播影视职业技术学院高职单招笔试数学历年参考题库含答案解析
- 标准溶液的配制课件
- 实施指南(2025)《JB-T 10285-2017食品真空冷冻干燥设备》
- 南亚地理教学课件
- 肠系膜静脉血栓形成的护理查房
- 如何写地质报告怎样写地质报告地质报告的详细编写方法
- T∕CACM 1114-2018 中医治未病实践指南 药茶调理偏颇体质
- 2.1.3碳酸钠和碳酸氢钠 课件 高一上学期化学人教版(2019)必修第一册
- 概率论与数理统计第四版-课后习题答案-盛骤-浙江大学
- 中职数学集合与不等式综合测试题
- JT-T-794-2019道路运输车辆卫星定位系统车载终端技术要求
- 世界十大汽车公司及其品牌
评论
0/150
提交评论