跳转至

第五章 测验题

本章精选 30 道真题,涵盖嵌入式系统开发的核心考点。


开发流程与工具

1. 开发嵌入式系统时,需要构建一个宿主机-目标机的开发环境。若目标机是裸机,那么为了调试和下载软件需要将调试仿真器连接到目标机的哪一种接口?

  • A)SPI接口
  • B)以太网接口
  • C)JTAG接口
  • D)USB接口
答案解析

答:C 程序调试时不占用目标机的资源,因此目标机的初始启动程序调试、硬件接口的调试,一般都采用JTAG。裸机状态的目标机更需要采用JTAG调试方式。


2. 下面有关嵌入式系统开发过程的描述语句中,不恰当的是( )。

  • A)在系统设计阶段应该根据系统需要实现的功能,来综合考虑软硬件功能的划分,确定哪些功能由硬件完成,哪些功能由软件完成。
  • B)在系统设计阶段不仅需要描述用户的功能需求如何实现,且需要描述非功能需求(如:功耗、成本、尺寸等)如何实现。
  • C)构件设计阶段,设计者需要设计或选择符合系统结构所需要的具体构件。构件通常是指硬件模块,而不包括软件模块。
  • D)系统集成与测试阶段,应该每次只对一部分构件或模块所集成的系统进行测试,各部测试完成后,再整体测试。
答案解析

答:C 在构件设计阶段,设计者需要设计或选择符合系统结构和规格说明中所需要的具体构件,既包括硬件也包括软件模块。C选项说"不包括软件模块"是错误的。


3. 下面有关GNU工具套件的描述语句中,不恰当的是( )。

  • A)GNU是一种常用于开发基于Linux操作系统应用软件的工具套件
  • B)GCC是GNU套件中的编译连接器,它能编译C语言、汇编语言编写的程序代码
  • C)若要用GDB调试某Linux的应用软件时,编译时需要在命令中加入-g参数
  • D)在GDB调试环境下,用run命令来装入需要调试的可执行文件
答案解析

答:D 在GDB调试环境下,file命令是装入需要调试的可执行文件,run命令是执行当前被调试的程序。D选项将两个命令的功能混淆了。


4. 在基于ARM微处理器为核心的硬件平台上,开发其Linux环境下的应用程序exp1.c。若需要编译后生成exp1.c对应的汇编程序,应使用的命令是( )。

  • A)arm-linux-gcc -S exp1.c
  • B)arm-linux-gcc -oexp1 exp1.c
  • C)arm-linux-gcc -c exp1.c
  • D)arm-linux-gcc -g -oexp1 exp1.c
答案解析

答:A 参数-S表示只执行预处理和编译阶段,生成汇编语言文件(.s)。-c生成目标文件(.o),-o指定输出文件名,-g加入调试信息。


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

  • A)JTAG技术为ARM公司专用,非ARM处理器不采用JTAG技术
  • B)通过JTAG测试接口可对嵌入式处理器芯片进行测试、对系统进行仿真、调试
  • C)多个器件可以通过JTAG接口串联在一起进行测试
  • D)通过芯片的JTAG接口可以实现在线编程功能
答案解析

答:A JTAG是IEEE 1149规范的国际标准,并非ARM公司专用。目前大多数嵌入式CPU、DSP、FPGA器件都支持JTAG标准。


6. 下面有关片上调试技术的描述语句中,不恰当的是( )。

  • A)边界扫描技术是调试硬件芯片及目标机电路板的一种常用调试技术。
  • B)JTAG组织所研究的测试访问端口和边界扫描结构标准,成为了片上测试技术的一种国际标准,即俗称的JTAG标准。
  • C)使用片上调试技术进行嵌入式系统目标机调试时,无需目标存储器,也不占用目标机任何I/O端口。
  • D)经常用于嵌入式系统设计中的微处理器(如:MCS-51、DSP、ARM)都支持JTAG标准的片上调试技术
答案解析

答:D MCS-51单片机不支持JTAG调试标准,其软件固化要使用"编程器"设备来进行。大多数嵌入式CPU、DSP、FPGA器件支持JTAG标准,但并非所有微处理器都支持。


7. 下面的叙述中,不正确的是( )。

  • A)在嵌入式系统开发时,通常可以把其开发过程划分为:系统需求分析与规格说明、系统设计、构件设计、系统集成与测试等几个阶段。
  • B)所谓的构件设计,是指包括软件设计与编程、专用硬件芯片选择及硬件电路设计等具体设计工作。
  • C)系统集成与测试的目的是发现设计中的错误并进行改正。在此阶段,应该等系统集成完成后再整体地对系统进行测试。
  • D)嵌入式系统设计者需要遵循软硬一体、软硬协调设计的思想。在系统功能满足要求的前提下,结合性能、费用成本、尺寸等约束条件,确定哪些功能由硬件构件实现,哪些功能由软件构件实现。
