嵌入式培训

嵌入式系统开发工程师考试综合编程题

时间:2023-08-09 17:00:03 欧敏 嵌入式培训 我要投稿
  • 相关推荐

2023嵌入式系统开发工程师考试综合编程题

  嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。下面是小编精心整理的嵌入式系统开发工程师考试综合编程题,供大家参考借鉴,希望可以帮助到有需要的朋友。

2023嵌入式系统开发工程师考试综合编程题

  综合编程题一

  要求:

  1、完成需求,程序运行正确。

  2、工作原理文档,使用文档完整。

  3、代码规整优美。注释得当。

  4、运行速度足够快。

  1、———————————————————–

  这里有一个8MB的文件,编写一个copy程序,拷贝这个文件,并计算所需时间。用工具分析出是哪些代码或函数造成速度瓶颈。

  提示:如果只是使用read/write调用,不是一个好的实现。(20分)

  2、———————————————————–

  Linux系统中,什么时候会出现类似Y2K的问题。写一个程序证明。(20分)

  3、———————————————————–

  编写一个程序,测试系统最小的睡眠时间间隔。(20分)

  4、———————————————————–

  编写一个pipe程序,测试有N个管道,size大小的buffer情况下,pipe的传输性能是多少

  ?(20分)

  5、———————————————————–

  在ext2文件系统上,单个文件最大可以达到多少?

  写一个程序获得这方面的限制。(20分)

  综合编程题二

  要求:

  1、完成需求,程序运行正确。

  2、工作原理文档,使用文档完整。

  3、代码规整优美。注释得当。

  4、运行速度足够快。

  5、用工具分析出是哪些代码或函数造成速度瓶颈。

  1、———————————————————–

  编写一个排序程序。被排序的文件有8MB大小,一行一个随机整数(ASCII格式)。要求对这些整数进行排序,并计算平均值,打印出排序所需的时间。(20分)

  2、———————————————————–

  用dummy header技巧实现一个链表DEMO。要求具有create, , , search功能。编写一个应用程序,使用上面的函数。使用dummy header技巧有什么优点。(20分)

  3、———————————————————–

  用heapsort算法实现优先队列。要求具有create, , 功能。

  编写一个应用程序,使用上面的函数。使用heapsort算法有什么优点。(20分)

  用trie(一种多叉树)实现一个字典。要求具有create, , , search功能。

  编写一个应用程序,使用上面的函数。使用trie树有什么优点。(20分)

  综合编程题三

  选择题

  1. 下列产品中不属于嵌入式系统的是( )。

  A.有线电视机顶盒

  B.服务器

  C.电饭煲

  D.路由器

  正确答案:B

  解析:广义上讲,凡是带有微处理器的专用软硬件系统都可称为嵌入式系统。狭义上讲,嵌入式系统强调那些使用嵌入式微处理器构成的具有自己的操作系统和特定功能、用于特定场合的独立系统。嵌入式系统以应用为中心、以计算机技术为基础、软硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。选项中A、C、D均属于嵌入式系统;而服务器是网络环境中的高性能计算机,不属于嵌入式系统。故本题选择B。

  2. 下面关于嵌入式系统逻辑组成的叙述中,错误的是( )。

  A.嵌入式系统由硬件和软件两部分组成

  B.嵌入式系统硬件的主体是中央处理器(CPU)和存储器

  C.嵌入式系统的CPU比通用计算机简单得多,它们都是8位字长的处理器

  D.嵌入式系统通过输入输出(I/O)接口和输入/输出设备与外部世界进行联系

  正确答案:C

  解析:嵌入式系统与通用计算机一样,也由硬件和软件两部分组成。硬件的主体是CPU和存储器,它们通过I/O接口和I/O设备与外部世界联系。现在嵌入式系统中使用最多的还是8位和16位CPU,但32位是技术发展的主流。故本题选择C。

  3. 按照软硬件技术的复杂程度嵌入式系统分为低端系统、中端系统和高端系统三大类,下面有关低端系统的叙述中错误的是( )。

  A.硬件大多采用4位或8位单片机

  B.由监控程序对系统进行控制,不使用操作系统

  C.家用洗衣机、吸尘器、电磁炉等属于低端嵌入式应用系统

  D.它们正在被32位的高端系统所取代

  正确答案:D

  解析:嵌入式系统的分类有多种。按系统的软硬件技术复杂度,嵌入式系统分为低端系统、中端系统和高端系统。其中低端系统硬件大多采用4位或8位单片机,不使用操作系统,由监控程序对系统进行控制,在工控领域和白色家电领域占主导地位。选型中D项表述错误,故本题选择D。

  4. 片上系统(SOC或SoC)是目前广泛使用的一种嵌入式处理芯片,下面有关叙述中错误的是( )。

  A.SoC是电子设计自动化水平提高和大规模集成电路制造技术发展的成果

  B.SoC芯片既包含处理器又包含存储器,既有数字电路也有模拟电路,单个芯片就能实现数据的采集、转换、存储、处理和I/O等多种功能

  C.SoC已成为集成电路设计的发展趋势,32位嵌入式处理芯片大多是SoC

  D.智能手机已经广泛采用SoC,平板电脑大多还使用传统的Intel处理器

  正确答案:D

  解析:随着电子设计自动化水平的提高和VLSI制造技术的飞速发展,半导体加工已经从微米、亚微米进入到深亚微米的时代,单个芯片上可以集成几亿个甚至几十亿个晶体管,因而能够把计算机或其他一些电子系统的全部电路都集成在单个芯片上,这种芯片就是所谓的片上系统。SoC芯片中既包含数字电路,也可以包含模拟电路,甚至还包含数字/模拟混合电路和射频电路。由于SoC将嵌入式系统的几乎全部功能都集成在一块芯片中,单个芯片就能实现数据的采集、转换、存储、处理和I/O等多种功能。目前,大多数32位的嵌入式处理芯片均为SoC,SoC逐渐成为集成电路设计的主流发展趋势。D选项中平板电脑使用的也是SOC技术,故本题选择D。

  5. 一幅没有经过数据压缩的彩色图像,其数据量是768KB,分辨率为1024×768,那么它每个像素的像素深度是( )。

  A.24位

  B.16位

  C.12位

  D.8位

  正确答案:D

  解析:数字图像数据量=分辨率×像素深度÷8,故本题像素深度为768KB×8÷(1024×768)=8位,故本题选择D。

  6. 获取数字声音的过程中必须进行“取样”、“量化”等处理。下面关于“量化”的叙述中错误的是( )。

  A.量化就是把声音样本的模拟量转换成数字量来表示

  B.量化过程往往也称为D/A转换

  C.量化位数增多,量化的精度可以提高,声音的保真度也更好

  D.量化位数越少,数字声音的数据量也越少

  正确答案:B 解析:音频信息数字话的过程是取样、量化、编码。其中量化是把每个样本的模拟值转换成数字量来表示,因此量化过程往往也称为A/D转换(模数转换)。量化位数增多,量化的精度可以提高,声音的保真度也更好,量化位数越少,数字声音的数据量也越少。故本题选择B。

  7. 局域网是计算机网络中最流行的一种形式。下面有关局域网的叙述中错误的是( )。

  A.局域网指较小地域范围内的计算机网络,它有多种类型

  B.局域网通常为一个单位所拥有,自建自管

  C.它主要使用光缆进行连网和数据通信

  D.局域网数据传输速率高,延迟时间短,误码率低

  正确答案:C

  解析:局域网的地域范围较小,往往属于一个单位所有,由单位自建自管,具有多种类型。局域网使用专门铺设的传输介质进行联网和数据通信,数据传输速率高,延迟时间短,误码率低。故本题选择C。

  8. 以下关于互联网IP地址的叙述中,错误的是( )。

  A.正在上网(online)的每一台终端设备都有一个IP地址

  B.现在广泛使用的IPv4协议规定IP地址使用32个二进位表示

  C.IPv4规定的IP地址快要用完了,取而代之的将是64位的IPv5

  D.许多设备的IP地址是动态分配的而非固定不变的

  正确答案:C

  解析:IP协议第4版,简称IPv4规定,每个IP地址使用32个二进制位表示,其中包含网络号和主机号两部分,每个正在上网的终端设备都有一个IP地址,许多设备的IP地址是动态分配的而非固定不变的。由于IPv4中地址长度仅为32位,只有大约36亿个地址可用。2011年年初国际组织ICANN宣布地址已全部分配完毕,新的第6版IP协议IPv6已把地址长度扩展到128位。故本题选择C。

  9. 对于ARM系列,最适合高端应用的嵌入式处理器是( )。

  A.ARM9

  B.ARM Cortex-M

  C.ARM Cortex-A

  D.ARM Cortex-R

  正确答案:C

  解析:ARM公司在经典处理器ARM11以后的产品改用Codex命名,并分成A、R和M三类,旨在为各种不同的市场提供服务。其中:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器。故本题选择C。

  10. 以下关于ARM程序状态寄存器CPSR说法错误的是( )。 A.CPSR记录了ARM运行过程中的标志状态

  B.CPSR决定是否切换到Thumb状态

  C.CPSR决定是否允许快速中断FIQ

  D.CPSR决定堆栈深度

  正确答案:D

  解析:CPRS为当前程序状态寄存器,记录了ARM运行过程中的标志状态;其中T为ARM与Thumb指令切换,F为禁止快速中断FIQ的控制位。因此A、B、C项正确,故本题选择D。

  11. 关于ARM处理器异常中断响应过程中,以下说法正确的是( )。

  A.SPSR的值保存到CPSR中

  B.设置当前状态寄存器CPSR的相应位

  C.断点地址会自动保存在R13中

  D.自动把异常向量地址写入R14中

  正确答案:B

  解析:ARM对异常的响应过程如下:将CPRS的值保存到将要执行的异常中断对应的各自SPSR中;设置CPSR的相应位;将引起异常指令的下一条地址(断点地址)保存到R14中;给PC强制赋值,转入向量地址,以便执行相应的处理程序。故本题选择B。

  12. 关于ARM处理器的MMU,以下说法错误的是( )。

  A.MMU是存储器管理部件

  B.MMU控制存储器访问顺序

  C.MMU控制存储器的访问权限

  D.MMU通过查TLB表得到虚拟地址

  正确答案:D

  解析:MMu是Memory Management IJnit的缩写,中文名是内存管理单元,它是CPU管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权;MMU进行虚拟地址到物理地址的转换通过查找页表来完成,每次在访问内存时先查TLB,查不到时再到内存中去查整个页表。故MMU通过查TLB表得到的是物理地址,D项错误,故本题选择D。

  13. 设R1中为一正整数,将其数值的一半存人R2的ARM指令正确的是( )。

  A.SUB R2,R1,LSR.#1

  B.MOV R2,R1,LSL#1

  C.UDIV R2,R1,#1

  D.MOV R2,R1,LSR#1

  正确答案:D 解析:将数值变为一半相当于除以2,除法运算可以通过逻辑右移来完成,存入可以使用数据传送指令MOV来完成。故本题选择D。

  14. 以下ARM指令中源操作数属于寄存器间接寻址的指令是( )。

  A.ADC R1,R2,R3

  B.STRH R0,[R1]

  C.ORR R1,R,R3

  D.MVN R1,#0x0B

  正确答案:B

  解析:寄存器间接寻址是指以寄存器的值作为操作数地址,而操作数本身存放在存储器中,用于间接寻址的寄存器必须用[]括起来。故本题选择B。

  15. 以下对伪指令的解释错误的是( )。

  A.DCW 0x12;在内存区域分配半字的内存空间并初始化为0x0012

  B.CODE32;伪指令通知汇编器,其后的指令序列为32位的.ARM指令

  C.Baud EQU 2400;为定义一个16位常量Baud值为2400

  D.EXTERN SUB1;当前文件引用外部标号SUBl

  正确答案:C

  解析:伪指令DCW用于分配一片连续的半字存储单元并用指定的数据初始化;CODE32通知编译器,其后的指令序列为32位的ARM指令;EQU是等于伪指令,用于为程序中的常量、标号等定义一个等效的字符名称;EXTERN是外部标号引用声明伪指令,用于通知编译器要使用的标号在其他的源文件中定义,但要在当前文件中引用。C项错误,故本题选择C。

  16. 将R1中的8位二进制数存储到由R2+1指示的单元,并自动更新地址的ARM指令是( )。

  A.STRB R1,[R2,#1]!

  B.STRH R1,[R2,#1]!

  C.STREQ R1,[R2,#1]!

  D.STR R1,[R2,#1]!

  正确答案:A

  解析:根据题目意思,本题要用的指令是STRB,且采用基址加变址寻址方式,同时需要自动更新地址,则指令为“STRB R1,[R2,#1]!”,故本题选择A。

  17. 当条件为非负数时,将R1指示的内存中16位数据加载到RO寄存器中,ARM指令为( )。

  A.LDRHPL R0,[R1]

  B.LDRHMI R0,[R0]

  C.LDRBMI R1,[R0]

  D.LDRBMI R0,[R1]

  正确答案:A

  解析:题目要求16位数据,故需用半字数据加载指令LDRH,又数据是在R1指示的内存中,故采用寄存器间接寻址[R1],故本题选择A。

  18. 下面与嵌入式处理器有关的叙述中,错误的是( )。

  A.嵌入式处理器本身就是一个嵌入式最小硬件系统

  B.嵌入式处理器只有在供电的情况下才有可能正常工作

  C.嵌入式处理器工作时需要时钟信号

  D.大多数基于ARM处理器核的嵌入式处理器芯片都有调试接口

  正确答案:A

  解析:嵌入式处理器本身是不能独立工作的,必须给它供电,加上时钟信号,提供复位信号等才可能工作;嵌入式最小硬件系统一般包括嵌入式处理器、时钟电路、电源电路、复位电路、存储器和调试测试接口;而大多数基于ARM处理器核的处理器芯片都有调试接口。A项错误,故本题选择A。

  19. 下面关于AMBA的叙述中,错误的是( )。

  A.ARM公司定义的AMBA其中文名为“先进微控制器总线体系结构”

  B.ARM公司定义的AMBA是用于连接和管理片上系统中各功能模块的开放标准和片上互连规范

  C.至2011年,AMBA已从AMBA1.0发展到了AMBA4.0

  D.ARM7和ARM11采用的AMBA的版本相同

  正确答案:D

  解析:AMBA是ARM公司公布的总线协议,其中文名为“先进微控制器总线体系结构”;用于连接和管理片上系统中各功能模块的开放标准和片上互连规范;AMBA有多个版本,至2011年,AMBA已从AMBA1.0发展到了AMBA4.0,性能随版本的发展而逐步提高,ARM7采用AMBA1,而ARM9采用AMBA2。故本题选择D。

  20. 下面关于嵌入式系统存储器的叙述中,错误的是( )。

  A.目前嵌入式处理器内部的Cache采用SRAM

  B.嵌入式系统使用的存储器按照其存取特性可分为随机存取存储器(RAM)和只读存储器(ROM)

  C.铁电存储器(FRAM)和磁性存储器(MRAM)是两种新型的半导体存储器

  D.通过对DRAM的存储控制技术进行改进,出现了DDR2 SDRAM、DDR3

  SDRAM等新型的存储器产品

  正确答案:C

  解析:嵌入式系统的存储器以半导体存储器为主。按照其存取特性可分为RAM和ROM;使用的RAM有SRAM、DRAM等多种,目前嵌入式处理器内部的Cache采用SRAM,通过对DRAM的存储控制技术进行改进,出现了DDR2

  SDRAM、DDR3 SDRAM等新型的存储器产品;新型存储器FRAM和MRlAM均非传统的半导体存储器。C项错误,故本题选择C。

  21. 下面关于ARlM嵌入式处理器的GPIO的叙述中,错误的是( )。

  A.GPIO的引脚一般是三态的,即具有0态,1态和高阻状态

  B.有些GPIO引脚具有多种功能,通过设置相关控制寄存器的某些位来进行选择

  C.有些ARM芯片的GPIO引脚可以设置成具有中断输入功能

  D.只有几个按键的简单键盘接口,应采用专用的键盘接口芯片来实现,而不宜采用GPIO来设计

  正确答案:D

  解析:GPIO一般具有三态,即0态、1态和高阻状态;为了节省引脚条数,通常有些GPIO引脚有多种功能以供选择,可以通过设置相关控制寄存器的位来确定引脚功能;有些ARM芯片,如新唐科技的Cortexc-MO芯片每个引脚多可以设置成中断输入;在嵌入式应用系统中,少数几个按键作为简单键盘的应用非常普遍,通常可应用GPIO引脚构建简单键盘。故本题选择D。

  22. 通过I2C、SPI、UART、LISB等可以实现嵌入式系统间或嵌入式系统与外围器件等的连接,下面相关叙述中,正确的是( )。

  A.SPI允许总线上的多个器件同时竞争总线,通过总线仲裁的方式确定器件的总线控制权

  B.I2C具有3个信号线:SCL、SDA和SSEL;当作为从设备时,其SSEL应为低电平

  C.UART只能工作于半双工通信方式

  D.USB有多个版本,如USB 1.0、USB 1.1、USB 2.0、USB 3.0等

  正确答案:D

  解析:I2C总线属于多主总线,即允许总线上有一个或多个主控制器件和若干从器件同时进行操作,通过总线仲裁的方式确定总线控制权;I2C只有两条信号线;数据线SDA和时钟线SCL,所有操作都通过这两条信号线完成;UART常用于全双工串行异步通信;USB有多个版本,如USB 1.0、USB 1.1、USB

  2.0、USB 3.0等。故本题选择D。

  23. 下面关于嵌入式系统中常用的简单输入设备和简单输出设备的叙述中,错误的是( )。

  A.嵌入式系统中使用的键盘有线性键盘和矩阵键盘两类

  B.电阻式触摸屏和电容式触摸屏是嵌入式系统中常用的两种触摸屏

  C.LCD是发光二极管的简称

  D.液晶显示器是嵌入式系统常用的一种显示设备

  正确答案:C

  解析:嵌入式系统中使用的键盘有线性键盘和矩阵键盘两类;电阻式触摸屏和电容式触摸屏是嵌入式系统中常用的两种触摸屏;液晶显示器是嵌入式系统常用的一种显示设备;放光二极管是LED,LCD是液晶显示器,故本题选择C。

  24. 下面与嵌入式处理器复位相关的叙述中,错误的是( )。

  A.一般情况下,为保证系统可靠复位,复位信号有效电平的时间宽度必须为若干个处理器时钟周期

  B.ARM复位后PC指针指向的地址是可选的

  C.嵌入式系统可使用外接典型复位芯片来保证系统可靠复位

  D.当嵌入式处理器的复位引脚标记为nRESET时,表示低电平复位

  正确答案:B

  解析:一般情况下,为保证系统可靠复位,复位信号有效电平的时间宽度必须为若干个处理器时钟周期;嵌入式系统可使用外接典型复位芯片来保证系统可靠复位;嵌入式处理器都有一个系统复位引脚为nRESET或RESET,n表示低电平复位,不带n的表示高电平复位;ARM复位后PC无条件的指向0x00000000处。B项错误,故本题选择B。

  25. 下面是关于基于ARM内核的嵌入式芯片中的中断控制器的叙述,其中错误的是( )。

  A.中断控制器是连接AMBA的系统总线和外围总线的桥接器

  B.一般采用向量中断或嵌套向量中断方式管理中断

  C.向量中断区分中断的优先级,并且每个中断都有各自的中断处理程序地址

  D.高优先级的中断可以进入低优先级中断的处理过程中,待高优先级中断处理完成后再继续执行低优先级中断处理

  正确答案:A

  解析:连接AMBA的系统总线和外围总线的是桥接器,DMA连接在AMBA的系统总线上,故A错误;DMA一般采用向量中断或嵌套向量中断方式管理中断,向量中断区分中断的优先级,并且每个中断都有各自的中断处理程序地址,高优先级的中断可以进入低优先级中断的处理过程中,待高优先级中断处理完成后再继续执行低优先级中断处理。故本题选择A。

  26. 下面是关于嵌入式系统中使用的无线通信接口或技术的叙述,其中错误的是( )。

  A.GPRS是GSM用户可用的一种移动数据业务,通常支持用AT指令集进行呼叫、短信、传真、数据传输等业务

  B.使用802.11系列协议的无线局域网也称为WiFi

  C.蓝牙是一种支持短距离通信的无线低速通信技术,它采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信

  D.嵌入式系统可通过扩展无线模块来实现无线通信,该模块与嵌入式处理器连接时一般只能采用UART

  正确答案:D

  解析:GPRS是GSM用户可用的一种移动数据业务,通常支持用AT指令集进行呼叫、短信、传真、数据传输等业务;凡使用802.11系列协议的无线局域网又称为Wi-Fi;蓝牙是一种支持短距离通信的无线低速通信技术,它采用 分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信;嵌入式系统中的常用无线模块主要包括GPS、GPRS、Wi-Fi、蓝牙及通用射频通信模块等,通信连接接口有UART,也有基于USB的。D项错误,故本题选择D。

  27. 下面关于实时系统的叙述中,错误的是( )。

  A.如果任务执行时间超过截止时间后系统的效益变为负,这种实时系统称为软实时系统

  B.高铁购票系统属于软实时系统

  C.实时系统按响应时间的快慢有强实时系统、普通实时系统和弱实时系统三种

  D.飞行控制器属于强实时系统

  正确答案:A

  解析:任务执行时间超过截止时间,系统的总损益就为负,这一种实时系统称为硬实时系统,否则为软实时系统。硬实时(Hard Real-Time)系统的运行正确性是同其响应时限紧密相关的。一旦超过时限将导致严重的负效益后果,如飞机控制器、核反应堆处理装置等。然而,在一个软实时(Soft Real-Time)系统中,虽然也存在时限指标,但是如果输出响应超过时限,一般不会造成严重后果。实时系统按响应时间的快慢有强实时系统、普通实时系统和弱实时系统三种。A项错误,故本题选择A。

  28. 微软公司开发的下列操作系统中,属于嵌入式操作系统的是( )。

  A.Windows NT

  B.Windows Phone 8

  C.Windows 8

  D.Windows Server 2012

  正确答案:B

  解析:B项Windows Phone 8的前驱产品是2003年问世的Windows Mobile,两者都是微软公司的手机操作系统。故本题选择B。

  29. 下面有关单内核操作系统的叙述中,错误的是( )。

  A.单内核操作系统也称为宏内核操作系统

  B.内含的功能模块多,模块间耦合度很高,内核运行效率高

  C.占用内存空间较大,可扩展性较差

  D.Android操作系统不属于单内核操作系统

  正确答案:D

  解析:单内核结构是传统操作系统采用的结构,也称为宏内核(Macro

  Kernel)。其缺点是占内存空间大,缺乏可扩展性,维护困难,任务执行时间的可预测性较低,可靠性较低,排除故障和增加新功能需要重编译。其优点是应用程序生成效率高,系统花在内核功能切换上的开销非常小,对外来事件反应速度快,操作系统内核的运行效率高;Android是典型的单内核操作系统。D项错误,故本题选择D。

  30. 下列程序中属于板级支持包(BSP)内容的是( )。

  A.引导加载程序

  B.进程管理程序

  C.进程间通信程序

  D.文件管理程序

  正确答案:A

  解析:BSP实际上一些汇编程序和C语言代码相结合的操作系统底层软件。包括初始化程序、设备驱动程序、配置文件和引导加载程序等。A项属于BSP内容,故本题选择A。

  31. 下面关于引导加载程序(Bootloader)的叙述中,正确的是( )。

  A.引导加载程序是硬件发生故障后由OS启动执行的

  B.加载和启动操作系统是引导加载程序的一项重要任务

  C.Bootloader包含加电自检和初始化程序,不包含设备驱动程序

  D.相同体系结构的硬件平台一定使用相同的引导加载程序

  正确答案:B

  解析:嵌入式系统加电后执行的第一批最初操作称为引导或者自举(Boot),对应的程序称为引导程序或者加载程序,其英文术语是Bootloader;引导加载程序主要完成内存加电自检、外设存在自检、内存地址映射、初始化外围设备、内存寻址定位、加载和启动操作系统。由于硬件平台的不同,每种平台的引导程序也有所差异。故本题选择B。

  32. 嵌入式Linux操作系统由用户进程、OS服务组件和Linux内核3个部分组成,下面叙述中错误的是( )。

  A.某个应用程序在Linux操作系统环境下运行时,它就成为一个用户进程

  B.服务组件是位于Linux操作系统内核之上的服务模块或实用程序的集合

  C.Linux内核包含进程管理、内存管理、文件管理、网络接口和进程间通信等模块

  D.Linux内核只供服务组件调用,与用户进程之间没有接口

  正确答案:D

  解析:用户进程是在Linux系统上运行的应用程序集合,某个应用程序在Linux操作系统环境下运行时,它就成为一个用户进程;OS服务组件是位于Linux操作系统内核之上的一层服务模块或实用程序的集合;Linux内核包含进程管理、内存管理、文件管理、网络接口和进程间通信等模块;Linux内核为用户进程提供了一个虚拟接口(系统调用)。故本题选择D。

  33. 下面关于Linux内核的叙述中,错误的是( )。

  A.Linux的创始人是芬兰大学生Linus Torvalds

  B.Linux内核的最新版本是2.0版

  C.Linux内核是一种自由软件,其源代码是开放的 D.对于不同体系结构的CPU,Linux内核的源代码各不相同

  正确答案:B

  解析:Linux内核是一种自由软件,其源代码是开放的,其创始人是芬兰学生IAnus Torvalds;对于不同体系结构的CPU,Linux内核的源代码各不相同;2012年Linux内核升级到3.0版本,B项错误。故本题选择B。

  34. Linux内核主要由5个子系统组成,下面选项中不属于这5个子系统的是( )。

  A.进程调度

  B.内存管理

  C.虚拟文件系统

  D.浏览器程序

  正确答案:D

  解析:Linux内核主要由5个子系统组成:进程调度;内存管理;虚拟文件系统;网络接口;进程间通信。故本题选择D。

  35. 下面关于μC/OS-II任务管理的叙述中,错误的是( )。

  A.它可以管理多达64个任务

  B.用户任务最多只能有32个

  C.空闲任务(idle task)是系统所创建的第1个任务

  D.就绪状态的任务表示已经具备运行条件但并不在运行的任务

  正确答案:B

  解析:μC/OS-11只能管理64个任务,目前的版本保留8个任务给系统,故用户编写的应用程序最多可以有56个任务;空闲任务(idle task)是系统所创建的第1个任务;就绪态的任务意味着该任务已经准备好,可以运行但由于该任务的优先级比正在运行的任务的优先级低,暂时还不能运行。B项错误,故本题选择B。

  36. μC/OS-II的每个任务都处于5种状态之一,这5种状态是( )。

  A.休眠态、就绪态、运行态、挂起态、被中断态

  B.等待态、输入态、运行态、挂起态、输出态

  C.休眠态、就绪态、运行态、输入态、输出态

  D.输入态、就绪态、运算态、输出态、完成态

  正确答案:A

  解析:μC/OS-II的每个任务都处于以下5种状态之一:休眠态、就绪态、运行态、挂起态和被中断态。故本题选择A。

  37. 关于μC/OS-II中处于就绪状态的任务,下面叙述中正确的是( )。

  A.该任务已经可以运行,一旦CPU空闲该任务将立即运行

  B.该任务已经可以运行,但由于优先级不够暂时不能运行 C.该任务已经可以运行,一旦得到所需资源将立即运行

  D.该任务已经可以运行,一旦事件信号量出现将立即运行

  正确答案:B

  解析:处在就绪态的任务意味着该任务已经准备好,可以运行但由于该任务的优先级比正在运行的任务的优先级低,暂时还不能运行。故本题选择B。

  38. 在开发低端、中端、高端等类型的嵌入式系统时,一般都需要选择和利用合适的开发平台来进行。下面有关嵌入式系统开发平台的叙述中,不正确的是( )。

  A.开发平台中的软件开发工具,通常会包括:项目管理器、编辑器、编译器、连接器等

  B.开发平台中的软件开发工具往往都作为一个整体提供给开发人员使用,以提高开发工作效率

  C.有的开发平台中还包含一些中间件和软件组件,以满足特定应用领域的各种应用开发

  D.用开发平台所开发出的低端嵌入式系统应用软件,必须基于某一个嵌入式操作系统上运行

  正确答案:D

  解析:嵌入式系统的开发平台包含大量开发工具,软件开发工具通常包括:项目管理器、编辑器、编译器、连接器、定位器等;这些软件开发工具往往都使用统一的用户界面并作为一个整体提供给开发人员使用,以提高开发工作效率;有的开发平台中还包含一些中间件和软件组件,以满足特定应用领域的各种应用开发;嵌入式系统的开发平台大多采用宿主机一目标机的架构,宿主机是开发用机,目前大多数运行Windows操作系统,而应用软件的开发和调试都是通过宿主机开完成。故本题选择D。

  39. 下面关于JTAG的叙述中,错误的是( )。

  A.JTAG是ARM内核独有的一种测试接口,其他种类的嵌入式处理器一般没有该接口

  B.JTAG可用于实现嵌入式系统的在线编程功能

  C.多个器件可以通过JTAG接口串联在一起,形成一个JTAG链

  D.SWD是Cortex-M内核提供的功能与JTAG类似的调试接口

  正确答案:A

  解析:JATG可用于实现嵌入式系统的在线编程功能,其标准允许多个芯片通过JTAG接口串联在一起,实现对多个器件的测试;目前大多数嵌入式CPU、DSP、FPGA器件都支持JTAG标准;SWD是Cortex—M内核提供的功能与JTAG类似的调试接口。故本题选择A。

  40. 下面有关RVDS开发工具套件的描述语句中,不正确的描述是( )。

  A.RVDS工具套件可支持以ARM系列微处理器为核心的嵌入式系统软件开发 B.RVDS中包括调试器(RVD),RVD只具有在线调试功能

  C.RVDS与ADS1.2比较而言,其生成的代码紧凑、执行效率高

  D.RVDS可以对用汇编语言或者C语言或者C++语言编写的源程序进行编译

  正确答案:B

  解析:RVDS是ARM公司推出的基于ARM系列CPU进行开发的工具套件,支持所有ARM芯片,还支持其他内核的处理器,如51系列;与ADS1.2比较而言,其生成的代码紧凑,执行效率高;RVDS的开发工具套件中,主要包括工程管理器、编译连接器、调试器和指令集仿真器等;支持汇编、C和C++对源程序进行编译。故本题选择B。

  填空题

  41. 下图是嵌入式系统硬件部分的逻辑组成及其与外部世界关系的示意图,其中的组成部分A是【41】_______;组成部分B是【42】_______。

  正确答案:【41】中央处理器【42】用户界面

  解析:本题考查较简单,主要是嵌入式系统硬件的逻辑组成。硬件的主体是中央处理器和存储器,他们通过I/O接口和I/O设备与外部世界联系,并借助总线相互连接。中央处理器(CPU)由运算器、控制器、寄存器、高速缓冲存储器(Cache)等部件组成,故A是中央处理器;B里面包括按键、键盘、指示灯和屏幕等人机交互设备,他们是用户界面的硬件部分,所以B是用户界面。

  42. 数字图像的文件格式有多种,不同的文件格式采用不同的编码方法,具有不同的特点,适合不同的应用。其中【43】_______图像文件格式颜色数目较少(不超过256色),文件特别小,支持动画,适合互联网传输。【44】_______图像文件格式是静止图像数据压缩编码的国际标准,它在数码相机和互联网中得到广泛使用。

  正确答案:【43】GIF【44】JPEG

  解析:此题考查数字图像的文件格式。数字图像的文件格式包括BMP,TIF(或TIEF),GIF,JPEG,PNG等,各有特点,适合不同的应用需求。GIF是目前互联网上广泛使用的一种图像文件格式,它的颜色数目较少(不超过256色),文件特别小,适合互联网传输。JPEG是静止图像数据压缩编码的国际标准,它特别适合处理各种连续色调的彩色或灰度图像,算法复杂度适中,软硬件实现皆可,目前已在互联网和数码相机中得到广泛应用。

  43. 无线局域网采用的通信协议主要是802.11,通常也称为【45】_______,为了能满足传输语音、数据、图像等需要,目前使用的802.11n协议其数据传输速率可达【46】_______Mbps甚至更高,相应的产品已经广泛使用。

  正确答案:【45】Wi-Fi【46】108

  解析:此题主要考查无线局域网的主要通信协议IEEE 802.11(俗称Wi-Fi)。 无线局域网采用的协议主要是IEEE 802.11,通常也称为Wi-Fi。为了实现高带宽、高质量的WLAN,近些年推出的IEEE 802.11n协议又将传输速率进一步提高到108Mb/s甚至更高,相应的产品已经广泛使用。

  44. ARM处理器有7种异常:主要包括【47】_______、未定义指令UND、软件中断SWI、指令预取中止PABT、数据访问中止DABT、【48】_______以及快速中断FIQ。

  正确答案:【47】复位RESET【48】外部中断请求IRQ

  解析:本题是概念题,需要熟练掌握ARM处理器的7种异常。ARM处理器的7种异常主要包括:复位RESET、未定义指令UND、软件中断SWI、指令预取中止PABT、数据访问中止DABT、外部中断请求IRQ以及快速中断FIQ。

  45. ARM处理器按照ARM公司分类可分为经典ARM处理器(ARM7~ARM11)、Cortex嵌入式处理器和Cortex应用处理器,其中Cortex嵌入式处理器包括实时应用的Cortex-【49】_______和面向控制应用的Cortex-【50】_______。

  正确答案:【49】R【50】M

  解析:此题考查ARM处理器内核分类,尤其是Coaex处理器。Codex-R为实时应用Codex处理器,其中R表示Real Time;Coaex-M为面向控制应用的Coaex处理器,其中M表示MicroController。

  46. 在ARM处理器中,通用寄存器有R0-R15,其中R13通常用作【51】_______,R14作为【52】_______使用。

  正确答案:【51】堆栈指针SP【52】程序链接寄存器LR

  解析:此题考查ARM处理器中通用寄存器的作用。ARM通用寄存器共有31个,均为32位结构。R13-R14除了用户模式和系统模式分别为堆栈指针(SP)和程序链接寄存器(LR)之外,其他模式下均有自己独特的标记方式,是专门用于特定模式的寄存器,共6组12个。

  47. 已知R1=0x12345678,R2=0x80000101,则执行指令AND R0,R1,R2后,寄存器R0=【53】_______,R2=【54】_______。

  正确答案:【53】0【54】0x80000101

  解析:AND是逻辑与指令,按位相与,有0出0,全1出1;属于数据处理类之逻辑运算指令。将R1和R2进行与运算之后的结果送到R0中,R2中保持不变。

  48. 已知R2=1000,R3=200,执行指令MOV R2,R3,LSL#2后,R2=【55】_______,R3=【56】_______。

  正确答案:【55】800【56】200

  解析:MOV是数据传送指令,属于数据处理类之数据传送指令。将寄存器 R3的值左移2位之后传送到R2;R3值不变。

  49. 嵌入式系统使用的存储器有多种类型,按照其存取特性可分为随机存取存储器和只读存储器,它们通常都用三个大写英文字母表示,即【57】_______和【58】_______。

  正确答案:【57】RAM【58】ROM

  解析:嵌入式系统的存储器类型即相应的英文缩写。全称为Ranctom Access

  Memory(随机存取存储器);全称为Read Only Memory(只读存储器)。

  50. I2C可用于连接嵌入式处理器及其外围器件,它是广泛采用的一种串行【59】_______双工传输的总线标准。I2C总线中,发起数据传输操作的I2C器件是【60】_______控器件。

  正确答案:【59】半【60】主

  解析:本题考查I2C总线的相关概念。是广泛采用的一种串行半双工传输的总线标准。I2C总线中发起数据传输操作的I2C器件是主控器件。

  51. 通用输入/输出接口,用英文大写字母缩写为【61】_______,嵌入式处理器内部一般均集成该种I/O接口。该接口一般具有三态,即0态,1态和【62】_______态。

  正确答案:【61】GPIO【62】高阻

  解析:本题考查GPIO端口的相关概念及三种工作状态。General Purpose Input

  Output,即通用输入/输出接口;该接口除了0态、1态还有高阻态。

  52. 下图给出了两种LED数码管的内部结构原理图,其中图(a)为共【63】_______极LED数码管,图(b)为共【64】_______极LED数码管。

  正确答案:【63】阳【64】阴

  解析:本题考查LED数码管的两种内部结构图。图(a)是共阳极接法;即把LED发光二极管的所有阳极连接在一起;图(b)是共阴极接法,即把所有LED发光管的阴极连接在一起。

  53. 三星公司基于ARM9内核的S3C2410嵌入式微处理器芯片的电源管理模块共有4种工作模式。【65】_______模式下,电源管理模块仅断开ARM内核时钟FCLK,但仍为外围硬件组件提供时钟。【66】_______模式下,电源管理模块将断开内部电源,除非唤醒逻辑有效,内核不产生功耗。

  正确答案:【65】休眠【66】掉电

  解析:本题考查S3C2410内部的电源管理模块所具有的四种模式:正常模式、慢速模式、休眠模式和掉电模式。休眠模式下,电源管理模块仅断开ARM内核时钟FCLK,让CPU处于休眠状态,但仍为外围硬件组件提供时钟;掉电模式下电源管理模块将断开内部电源,除非唤醒逻辑有效,否则内核不产生功耗。

  54. 按响应时间划分,通常可将实时系统分为三类:(1)普通实时系统,响应时间一般在秒级;(2)响应时间在毫秒级和【67】_______级的强实时系统;(3)响应时间在数十秒级的【68】_______实时系统。

  正确答案:【67】微秒【68】弱

  解析:本题考查实时系统的按响应时间分类,一般分为三类:强实时系统、普通实时系统和弱实时系统。强实时系统的响应时间在毫秒级或微秒级;弱实时系统的响应时间一般在数十秒。

  55. μC/OS-II系统内核提供的基本功能有:【69】_______、任务间通信与同步、任务调度、时间管理和【70】_______等。

  正确答案:【69】任务管理【70】内存管理

  解析:本题考查μC/OS-II系统内核所提供的5个基本功能:任务管理、任务间通信与同步、任务调度、时间管理和内存管理。

  56. 引导加载程序主要完成内存加电自检,外设存在自检,【71】_______映射,初始化外围设备,内存寻址定位,加载和启动【72】_______。

  正确答案:【71】内存地址【72】操作系统

  解析:本题主要考查引导加载程序所完成的相应操作。嵌入式系统加电后执行的第一批最初操作称为引导或者自举,对应的程序称为引导程序或者引导加载程序。

  57. μC/OS—II的就绪任务登记在【73】_______表中,OSRdyTb1[]的每一位代表了一个优先级任务的就绪状态,称为就绪位。OSRdyTb1[]最多可有【74】_______位。

  正确答案:【73】就绪【74】64

  解析:本题主要考查μC/OS-II的任务调度中就绪表。μC/OS-II的就绪任务等级在就绪表中,OSRdyTbl[]是就绪表的位图映像矩阵,每一位代表了一个优先级任务的就绪状态,称为就绪位,该矩阵最多可有64位。

  58. 常见的嵌入式Linux 进程间通信机制包括信号、管道、【75】_______、信号量、共享内存和【76】_______

  正确答案:【75】消息队列【76】套接字

  解析:本题考查常见的嵌入式Linux 进程间的通信机制。包括信号、管道、消息队列、信号量、共享内存和套接字。

  59. 采用ADS1.2集成开发工具软件来开发基于ARM微处理器的嵌入式系统时,ADS1.2把目标文件中的信息按照三种存储区域类型来进行划分,即划分为RO段、【77】_______、ZI段。其中RO段是指【78】_______和常数的 存储区域,具有只读属性。

  正确答案:【77】Rw段【78】代码

  解析:本题主要考查嵌入式系统主要开发工具软件ADS1.2如何进行地址映射配置。ADS1.2把目标文件中的信息按照3种存储区域类型来进行划分,即划分为RO段、RW段、ZI段;RO段是指代码存储区和常数存储区,具有只读性质。

  60. GNU是一种用于开发基于Linux操作系统的工具软件套件。它包括了编译器、连接器、调试器以及文本编辑器、语法除错等工具。其中【79】_______是编译器、GDB是【80】_______工具。

  正确答案:【79】GCC【80】调试器

  解析:本题考查基于Linux操作系统的嵌入式软件的工具套件GNU相关知识。GCC是GNU开发工具套件中的核心工具软件,是编译器;GDB是GNU开发工具套件中的程序调试工具。

  综合题

  61. 某机械设备的控制器,其基本功能要求有: 需要有8个数字量输入,用于采集设备的状态信息;且需要8个数字量输出,用于控制设备动作。

  具备一个RS-232接口,可以和上位机连接,接收上位机发送的命令及参数。

  需要提供一个基准定时信号,定时时间间隔为0.01秒。 需要彩色LCD显示器,用于显示状态信息等。 根据上述功能要求的描述,若采用S3C2410芯片为核心来构建该机械设备控制器的硬件平台,请完善下面的叙述和C语言程序(需要使用的控制寄存器的格式见题后说明)。

  (1)若硬件设计时采用GPIO端口E的GPE0~GPE7引脚作为8个数字量输出,那么软件设计时其初始化语句是:rGPECON=(rGPECON10x00005555)&【81】_______。若软件设计时需要通过GPE5引脚输出“1”来驱动执行机构动作,那么语句是:rGPEDAT=rGPEDAT|【82】_______。(注:rGPECON是端口E的控制寄存器所对应的变量,rGPEDAT是端口E的数据寄存器所对应的变量)

  (2)硬件设计时,选用UART0来完成RS一232接口电路设计。在软件设计时,其初始化程序中波特率设置为9600bps,数据格式设置为:8位数据位、奇校验、1位停止位。请补充完善下面的UARTO初始化函数(注:主频参数为PCLK): voidUART0_Init( ) { rGPHCON=(rGPHCON&OxFFFFFF00)|【83】_______;//端口H相应引脚功能初始化 rUFCON0=0X0;//FIFO不使能UMCON0=0x0: ruLCON0=【84】_______;//设置线路控制寄存器rUCON0=0x145;//设置控制寄存器 ruBRDIV0=((int)(PCIX/【85】_______)-1);//设置波特率,小数采用四舍五入 }

  (3)按照上面UAlRT0初始化函数所设置的通信速率,每秒钟最多能传输【86】_______个字节的信息。若上位机有大小为4KB的初始参数需要下载到控制器中,那么,约需传输【87】_______秒才能完成下载(1K=1024,精确到小数点后面1位数字)。

  (4)系统中所需要的0.01秒基准定时时间选用S3C2410芯片内部的Timer0部件来产生。若系统的主频参数PCLK为264MHz,分频器值选择为16预分频系数选择为3, 那么,Timer0的计数常数为【88】_______。软件设计时,设计了如下的Timer0初始化函数,请补充完善。(注:下面程序中⑨、⑩、(12)用8位十六进制数表示,(11)用4位十六进制数表示) void Timer0Int(void) { //设置定时器配置寄存器O(TCFGO) rTcFGO=【89】_______;//Timer0预分频系数选择为3,该寄存器中其它无关位均为0 //设置定时器配置寄存器1(TCFG1)rTCFG1=【90】_______;//Timer0分频器值为16,该寄存器中其它无关位均为0 //设置计数常数 rTCNTB0=【91】_______; //设置控制寄存器’rCON rTCON=【92】_______;//更新TCNTB0和TCMPB0,该寄存器中其它无关位均为0 rTCON=0x00000009;//设置Timer0自动装载,并启动 }

  (5)彩色LCD显示屏的硬件接口电路由S3C2410的专用GPIO端口【93】_______和端口【94】_______相关引脚配以驱动电路来设计。软件设计时,需要通过设置它们控制寄存器的值分别为【95】_______和【96】_______来确定它们的引脚功能。

  (6)系统的软件可以设计为在无操作系统的环境下运行。设计者自行设计系统的启动引导程序,在该程序中完成异常向量设置、堆栈指针设置以及必要的硬件初始化。ARM9体系结构中规定的IRQ异常所对应的异常向量地址为【97】_______。Timer0部件所产生的0.01秒基准时间到时将引起IRQ异常。由于IRQ异常向量地址与下一个异常向量地址之间间隔为【98】_______个字节,因此,通常在IRQ异常向量地址处设计一条转移指令。堆栈指针的设置需按工作模式来进行。设置IRQ模式下的堆栈指针,需在R0“清0”后用指令ORRR1,R0,#0x12|【99】_______和MSRCPSR_CXSF,R1来使CPU核进入IRQ模式,然后再给SP寄存器赋值作为该模式下的堆栈指针。这些初始化工作完成后,即可通过指令【100】_______来引导应用程序的主函数main( )。

  说明:下面是试题解答时需要用到的寄存器格式及相关说明。

  1)端口C的控制寄存器(GPCCON)

  2)端口D的控制寄存器(GPDCON)

  3)端口E的控制寄存器(GPECON)

  4)端口H的控制寄存器(GPHCON)

  5)UART线路控制寄存器(ULCONn n可以是0、1、2)

  6)TCFG0寄存器

  7)TCFG1寄存器 说

  明:设置TCFG0、TCFG1可以确定预分频器系数、分频器值,如:通过设置TCFG0为0x0000001F,Timer0的预分频器系数选择为31,设置TCFG1为0x00000001,Timer0的分频器值选择为4。通过下面公式计算定时器的计数常数: 定时器输入时钟频率=PCLK/(预分频系数+1)/分频器值 计数常数=定时时间间隔/(1/定时器输入时钟频率) 预分频系数的范围为0~255,分频器值的取值范围为2、4、8、16。 8)TCON寄存器(注:此处不用的位被省略,其值默认为0x0000000)

  正确答案:(1)【81】0xFFFF5555【82】0x0020 (2)【83】0x000000AA【84】0x23【85】(9600×16)+0.5 (3)【86】872【87】4.7 (4)【88】41 250【89】0x00000003【90】0x00000003【91】0xA122【92】0x00000002 (5)【93】C【94】D【95】0xAAAAAAAA【96】0xAAAAAAAA (6)【97】0x00000018【98】4【99】0xC0【100】BL_main

  解析:(1)和0相与清零,和1相与保持不变。和0相或保持不变,和1相或置1。00为输入,01为输出,则初始化GPIO端口E的GPE0~GPE7引脚功能为输出的语句是:rGPECON=(rGPECON 10x00005555)&0xFFFF5555,空【81】为0xFFFF5555;通过GPE5引脚输出“1”来驱动执行机构动作,则将第6位置1,即rGPEDAT=rGPEDAT|0x0020,则空【82】为0x0020。 (2)0x000000AA; 8位数据位、1位停止位、奇校验。在ULCON中,[1:0]:11=8位;[2]:0=1位停止位;[5:3]:100=奇校验;[6]:0=正常操作模式。即rGPHCON=(IGPHCON&0xFFFFFF00)|0x000000AA,则空【83】为0x000000AA。空【84】此处对线路控制寄存器进行相应设置。空【85】对所需的波特率进行设置。 (3)按照上面UART0初始化函数所设置的通信速率,每秒钟最多能传输9600/(8+3)=872个字节的信息。若上位机有大小为4KB的初始参数需要下载到控制器中,那么,约需传输4×1024/872=4.7秒。 (4)定时器输入时钟频率=PCLK/(预分频系数+1)/分割器值,计数常数=定时时间间隔/(1/定时器输入时钟频率),即可得本题空【88】答案。TCFGO中[7:0]位确定Timer0的预分频系数,题设为3,则空【89】为0x00000003;TCFG1中[3:0]位确定Timer0的分频器值,题设为16,则空【90】为0x00000003。空【91】处设置的计数常数为0xA122;更新TCNTB0和TCMPB0设置空【92】为0x00000002。 (5)GPC和GPD作为LCD液晶屏接口引脚,空【93】为C,空【94】为D;00为输入,01为输出,将端口C和D均设置为输出,空【95】【96】均为0xAAAAAAAA。 (6)ARM9体系结构中规定的IRQ异常所对应的异常向量地址为0x00000018。IRQ异常向量地址与下一个异常向量地址之间间隔为4个字节。R0“清0”后用指令ORR R1,R0,#0x12 10xC0和MSR CPSR_CXSF,R1来使CPU核进入IRQ模式。可通过指令BL_main来引导应用程序的主函数main( )。