答案解析

答:C 系统集成与测试应该分步、按阶段构建系统,每次只对一部分构件或模块进行测试,这样更容易发现并定位错误。不应等全部集成完成后再整体测试。


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

  • A)RVDS工具套件可支持以ARM系列微处理器为核心的嵌入式系统软件开发。
  • B)RVDS中包括调试器(RVD),RVD只具有在线调试功能
  • C)RVDS与ADS1.2比较而言,其生成的代码紧凑、执行效率高。
  • D)RVDS可以对用汇编语言或者C语言或者C++语言编写的源程序进行编译。
答案解析

答:B RVDS的开发工具套件中,主要包括工程管理器(IDE)、编译连接器(RVCT)、调试器(RVD)和指令集仿真器(RVISS)等。RVD不仅具有在线调试功能,还支持指令集仿真等多种调试方式。


9. 若把嵌入式系统设计开发过程分为4个阶段,下面的说法中,恰当的是( )。

  • A)在系统需求分析阶段,必须了解用户对嵌入式系统的功能需求,尺寸、大小、成本等需求不需了解。
  • B)系统设计阶段,必须确定哪些功能由硬件完成,哪些功能由软件完成。
  • C)构件设计阶段的任务是进行芯片比较并选择现成的芯片或模块
  • D)系统集成与测试阶段应该把系统所需部件全部集成后再进行测试。
答案解析

答:B 系统设计阶段需要综合考虑软硬件功能划分。A错在需求分析也要包含非功能需求(如成本、功耗等);C错在构件设计不仅包括硬件还包括软件模块;D错在应分步测试而非全部集成后再测试。


10. 下面有关嵌入式系统开发的说明中,错误的是( )。

  • A)嵌入式系统开发往往是与应用目标紧密联系在一起的。
  • B)嵌入式系统的应用程序需要基于某个嵌入式操作系统上来开发。
  • C)嵌入式系统开发往往需要综合考虑系统的硬件、软件逻辑功能如何实现。
  • D)嵌入式系统开发往往需使用宿主机-目标机的开发架构来进行。
答案解析

答:B 嵌入式系统开发并非都需要操作系统,低端嵌入式系统可以在裸机环境下开发应用程序。


11. 下面的描述语句中不正确的是( )。

  • A)在嵌入式系统开发中,不同复杂程度的嵌入式系统,使用的调试工具不完全相同。
  • B)嵌入式系统开发时,所采用的调试工具,其任务是控制程序代码的执行并使系统中看不见的信息成为可见。
  • C)对嵌入式系统进行调试时,硬件部分的调试需要借助JTAG调试工具,不需要借助于"正确"的软件。
  • D)在线仿真器是一种嵌入式系统的调试工具,其与所要开发的嵌入式系统应具有相同的嵌入式处理器体系结构。
答案解析

答:C 使用JTAG进行调试时,运行在宿主机上的调试工具软件通过目标机CPU芯片的JTAG接口以及内嵌的调试电路来完成调试工作。由于硬件不能脱离软件的控制而单独运行,因此JTAG调试仍需要借助"正确"的软件。


12. 下面对ADS1.2集成开发环境进行描述的语句中,正确的是( )。

  • A)ADS1.2集成开发环境中,以一个工程项目的形式来管理应用程序的源文件、库文件、头文件,但不管理其地址映射文件。
  • B)ADS1.2集成开发环境中,一个应用程序的工程项目中至少应包含一个生成目标。
  • C)ADS1.2集成开发环境中,若生成的输出文件中需要包含所有的调试信息,那么,生成目标应选择Release。
  • D)ADS1.2集成开发环境中,对应用程序进行编译、连接时,应使用scatter格式的文件来确定地址映射关系及输入文件的连接顺序。
答案解析

答:B ADS1.2中一个工程项目至少包含一个生成目标。ARM提供的可执行输出文件模板包括Debug、Release、DebugRel三个生成目标。需要包含调试信息时应选Debug而非Release;scatter格式文件仅在地址映射关系复杂时使用,不是必须的。


13. 在开发嵌入式系统时,一般都需要选择和利用合适的开发平台。下面有关嵌入式系统开发平台的叙述中,不正确的是( )。

  • A)开发平台中的软件开发工具,通常会包括:项目管理器、编辑器、编译器、连接器等
  • B)开发平台中的软件开发工具往往都作为一个整体提供给开发人员使用,以提高开发工作效率。
  • C)有的开发平台中还包含一些中间件和软件组件,以满足特定应用领域的各种应用开发。
  • D)用开发平台所开发出的低端嵌入式系统应用软件,必须基于某一个嵌入式操作系统上运行。
答案解析

答:D 低端嵌入式系统可以在裸机环境下运行,不需要基于嵌入式操作系统。嵌入式系统的开发平台大多采用宿主机-目标机的架构。


14. 下面有关开发套件GNU的说法中,错误的是( )。

  • A)GNU开发套件中包括编译器、连接器、文本编辑器等,但不包括调试器。
  • B)GNU开发套件中的核心工具软件是GCC。
  • C)GCC在编译阶段可以检查输入文件中的代码语法是否正确。
  • D)GNU开发套件可以开发基于Linux的应用程序。
答案解析

答:A GNU开发工具套件包括编译器、连接器、调试器、文本编辑器、语法除错等工具。GDB是GNU中的程序调试工具,A选项说"不包括调试器"是错误的。


15. 在嵌入式系统开发时,不同复杂程度或应用背景的系统,其调试工具可能不相同。下面所列举的工具或软件中,不是调试工具或调试软件的是( )。

  • A)在线仿真器。
  • B)指令集模拟器。
  • C)代码烧写器。
  • D)驻留监控软件。
答案解析

答:C 嵌入式系统开发的4种调试技术及工具包括:在线仿真器、片上调试技术(JTAG)、驻留监控软件调试以及指令集模拟器。代码烧写器不属于调试工具。


16. 下面的语句中,说法不正确的是( )。

  • A)使用在线仿真器的调试方式时,在线仿真器取代了被调试目标系统中的CPU。
  • B)片上调试技术通常采用JTAG标准。
  • C)指令集模拟器是在目标机上模拟调试程序代码。
  • D)驻留监控软件调试方法需要在目标机中存储一段支持通信和调试命令的软件。
答案解析

答:C 指令集模拟器(ISS)是在宿主机上模拟应用程序在目标机上运行行为的一个软件工具,而非在目标机上模拟。


17. 下面有关片上调试技术的描述语句中,错误的是( )。

  • A)指令集模拟器是在目标机上模拟调试程序代码
  • B)片上调试技术通常采用JTAG标准
  • C)使用片上调试技术进行嵌入式系统目标机调试时,无需目标存储器,也不占用目标机任何I/O端口
  • D)对硬件芯片及目标机电路板进行片上调试最常用的一种技术是边界扫描技术
答案解析

答:A 指令集模拟器是在宿主机上模拟应用程序在目标机上运行行为的软件工具,不是在目标机上模拟。


18. 集成开发环境是嵌入式系统开发时所用的工具软件,它包含有许多工具。下面所列举的工具中,哪一个不属于集成开发环境所包含的工具?

  • A)项目管理器
  • B)示波器
  • C)编译连接器
  • D)文本编辑器
答案解析

答:B 集成开发环境主要包含项目管理器、编译连接器、文本编辑器等软件开发工具。示波器是一种硬件测试仪器,不属于集成开发环境。


19. 下面语句中,正确的是( )。

  • A)测试与调试既有联系又有区别。其中,调试的目的是验证模块/系统的功能和性能。
  • B)在嵌入式系统的开发中,只需要借助软件调试工具,就能准确地定位软件和硬件中出现的错误。
  • C)软件调试工具的任务是控制程序代码的执行并使系统中看不见的信息成为可视。
  • D)嵌入式系统的开发中,仅需要对软件的正确性进行调试。
答案解析

答:C 测试的目的是验证功能和性能、发现错误(A错误);调试需借助多种硬件和软件工具(B错误);不仅要调试软件还要调试硬件(D错误)。C正确描述了软件调试工具的任务。


20. 下面的说法中,正确的是( )。

  • A)嵌入式系统设计阶段的任务只是确定系统的硬件结构。
  • B)嵌入式系统的开发工具包括编译器、调试器,但不包括仿真器。
  • C)JTAG调试技术能支持裸机环境下硬件调试。
  • D)开发工具ADS1.2中的地址映射关系只能采用scatter格式的文件来确定。
答案解析

答:C 系统设计阶段需要确定硬件结构和软件结构(A错误);开发工具也包括仿真器(B错误);ADS1.2的地址映射也可以采用文本方式(D错误)。JTAG调试技术确实能支持裸机环境下的硬件调试。


21. 下面对嵌入式系统开发过程的描述语句中,错误的是( )。

  • A)需求分析阶段需分析用户的功能性需要和非功能性需求。
  • B)构件设计阶段即为详细设计,构件指的是硬件芯片,不包括软件模块。
  • C)系统集成与测试阶段将把所有构件集成,得到一个可以实际运行的系统。
  • D)测试的目的是验证系统的功能和性能,发现错误。
答案解析

答:B 构件设计分成硬件构件设计和软件构件设计两部分来进行。构件不仅包括硬件芯片,还包括软件模块。


22. 嵌入式系统产品的类型是多种多样的,其开发平台也是多种多样的。下面说法中,不正确的是( )。

  • A)嵌入式系统开发平台通常都包含有许多开发工具,如编辑器、编译器、调试器等。
  • B)ADS1.2是开发以ARM系列CPU为核心的嵌入式系统的开发工具。
  • C)RVDS开发平台包括工程管理器、编译连接器、调试器,不包括指令集仿真器。
  • D)GNU开发工具套件中包括GCC、GDB等。
答案解析

答:C RVDS开发工具套件中主要包括工程管理器(IDE)、编译连接器(RVCT)、调试器(RVD)和指令集仿真器(RVISS)等。C选项说"不包括指令集仿真器"是错误的。


23. 【填空题】嵌入式系统的开发过程按顺序可以分成_分析与规格说明、系统设计、_设计、系统集成与测试等4个阶段,测试的目的是验证模块/系统的功能和性能,以及发现错误。

答案

答:需求;构件 嵌入式系统的开发过程通常分为:需求分析与规格说明、系统设计、构件设计、系统集成与测试等4个阶段。


24. 【填空题】嵌入式系统开发时,由于受到目标机资源的限制,需要建立一个_与目标机组成的调试架构来完成开发工作。若目标机为裸机环境时,通常需要通过_接口来完成硬件环境测试及初始软件的调试和下载。

答案

答:宿主机;JTAG 嵌入式系统开发采用宿主机-目标机的架构,裸机环境下通过JTAG接口进行调试和下载。


25. 【填空题】GNU开发工具套件中包含了编译器、连接器、调试器等工具,其中GCC是编译器、连接器工具,_是调试器工具。若要对某应用程序进行调试,则在编译该应用程序时,要在编译命令中加入参数_。

答案

答:GDB;-g GDB是GNU开发工具套件中的程序调试工具。-g参数告诉GCC在编译时把调试信息(符号表、行号等)嵌入到可执行文件中。


26. 【填空题】嵌入式系统的调试方法中有一种使用驻留监控软件的调试方法。所谓驻留监控软件是一段固化在_ROM中的程序。它是一种成本较低的调试方法,不需要专门的硬件调试和_设备。

答案

答:目标机;仿真 驻留监控软件是固化在目标机ROM中的一段程序,不需要专门的硬件调试和仿真设备,成本较低。


27. 【填空题】JTAG是指满足IEEE1149规范的边界扫描测试方法及TAP接口,是一种用于片上_技术的统称。JTAG接口标准中规定了TAP接口所使用的5个信号,它们分别是_、TMS、TDI、TDO和TRST。

答案

答:调试(测试);TCK(时钟信号线) JTAG是片上调试技术的国际标准。TAP接口使用5根信号线:TCK时钟信号线、TMS模式选择信号线、TDI数据输入信号线、TDO数据输出信号线、TRST复位信号线。


28. 【填空题】调试(debug)与测试(test)既有联系又有区别。验证模块/系统的功能和性能,发现错误是_的目的。分析所发现的错误,检查错误原因,定位故障位置和进行修改是_的目的。

答案

答:测试(test);调试(debug) 测试的目的是验证功能和性能、发现错误;调试的目的是分析错误、检查原因、定位故障位置并修改。


综合应用开发

29. 下面有关RVDS的说法中,不正确的是( )。

  • A)RVDS是用于开发基于ARM系列CPU应用系统的开发套件
  • B)RVDS也可用来开发基于51系列CPU的应用系统
  • C)RVDS包含有编辑器、编译连接器、调试器,不包含指令集仿真器
  • D)RVDS支持基于在线仿真器的调试方式来调试目标系统
答案解析

答:C RVDS是ARM公司推出的开发工具套件,支持所有ARM芯片,还支持其他内核的处理器如51系列。其工具套件包括工程管理器(IDE)、编译连接器(RVCT)、调试器(RVD)和指令集仿真器(RVISS)等。要调试实际目标板上运行的程序,需要借助RealView-ICE仿真器。


30. 【填空题】GDB是GNU开发工具套件中调试程序的工具,其装入需要调试的可执行文件命令是_命令,终止当前被调试程序运行的命令是_命令。

答案

答:file;kill GDB常用命令:file装入可执行文件,run执行程序,kill终止程序,watch观察变量值。