当前位置:文档之家› 嵌入式系统期末考试题

嵌入式系统期末考试题

嵌入式系统期末考试题
嵌入式系统期末考试题

南昌大学 2007~2008学年第一学期期末试卷

一、填空题(每空2分,共40分)

1、ARM微处理器有 7种工作模式,它们分为两类非特权模式

、特权模式。其中用户模式属于非特权模式

2、ARM支持两个指令集, ARM核因运行的指令集不同,分别有两

个状态 ARM 、 Thumb ,状态寄存器CPSR的 T 位反映

了处理器运行不同指令的当前状态

3、ARM核有多个寄存器,其中大部分用于通用寄存器,有小部分

作为专用寄存器, R15 寄存器用于存储PC,R13通常用来存

储 SP

4、ARM处理器有两种总线架构,数据和指令使用同一接口的是冯

诺依曼,数据和指令分开使用不同接口的是哈佛结构

5、ARM微处理器复位后,PC的地址通常是0x0 ,初始的工作模式

是Supervisor 。

6、ARM微处理器支持虚拟内存,它是通过系统控制协处理器CP15

和MMU(存储管理部件)来进行虚拟内存的存储和管理。当系

统发生数据异常和指令领取异常时,异常处理程序透

过嵌入式操作系统的内存管理机制,通过MMU交换物理内存和

虚拟内存的页面,以保证程序正常执行。

7、编译链接代码时,有两种存储代码和数据的字节顺序,一种是

小端对齐,另一种是打断对齐

8、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工

具链是 GNU工具链,ARM公司提供的工具链是 ADS工具链

9、 计算机有CISC和RISC两种类型,以ARM微处理器为核心的计算

机属于RISC、类型,其指令长度是定长的。

2、指令测试题(共12分)

1、 写一条 ARM 指令,完成操作r1 = r2 * 3(4分)

ADD R1,R2,R2,

LSL #1

2、 初始值R1=23H,R2=0FH执行指令BIC R0,R1,R2,LSL #1

后,寄存器R0,R1的值分别是多少?(4分)

R0=21H,R1=23H

3、说明指令STMIA r12!, {r0-r11}的操作功能。(4分)

将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的内存中,地址的操作方式是先操作、后增加,并更新地址。

4、写一段 ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素,结果放在r4中。程序框架如下,补充代码完成上述功能。(8分)

AREA total, CODE READONLY

ENTRY

start

MOV r4, #0

ADR r0, myarray

;在此补充代码

loop

LDR r1, [r0], #4

ADD r4, r4, r1

CMP r1, #0

BNE loop

5、这是一个由源程序strtest.c和scopy.s组成的混合程序项目,通过调用strcopy完成字符串复制,程序代码如下。要求阅读程序,在程序中的注释符“//”后,说明该句程序的作用,并说明extern和EXPORT伪指令的在程序中的作用。(8分)

strtest.c

#include

extern void strcopy(char *d, const char *s);

int main()

{ const char *srcstr = "First string - source";

char dststr[] = "Second string - destination";

printf("Before copying:\n");

printf(" '%s'\n '%s'\n",srcstr,dststr); //

strcopy(dststr,srcstr); //

printf("After copying:\n");

printf(" '%s'\n '%s'\n",srcstr,dststr);//

return 0;

}

scopy.s

AREA SCopy, CODE, READONLY

EXPORT strcopy

strcopy

LDRB r2, [r1],#1 ;

STRB r2, [r0],#1 ;

CMP r2, #0 ;

BNE strcopy ;

MOV pc,lr ;

END

//输出源串和目标串 (8分)

//调用strcopy函数

//输出复制后的源串和目标串

;r1指向源串,从源串载入一个字节的字符到r2,并更新r1=r1+1;r0指向目标串,从r2保存一个字节的字符到目标串,并更新

r0=r0+1

;测试串尾标志\0

;非零转标号strcopy

;返回

3、程序测试题(共24分)

1、写一段 ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素,结果放在r4中。程序框架如下,补充代码完成上述功能。(8分)

AREA total, CODE READONLY

ENTRY

start

MOV r4, #0

ADR r0, myarray

;在此补充代码

答:

loop

LDR r1, [r0], #4

ADD r4, r4, r1

CMP r1, #0

BNE loop

stop

B stop

myarray

DCD 0x11

DCD 0x22

……

DCD 0x0

END

2、有如下程序段,画出程序流程图,并回答执行程序以后R0的值是多少。(8分)

num EQU 2

start

MOV r0, #0

MOV r1, #5

MOV r2, #2

BL func

stop

B stop

func

CMP r0, #num

MOVHS pc, lr

ADR r3, JumpTable

LDR pc, [r3,r0,LSL#2]

JumpTable

DCD DoA

DCD DoS

DoA

ADD r0, r1, r2

MOV pc, lr

DoS

SUB r0, r1, r2

MOV pc,lr

END

答:R0为0调用DoA,R0为1调用DoS,R0大于2直接返回,流程图略。R0=7

1、 这是一个由源程序strtest.c和scopy.s组成的混合程序项目,

通过调用strcopy完成字符串复制,程序代码如下。要求阅读程

序,在程序中的注释符后,说明该句程序的作用,并说明

extern和EXPORT伪指令的在程序中的作用。(8分)

strtest.c

#include

extern void strcopy(char *d, const char *s);

int main()

{ const char *srcstr = "First string - source";

char dststr[] = "Second string - destination";

printf("Before copying:\n");

printf(" '%s'\n '%s'\n",srcstr,dststr); //输出源串和目标串

strcopy(dststr,srcstr); //调用strcopy函数 printf("After copying:\n");

printf(" '%s'\n '%s'\n",srcstr,dststr);// 输出复制后的源串和目标串

return 0;

}

scopy.s

AREA SCopy, CODE, READONLY

EXPORT strcopy

strcopy

LDRB r2, [r1],#1 ;r1指向源串,从源串载入一个字节的字符到r2,并更新r1=r1+1

STRB r2, [r0],#1 ;r0指向目标串,从r2保存一个字节的字符到目标串,并更新r0=r0+1

CMP r2, #0 ;测试串尾标志\0

BNE strcopy ;非零转标号strcopy

MOV pc,lr ;返回

END

4、问答题(每题6分,共24分)

1、目前使用的嵌入式操作系统主要有哪些?请举出六种较常用

的。

Windows CE/Windows Mobile、VxWork、Linux、uCos、Symbian、QNX任

选六

2、ARM系统中的堆栈有四种,如下图。请按图标出四种堆栈的类型。

ATPCS编程规范约定使用的堆栈是哪一种?

答:FD、FA、ED、EA。ATPCS编程规范约定使用的堆栈是FD

3、Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工

作?

答:Boot Loader是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。通过Boot Loader,初始化硬件设备,建立内存和I/O空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。

4、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows主机上使用什么软件建立连接?在Linux主机上使用什么软件建立连接?

1、 答:RS-232,以太网口、并口

在Windows主机上使用超级终端软件

在Linux主机上使用Minicom软件

5嵌入式开发环境主要包括哪些组件?

嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括宿主机

目标机(评估电路板)

基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE

运行于宿主机的交叉编译器和链接器、以及开发工具链或软

件开发环境

嵌入式操作系统

6 在进行基于ARM核的嵌入式系统软件开发时,调用如下函数:

int do_something(int arg1,void *arg2,char arg3,int *arg4)

这四个参数通过什么方式从调用程序传入被调函数?

根据ATPCS编程规范,调用函数和子程序通过R0——R3四个寄存器传递参数,超过四个参数使用堆栈传递。因此arg1通过R0传入,arg2, 通过R1传入,arg3通过R2传入,arg4通过R3传入

7 目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。

Windows CE/Windows Mobile、VxWork、Linux、uCos、Symbian、QNX 任选六

通用嵌入式系统测试平台的实现与功能划分

通用嵌入式系统测试平台 (ESITest 3.2) 一、平台概述 通用嵌入式系统测试平台(Embeded System Interface Test Studio V3.2,简称:ESITest3.2)是针对于嵌入式系统进行实时-闭环-非侵入式黑盒测试的自动化测试平台,适用于嵌入式系统在设计、仿真、测试、集成验证和维护等各阶段配置项级别和系统级别的动态测试与验证。 平台主要功能: ?是一款针对嵌入式系统测试的自动化测试平台; ?可实现对嵌入式系统的黑盒动态测试; ?支持自动化测试和回归测试; ?可实现对嵌入式系统进行实时-闭环-非侵入式的系统级测试; ?支持多种测试类型:功能测试、接口测试、边界测试、强度测试、安全 性测试等; ?支持基于硬件、软件以及仿真的故障注入测试; ?可对嵌入式系统各组成模块分割开进行单独测试; ?替代测试工装(陪测设备、测试台); ?实现基于实装难以完成的测试任务; ?提供了支持测试设计与开发、测试执行与管理的整套解决方案。 平台由软件和硬件两部分组成。软件部分主要包括测试设计软件、测试执行软件、客户端软件、实时数据监控软件、数据查看及分析软件、各类接口设备辅助调试软件及辅助测试软件等。 目前该平台提供PXI模式(ESITest-PXI)与分布式模式(ESITest-LAN)两种架构产品。 二、ESITest-PXI产品 1、产品简介 PXI总线架构产品的硬件部分由PXI机箱、PXI控制器、PXI接口模块组成,其中PXI接口模块包括了RS232、RS422、RS485、CAN、MIL-STD-1553B、AD采集、DA转换、DI/DO以及示波器、函数发生仪等模块。

嵌入式软件测试与一般软件测试之异同研究

嵌入式软件测试与一般软件测试之异同研究 作者:网络转载发布时间:[ 2013/3/5 9:09:17 ]推荐标签: 摘要:随着计算机技术的普及,软件系统已经深入到生活的各个方面,从普通的计算机软件,到银行或超市的终端系统,甚至到手机的软件系统。对软件的质量要求也在不断提高,软件测试及其技术也有了飞速发展。在对软件测试技术相关基本概念研究解析的基础上,分析软件测试起源与发展,保证软件产品的质量、提高产品的可靠性。对于嵌入式软件系统,因其多样性,基于操作系统,使用的开发环境,微控制器都是日益繁多的,所以嵌入式软件测试与普通软件测试相比有其自身的特点。 关键字:软件测试;嵌入式测试;软件质量 1、引言 嵌入式软件的开发和测试也就与普通软件的开发和测试策略有了很大的不同,嵌入式软件系统是一种针对特殊任务、特殊环境而进行特殊设计的定制产品,有其专门的开发环境、软硬件紧密结合、严格的实时要求等特点。使得嵌入式软件测试与普通软件测试虽有相似之处,但有也有其自身独特的特点。 2、软件测试和嵌入式软件测试 2.1 软件测试的定义及目的 软件测试,即Software Testing。软件测试的定义有很多,在1979年出版的一本经典著作《软件测试艺术》(The art of software testing)中,GLEMFORD J.MYERS曾经对软件测试下过如下定义:软件测试就是为了发现错误而执行程序或系统的过程。虽然它不太完善,但放在当时的情况下是可以说的通的。 随着计算机和软件技术的发展,软件应用的复杂性和规模的不断扩大,软件测试技术的研究也取得了很大的突破。早期的定义已经不适用了,许多专家对软件测试提出了各种各样的定义。综合起来,我们可以定义“软件测试是由一个程序的行为在有限测试用例集合上,针对期望的行为的动态验证组成,测试用例是从通常的无限执行域中适当选取的”。

嵌入式系统期末考试题库及答案

嵌入式系统期末考试题库及答案 《嵌入式系统》试题库 《嵌入式系统》试题库 一、填空题 1、嵌入式系统的基本定义为:以应用中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 2、从模块结构来看,嵌入式系统由三大部分组成,分别是:硬件、软件和开发平台。 3、从层次角度来看,嵌入式系统由四大部分组成,分别是:应用软件层、操作系统层、板级支持包(或硬件抽象层)和硬件层。 4、嵌入式产品的主要度量指标包括:上市时间、设计成本和产品质量。 5、嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统集成和系统测试。 6、需求分析包括:功能性需求分析和非功能性需求分析。 7、确定输入信号是数字信号还是模拟信号属于功能性需求。 8、确定系统的物理尺寸和重量属于非功能性需求。 9、在嵌入式系统的设计过程中,其中规格说明解决“做什么”。 10、在嵌入式系统的设计过程中,其中体系结构设计解决“如何做”。 11、在嵌入式系统的设计过程中,软硬件划分应该在体系结构设计阶段完成。12、在嵌入式系统的设计过程中,处理器的选择应该在体系结构设计阶段完成。13、在嵌入式系统的设计过程中,嵌入式操作系统的选择应该在体系结构设计阶段完成。14、在嵌入式系统的设计过程中,完成原理图设计应在构件设计阶段完成。15、在嵌入式系统的设计过程中,完成版图设计应在构件设计阶段完成。16、在嵌入式系统的设计过程中,完成软件设计应在构件设计阶段完成。 17、反映嵌入式系统设计人员的水平能力主要在于总体设计(需

求分析、规格说明和体系结构设计)和系统调试。 18、设计流程指的是设计过程中所经历的过程步骤。 19、设计重用技术主要分为基于IP 核的模块级重用和基于平台的系统级重用。20、软硬件协同设计由系统描述、软硬件划分、软硬件协同综合以及软硬件协同模拟与验证几个阶段组成。 21、嵌入式处理器的分类包括三种,分别是:嵌入式微处理器、微控制器(或单片机)和 第1 页共44 页 1 《嵌入式系统》试题库 数字信号处理器(DSP)。 22、列举常见的ARM 系列处理器:ARM7 系列、ARM9 系列、ARM11 系列、Cortex-M 系列、Cortex-R 系列、Cortex-A 系列等。 23、ARM 系列微处理器支持的数据类型有:字节、半字和字等三种类型。24、ARM 系列微处理器支持的字数据存储格式有:大端格式和小端格式。25、ARM 系列处理器通过执行BX 或者BLX 指令来实现工作状态的切换。26、列举常见的存储器类型:SRAM、DRAM、Flash、EEPROM 等。27、对于RAM 存储器主要有两种,分别是:SRAM 和DRAM。 28、在时钟信号边沿到来之前的一段时间内,数据信号必须保持稳定,这段时间称为器件的建立时间;在时钟信号边沿到来之后的一段时间内,数据信号必须保持稳定,这段时间称为器件的保持时间。 29、总线是在多于两个模块(设备、子系统)之间传送信息的公共通路。30、总线的功能是信息共享和交换。 31、总线由传输信息的物理介质和管理信息传输的协议组成。 32、挂接在总线上的设备依据启动总线事务的能力可以分为主设备和从设备。33、总线协议依据同步方式可分为同步时序协议和异步时序协议。34、总线仲裁方式可分为集中式仲裁和分布式仲裁。

嵌入式系统的测试和可靠性评估

嵌入式系统的测试和可靠性评估 摘要:引入多种嵌入式系统测试方法;根据ISO 9000国际质量标准,提出一种切实可行的可靠性评估方案,并使它们应用于嵌入式产品测试中,测试效果良好。最后,通过测试实例说明嵌入式系统的系统测试过程和分析。 关键词:嵌入式系统;系统测试;测试方法;可靠性评估 随着嵌入式系统硬件体系结构的变化,嵌入式系统的发展趋势向嵌入式系统高端,即嵌入式软件系统转移,具体体现在嵌入式操作系统趋于多样和应用软件日渐复杂。由于嵌入式系统软硬件功能界限模糊,研究如何进行系统测试和进行质量评估来保证嵌入式系统的产品质量具有重要意义。 首先,这里明确嵌入式系统的系统测试定义,是将开发的软件系统(包括嵌入式操作系统和嵌入式应用软件)、硬件系统和其它相关因素(如人员的操作、数据的获取等)综合起来,对整个产品进行的全面测试。嵌入式系统的系统测试比PC 系统软件测试要困难得多,主要体现如下:①测试软件功能依赖不需编码的硬件功能,快速定位软硬件错误困难;②强壮性测试、可知性测试很难编码实现;③交叉测试平台的测试用例、测试结果上载困难;④基于消息系统测试的复杂性,包括线程、任务、子系统之间的交互,并发、容错和对时间的要求;⑤性能测试、确定性能瓶颈困难;⑥实施测试自动化技术困难。 1测试方法 根据Goodenough和Gerhart提出的软件测试充分性准则可知,软件测试具有非复合性的特点,也就是说,即使以软件所有成分都进行了充分的测试,也并不意味着整个软件的测试已经充分。所以,即使通过了需求测试、设计测试、编码测试,并不意味着已经完全了充分的测试,还要进行软硬件全面测试,即系统测试。正确的系统测试方法能设计出良好的测试用例,而良好的测试用例是测试成功的关键。测试用例质量特性主要有以下几点。 ①检验性:检测软件缺陷的有效性,是否能发现缺陷或至少可能发现缺陷。②可仿效性:可以支持测试多项内容,减少测试用例的数量。③开销:测试用例的执行、分析和调试是否经济。④修改性:每次软件修改后对测试用例的维护成本。测试方法不仅要保证测试用例具有发现缺陷的高可移植性,而且还要保证测试用例设计的经济有效。因此,在实际测试工作中,将嵌入式系统的测试方法分类如下:根据测试是否动态运行被测程序分为静态测试方法和动态测试方法;根据测试阶

嵌入式系统测试方法

GSM手机测试基础知识 测试手机的主要参数有: 1)发射功率等级TX power level(5~19) 2)频率误差frequency FER 3)相位误差Phase PER 4)射频频谱RF Spectrum 5)开关谱SwitchSpectrum 6)接受灵敏度RX Sensitivity 7)调制谱Modulation Spectrum 测试系统需要的主要设备: 1)模拟基站的综合测试仪如德国罗德-史瓦茨公司的CMU200 2)通信专用电源如2304A双通道移动通讯高速电源,该电源在脉冲负载变化时展现了他显著的电压稳定性,同时能够测量负载电流。对于测试需电池供电的无线通讯设备(例如便捷式电话),在非常短的时间间隔内经历真实的负载变化而言,这种电源是最优化的。 3)手机夹具等 4)测试开发软件labview或VB等labview快速方便 测试过程 实际测量系统的工作过程是首先手机开机,寻找与模拟基站CMU之间的频率同步;然后对PS(电源)与CMU进行初始化;初始化正确完成后在MSC上注册手机IMSI号;建立MS对BS(基站)的呼叫;当呼叫成功时,开始测量手机GSM900参数;首先测量信道1三个功率等级(Lv5,Lv10,Lv15)的发射功率;若符合标准,进入信道1的FER(频率误差)与PER(相位误差)测量;按同样的步骤测量信道62、123的发射功率、FER与PER;测量GSM900的Modulation Spectrum(调制谱)、SwitchSpectrum(开关谱);从GSM900切换到DCS1800;测量信道512,69 8,885的各发射功率,FER,PER,ModulationSpectrum和SwitchSpectrum;在测量过程中如果任何参数不符合标准,立即显示FAIL并生成报告退出,全部测试完毕显示PASS并生成报告退出。

嵌入式系统期末考试试卷 习题

1.下面哪一种工作模式不属于ARM特权模式(A)。 A.用户模式B.系统模式C.软中断模式D.FIQ模式 2.ARM7TDMI的工作状态包括( D )。 A.测试状态和运行状态B.挂起状态和就绪状态 C.就绪状态和运行状态D.ARM状态和Thumb状态 3.下面哪个Linux操作系统是嵌入式操作系统( B )。 A.Red-hat Linux B.uclinux C.Ubuntu Linux D.SUSE Linux 4.使用Host-Target联合开发嵌入式应用,( B )不是必须的。 A.宿主机B.银河麒麟操作系统 C.目标机D.交叉编译器 5.下面哪个不属于Linux下的一个进程在内存里的三部分的数据之一(A)。 A.寄存器段B.代码段 C.堆栈段D.数据段 选择题(共5小题,每题2分,共10分) 1.下面哪个系统属于嵌入式系统( D )。 A.“天河一号”计算机系统B.IBMX200笔记本电脑 C.联想S10上网本D.Iphone手机 2.在Makefile中的命令必须要以(A)键开始。 A.Tab键B.#号键 C.空格键D.&键 3.Linux支持多种文件系统,下面哪种不属于Linux的文件系统格式( B )。 A.Ext B.FA T32 C.NFS D.Ext3 4.下面哪种不属于VI三种工作模式之一( D )。 A.命令行模式B.插入模式 C.底行模式D.工作模式 5.下面哪一项不属于Linux内核的配置系统的三个组成部分之一( C )。 A.Makefile B.配置文件(config.in) C.make menuconfig D.配置工具 1.人们生活中常用的嵌入式设备有哪些?列举4个以上(1) 手机,(2) 机顶盒,(3) MP3,(4) GPS。(交换机、打印机、投影仪、无线路由器、车载媒体、PDA、GPS、智能家电等等。) 2.ARM9处理器使用了五级流水线,五级流水具体指哪五级:(5) 取指,(6) 译码,(7) 执行,(8) 缓冲/数据,(9) 回写。 3.在Makefile中的命令必须要以(10) Tab 键开始。 4.Linux支持多种文件系统,主要包括哪些(写出其中4中就行)(11) Ext,(12) VFA T,(13) JFS,(14) NFS。(JFS、ReiserFS、Ext、Ext2、Ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等) 5.VI的工作模式有哪三种:(15) 命令行模式,(16) 插入模式,(17) 底行模式。

嵌入式系统开发基础——基于ARM9微处理器C语言程序设计各章习题

第一章习题 1。嵌入某种微处理器或单片机的测试和控制系统称为嵌入式控制系统(Embedded Control System)。 在应用上大致分为两个层次,以MCS-51为代表的8位单片机和以ARM技术为基础的32位精减指令系统单片机 2。目标机上安装某种嵌入式操作系统和不安装嵌入式操作系统, 以MCS-51为代表的8位单片机不安装嵌入式操作系统。 3。32位、16位和8位 5。32位、16位 6。在大端格式中,字数据的高字节存储在低字节单元中,而字数据的低字节则存放在高地址单元中。 在小端存储格式中,低地址单元存放的是字数据的低字节,高地址单元中,存放的是数据的高字节。 第二章习题 (略) 第三章习题 1。 (1)寄存器大约有17类,每个的定义都是寄存器名字前面加一个小写”r” (2)在56个中断源中,有32个中断源提供中断控制器,其中,外部中断EINT4~EINT7通过“或”的形式提供一个中断源送至中断控制器,EINT8~EINT23也通过“或”的形式提供一个中断源送至中断控制器。 第四章习题 1,56个中断源,有32个中断源提供中断控制器 2,两种中断模式,即FIQ模式(快速模式)和IRQ模式(通用模式)。通过中断模式控制寄存器设置。 3,常用的有5个,它们是中断模式控制寄存器,控制中断模式;中断屏蔽寄存器,控制中断允许和禁止;中断源挂起寄存器,反映哪个中断源向CPU申请了中断;中断挂起寄存器,反映CPU正在响应的中断是哪个中断源申请的;中断优先级寄存器,它和中断仲裁器配合,决定中断优先级。

4,中断源挂起寄存器,反映哪个中断源向CPU申请了中断;中断挂起寄存器,反映CPU正在响应的中断是哪个中断源申请的。中断源向CPU申请了中断如果该中断源没被屏蔽并且没有和它同级或高级的中断源申请中断,才能被响应。系统中可以有多个中断源向CPU申请中断,但同一时刻CPU只能响应一个最高级的中断源中断请求。中断源挂起寄存器和中断挂起寄存器反映了中断系统不同时段的状态。 5,进入中断服务程序先清中断源挂起寄存器和中断挂起寄存器;中断结束,将该中断源屏蔽。 6,将该中断源屏蔽取消;将该中断源屏蔽。 第五章习题 1,S3C2410芯片上共有117个多功能的输人/输出引脚,它们是。 ?1个23位的输出端口(端口A); 。1个11位的输入/输出端口(端口B); 。1个16位输入/输出端口(端口C); ?1个16位输入/输出端口(端口D); ?1个16位输入/输出端口(端口E); ?1个8位输人/输出端口(端口F); ?1个16位输入/输出端口(端口G); 。1个11位的输入/输出端口(端口H)。 2,S3C2410 I/O口的控制寄存器、数据寄存器、上拉电阻允许寄存器的作用? 端口控制寄存器定义了每个引脚的功能;与I/O口进行数据操作,不管是输入还是输出,都是通过该口的数据寄存器进行的,如果该端口定义为输出端口,那么可以向GPnDA T的相应位写数据。如果该端口定义为输人端端口,那么可以从GPnDAT的相应位读出数据。 端口上拉寄存器控制每个端口组上拉电阻的使能/禁止。如果上拉寄存器某一位为0,则相应的端口上拉电阻被使能,该位做基本输入/输出使用,即第1功能;如果上拉寄存器某一位是1,则相应的端口上拉电阻被禁止,该位做第2功能使用。 5, rGPBCON=rGPBCON& 0xFFFFFC∣1; //蜂鸣器配置,PB1口接蜂鸣器,输出delay(1000); rGPBDAT & = 0xFFFFFE; //蜂鸣器响,低电平有效 rGPBDAT∣=1; // 蜂鸣器停 第六章习题 3,S3C2410 UART波特率如何确定?

《嵌入式系统与开发》测试题 - 答案

测试题0及参考答案 (1)ARM汇编程序由指令、指令和指令构成。 (2)ARM C____(A.0X12 B.0X34 C.0X56 D.0X78)(采用小端模式进行存储) (4)一般情况下,ARM微处理器异常处理模式共有___7___种,机器启动后第一条指令执行的是__A___(A.复位异常处理函数指令 B.中断异常处理指令 C.IRQ 异常处理指令 D.指令预取终止异常)。 (5)调用函数FUN(X,Y,Z),则实参值分别通过__r0__、_r1___、_r2__寄存器来进行传递,如果参数超过4个,则参数传递规则为____通过栈进行传递________。 (6)举例列出一款ARM7TDMI微内核的嵌入式微处理器_S3C44B0X_,ARM920T微内核的嵌入式微处理器_S3C2410_,ARM11内核的嵌入式微处理器__S3C6410____,并列举2款64位ARM微内核_Cortex-A53 __、__Cortex-A57________。 (7)利用汇编和C混合编程,设计代码完成求a,b,c中最大值功能,要求写出汇编启动代码和C代码。 (略)此知识点不需要掌握 测试题1及参考答案 1.嵌入式Linux操作系统包括 bootloader 、内核、文件系统三部分组成。 2.在PC机上Linux系统编译使用的编译器名为 gcc ,ARM处理器嵌入式编译器名为 arm-linux-gcc 。 3.bootloader的功能:①引导操作系统内核启动②提供辅助命令工具。 4.列出最常用的bootloader:、、、、、。 5.在uboot中,打印开发板上环境变量值的命令为 printenv setenv ,假如嵌入式内核名为vmlinux,通过tftp加载内核的命令为

LInux 嵌入式操作系统期末试题

1.简答题:请简单概括什么是嵌入式系统、并举出嵌入式系统的特点;(6分) 答: 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可剪裁,适用于应用系统,对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统; 其特点如下: (1)嵌入式系统是面向特定系统应用的。 (2)嵌入式系统涉及计算机技术、微电子技术、电子技术、通信和软件等各个行业; 是一个技术密集、资金密集、高度分散、不断创新的知识集成系统; (3)嵌入式系统的硬件和软件都必须具有高度可定制性;只有这样才能适应嵌入式系 统应用的需要,在产品价格和性能方面具备竞争力; (4)嵌入式系统的生命周期相当长。 (5)嵌入式系统不具备本地系统开发能力,通常需要有一套专门的开发工具和环境。 2.嵌入式操作系统的优势:1.低成本开发系统 2.可应用多种硬件平台 3.可定制内核 4. 性能优异 5.良好的网络支持 3.linux文件类型:1.普通文件 2.目录文件 3.链接文件 4.设备文件 a.块设备文件(硬 盘:/dev/hda1)b.字符设备(串行端口接口设备) 4.linux文件属性:访问权限:r:可读w:可写x:可执行用户级别:u:文件拥有者g:所 属用户组 o:其他用户第一个字符显示文件类型:-普通d目录 l 链接… 5.简答题:(6分) linux目录结构:/bin 存放linux常用操作命令的执行文件(二进制文件) /boot 操作系统启动时所需要的程序 /dev Linux系统中使用的外部设备 /etc 系统管理时所需要的各种配置文件和子目录 /etc/rc.d Linux启动和关闭时要用到的脚本 /etc/rc.d/init Linux默认服务的启动脚本 /home 系统中默认用户工作根目录 /lib 存放系统动态链接共享库 /mnt软驱、光驱、硬盘的挂载点 /proc存放系统核心与执行程序所需信息、 /root超级用户登陆时的主目录 /sbin 存放管理员常用系统管理程序 /usr存放用户应用程序和文件 /var存放日志信息(答六点即可) 6.编写一个shell文件:创建studen01 –student30这30个用户,用户组为class1,之 后编写shell文件,删除所有用户

!嵌入式系统开发资料(入门必备)

获取更多权威电子书请登录https://www.doczj.com/doc/8715522351.html, ARM嵌入式系统开发综述ARM开发工程师入门宝典

获取更多权威电子书请登录https://www.doczj.com/doc/8715522351.html, 前言 嵌入式系统通常是以具体应用为中心,以处理器为核心且面向实际应用的软硬件系统,其硬件是整个嵌入式系统运行的基础和平台,提供了软件运行所需的物理平台和通信接口;而嵌入式系统的软件一般包括操作系统和应用软件,它们是整个系统的控制核心,提供人机交互的信息等。所以,嵌入式系统的开发通常包括硬件和软件两部分的开发,硬件部分主要包括选择合适的MCU或者SOC 器件、存储器类型、通讯接口及I/O、电源及其他的辅助设备等;软件部分主要涉及OS porting和应用程序的开发等,与此同时,软件中断调试和实时调试、代码的优化、可移植性/可重用以及软件固化等也是嵌入式软件开发的关键。 嵌入式系统开发的每一个环节都可以独立地展开进行详细的阐述,而本文的出发点主要是为嵌入式开发的初学者者提供一个流程参考。因为对于初学者在面对一个嵌入式开发项目的时候,往往面临着诸多困难,如选择什么样的开发平台?什么样的器件类型?在进行编译时怎样实现代码优化?开发工具该如何选择和使用?在进行程序调试时应该注意那些问题以及选择什么样的嵌入式OS 等等。希望通过本文,能帮助初学者了解有关ARM嵌入式系统开发流程。

获取更多权威电子书请登录https://www.doczj.com/doc/8715522351.html, 目录 前言 (2) 1 嵌入式开发平台 (4) 1.1 ARM的开发平台: (4) 1.2 器件选型 (7) 2 工具选择 (11) 3 编译和连接 (13) 3.1 RVCT的优化级别与优化方向 (16) 3.2 Multifile compilation (21) 3.3调试 (22) 4 操作系统 (23) 4.1 哪里可以得到os 软件包 (Open Source and Linux Kernel) (25) 4.2 安装镜像 (26) 4.3 交叉编译 (26) 总结 (27)

嵌入式软件测试(参考答案)

一、填空题:(10题,每题2分,共20分)1、嵌入式系统是计算机技术、通信技术、半导体技术、微电子技术、语音图像数据传输技术,甚至传感器等先进技术和具体应用对象相结合后的更新换代产品。 2、ARM 处理器当前主要有6个系列产品:ARM7、ARM9、ARM9E、 ARM10E SecurCore及最新的ARM11 系列。 3 、实时是嵌入式系统的主要特征, 根据截止时间的要求,可将实时分为硬实时和软实时。 4、嵌入式应用软件典型的开发方式是宿主机/ 目标机方式。 5、MISRA C已经被越来越多的企业接受,成为用于嵌入式系统的C语言标准, 特别是对安全性要求极高的嵌入式系统,其软件应完全符合MISRA标准。 6、插桩也称为打点,是在程序中插入额外的代码来获得程序在执行时有关行为信息的一种重要手段,属于动态测试的一种常用技术。 7、等价类划分的目的就是为了在有限的测试资源的情况下,用少量有代表性 的数据得到比较好的测试效果。 8、测试报告是把测试的过程和结果写成文档,并对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础。 9、TEmb作为一种全新的嵌入式软件结构化测试方法,覆盖了测试过程中的一些关键步骤,回答了“做什么、什么时候做、如何做、用什么方法做和谁去做”的问题。10、嵌入式软件测试自动化就是希望能够通过嵌入式软件测试自动化工具或其他的实现手段,按照测试人员预订的计划进行自动地嵌入式软件测试工 作。 二、选择题:(10题,每题2分,共20分) 1、嵌入式系统是集软硬件于一体的可独立工作的“器件”主,要包括 ___ A___、__ B___、__C _ 、___D___。 A 嵌入式微处理器

嵌入式的测试浅谈

黑盒测试(Black box testing) ── 不考虑内部设计和代码,根据需求和功能进行测试。 白盒测试(White box testing) ── 根据应用软件的代码的内部逻辑,按照代码的语句、分支、路径和条件进行测试。 部件测试(Unit testing) ── 最小范围的测试,针对特定的函数和代码模块进行测试。因为需要了解程序的设计和代码的细节才能进行,所以 部件测试一般是由程序员,而不是由测试人员来做。除非应用软件的结构设计良好,而且代码也写得清楚,否则部件测试并非易事。也许需要开发测试驱动模块或测试工具。 递增的综合测试(incremental integration testing) ── 不断进行的测试过程,每增加一个新的功能模块,都进行测试。这要求一个应用软件在最终完成之前,各功能模块要相对独立,或者已根据需要开发出测试驱动软件。这种测试可由程序员或测试人员进行。 综合测试(integration testing) ── 对应用软件的各个部件进行组合测试,来检查各功能模块在一起工作是否正常。“部件”可以是代码模块、独立的应用程序、也可以是网络中的客户/服务器应用软件。这种测试特别适用于客户/服务器环境和分布式系统。 功能测试(functional testing) ── 对一个应用软件的功能模块进行黑盒测试。这种测试应当由测试人员进行。但这并不意味着程序员在推出软件之前不进行代码检查。(这一原则适用于所有的测试阶段。) 系统测试── 针对全部需求说明进行黑盒测试,包括系统中所有的部件。 端到端测试(end-to-end testing) ── 类似于系统测试,但测试范围更“宏观”一些。模仿实际应用环境,对整个应用软件进行使用测试。例如与数据库进行交互作业、使用网络通信、与其他硬件、应用程序和系统之间的相互作用是否满足要求。 健全测试(sanity testing) ── 是一种典型的初始测试。判断一个新的软件版本的运行是否正常,是否值得对它作进一步的测试。例如,如果一个新的软件每 5 分钟就破坏系统、大大降低系统的运行速度、或者破坏数据库,那么这样的软件就算不上是“健全”的,不值得在目前状态下进行进一步的测试。 回归测试(regression testing) ── 每当软件经过了整理、修改、或者其环境发生变化,都重复进行测试。很难说需要进行多少次回归测试,特别是是到了开发周期的最后阶段。进行此种测试,特别适于使用自动测试工具。 认同测试(acceptance testing) ── 基于说明书的、由最终用户或顾客来进行的测试。或者由最终用户/顾客来进行一段有限时间的使用。 负荷试验(load testing) ── 在大负荷条件下对应用软件进行测试。例如测试一个网站在不同负荷情况下的状况,以确定在什么情况下系统响应速度下降或是出现故障。

嵌入式操作系统期末考试答案

填空 1、嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪、适用于应用系统,对(功能)、(可靠性)、(成本)、(体积)、(功耗)严格要求的专用计算机系统。 2、嵌入式系统开发采用的交叉开发环境是由(宿主机)和(目标机)组成的。 3、挂载设备到文件系统的命令是(mount),从文件系统中卸载设备命令是(umounts)。 4、在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面,进入vi之后,是处于 (命令)模式,要切换到(编辑)模式才能够输入文字。 5、GCC的编译流程分为4个步骤,分别为:(预处理),编译,(汇编),链接。 6、Linux系统的设备分为三类:(字符设备)、(块设备)和网络设备。 7、操作系统的功能包(处理机管理)、(存储管理)、(设备管理)、(信息管理)、(作业管理)。 选择 1、下面哪点不是嵌入式操作系统的特点。(C) (A)内核精简(B)专用性强(C)功能强大(D)高实时性 2、嵌入式Linux下常用的文件系统不包括以下哪一项(A) (A)nfs(B)romfs(C)yaffs(D)jffs 3、下面关于Shell的说法,不正确的是:(D) (A)操作系统的外壳(B)用户与Linux内核之间的接口程序(C)一个命令语言解释器(D)一种和C语言类似的程序语言 4、在Bootloader()模式下,目标机可以通过通信手段从主机更新系统。(B) (A)启动加载模式(B)下载模式(C)实时模式(D)保护模式 5、文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是: (A) (A)chmoda+xg+wexer1(B)chmod765exer1(C)chmodo+xexer1(D)chmodg+wexer1 6、在vi编辑环境中,下面()选项不是从命令行模式切换到插入模式。(C) (A)i(B)o(C)ESC(D)a 7、shell变量名命名中不包括()。(D) (A)字母(B)数字(C)下划线(D)括号 8、下列关于字符设备说法不正确的是()。(C) (A)以字节为单位逐个进行I/O操作(B)字符设备中的缓存是可有可无的 (C)支持随机访问(D)字符设备可以通过设备文件节点访问 9、以下哪一项是是硬盘设备文件()。(B) (A)fd0(B)hda(C)eth1(D)ht0 10、共享内存通信机制的缺点是()。(B) (A)需要花费额外的内存空间(B)需要使用额为的同步机制 (C)需要额外硬件支持(D)通信过程中需要反复读取内存,时间开销大 简答题 1.嵌入式操作系统在哪些方面较为突出的特点并请列举出4种目前较常用的手机嵌入 式操作系统。 四个方面:系统实时高效性硬件的相关依赖性软件固态化应用的专用性 四种手机操作系统:Window Mobile SymbianOSAndriod OSE

嵌入式系统开发基础—基于ARM微处理器和Linux操作系统的课后答案

1-1 什么是嵌入式系统?嵌入式系统和普通计算机系统的区别是什么?举例说明。 答: 问题一:嵌入式系统是以应用为中心,以计算机为基础,其软硬件可裁剪配置,对功能、可靠性、成本、体积、功耗有严格约束的一种专用计算机系统。 1-2 简述嵌入式系统的构成 1-3 答:R13:也记作SP,在ARM指令集中虽然没有强制,但是通常用于堆栈指针SP;在Thumb 指令集中强制其作为堆栈指针。 R14:也记作程序连接寄存器LR(Link Register),用于保存子程序调用或异常中断处理返回时程序的返回地址。 R15:也记作程序计数器PC,用于标示下一条将要执行的指令地址。 CPSR:程序状态寄存器,包含条件标识位、中断标识位、当前处理器模式等状态和控制位。 SPSR:备份的程序状态寄存器。在异常中断处理过程中,用于保存被中断处理程序的执行现场和处理器状态。 1-4 答:(1)复位异常中断:当系统上电、复位、软件复位时产生该类型中断。 (2)未定义指令异常中断:当ARM处理器或系统中的协处理器认为当前指令未定义时,产生该中断。通常利用该中断模拟浮点向量运算。 (3)软件中断:可用于用户模式下特权操作的调用,既可以是系统功能,也可以是用户自定义的功能。

(4)指令预取中止异常中断:如果处理器预取的指令地址不存在,或者该地址不允许当前指令访问,产生该类型的中断。 (5)数据访问中止异常中断:如果数据访问的目标地址不存在,或者该地址不允许当前指令访问,则产生该中断。 (6)外部中断:当处理器的外部中断请求引脚有效,而且CPSR的I控制位被清除时,产生该类型的中断 (7)快速外部中断:当处理器的快速中断请求引脚有效,而且CPSR的F控制位被清除时,产生该中断。 1-5 答:(1)ADR R0, TABLE (2) ADR R1, DATA LDR R0, [R1] (3) LDR R0, =DATA (4) TABLE EQU 800 MOV R0, #TABLE (5) TABLE SPACE 20 1-6 答: R0=DATA1这组数据在存储器中所存放的起始地址,由编译器分配; R1=0x0C0D0E0F; R2=0xF; R3=0x8020; [0x8020]=R1 1-7 答: AREA SWITCH, CODE, READONLY ENTRY AND R2, R0, 0x3 ;R2 R0的低两位 MOV R2, R2, LSL #30 ;将低两位移动到高两位 BIC R0, R0, 0x3 ;将R0的低两位清0 AND R3, R1, 0xC0000000 ;R3R1的高两位 MOV R3, R3, LSR #30 ;将高两位移动到低两位 BIC R1, R1, 0xC0000000 ;将R1的高两位清0 ORR R0, R0,R3 ;R1的高两位写入到R0的低两位 ORR R1, R1, R2 ;R0的低两位写入到R1的高两位 END 1-8 答: // main.c Include “stdio.h” extern int sum (int num[], int n); main(){ int array[10]={20, 30, 23, 5,15,64,6,15,72,73 };

嵌入式系统测试方法

目前嵌入式系统的应用领域越来越广泛,与人们的生活也越来越密切。随着嵌入式产品更新换代的加快,软件规模急速膨胀,软件的开发周期却越来越短。硬件发展日益稳定,而软件故障却日益突出,这些故障不仅会造成重大经济损失,甚至危及人的生命安全。软件的重要性逐渐引起人们的重视,提高嵌入式软件的测试质量势在必行。 为什么嵌入式产品发布后,还残留了许多软件缺陷?原因可能很多,我们试列举以下几种: ①嵌入式软件本身特点,如实时性,与硬件结合紧密等导致软件测试难度大。 ②在代码规模巨大、开发周期短等客观条件下,软件测试不足。 ③在测试阶段,要动态覆盖所有条件、所有状况的测试几乎是不可能的。 ④嵌入式软件开发主要使用C语言,而C语言非常灵活,容易造成编码错误。 ⑤项目团队未有效建立/遵守编码规范,留用有缺陷代码等导致可移植性、可维护性方面存在缺陷。 ⑥项目团队的惯性思维,不良编码/测试习惯等因素的影响等。 软件测试的分类方法有很多种,如静态测试、动态测试;单元测试、集成测试、系统测试、确认测试;模拟测试、实机测试等。各种测试方法其对测试阶段、测试环境等要求也各具特点,本文就软件代码检查这种静态测试方法进行探讨。 1.什么是代码检查 代码检查团队以第三方的角度,运用工具/人工的方式对代码进行静态检查。 软件开发团队根据代码检查团队的检查报告,进行缺陷原因分析、影响范围调查、缺陷修改、修改后验证、缺陷预防措施实施及效果确认活动。 2.代码检查种类 ①代码规范(MISRA等C、C++规范)符合性检查 使用MISRA、QAC等代码规范检查工具,对代码规范的符合性进行检查,然后人工对工具输出的警告进行确认。 ②代码逻辑检查 针对代码规范检查工具不能检查的项目,如公用变量的初始化、函数返回值的使用等方面进行人工检查。 ③中断冲突检查。 对因中断或多任务共同访问全局变量而引起的冲突进行人工检查。 ④功能符合性检查。 对看门狗、AD/DA转换等与硬件相关部分的代码进行人工检查。 3.代码检查的特点 ①可在编码~产品发布这一期间内的任何阶段进行。在项目前期通过代码检查可尽可能多地发现缺陷,从而可削减开发成本,提高产品质量。 ②利用第三方的经验、看问题的角度,可以找出自己开发团队因惯性思维、不良编码/测试习惯等因素造成的而自己难于发现的缺陷。 ③不受测试环境、测试设备等客观因素的制约,费用较低。 4.从事代码检查业务的要求 ①拥有一套检查理论、方法和流程。 ②需要一些辅助工具的配合,以提高检查质量和效率。 ③代码检查人员应熟练掌握C/C++编码规则,熟悉编译器原理。对于功能性检查还应熟悉

嵌入式系统期末考试题1

嵌入式系统的设计可以分成三个阶段:分析、设计和实现 目前使用的嵌入式操作系统主要有 Windows CE/Windows Mobile Linux、uCos、和 Symbian XScale微处理器使用的是ARM公司ARMV5TE 版内核和指令集。微处理器有两种总线架构,使用数据和指令使用同一接口的是冯诺依曼,分开的指令和数据接口、取指和数据访问可以并行进行的是哈佛结构 ARM微处理器有七种工作模式,它们分为两类非特权模式、特权模式。其中用户模式属于非特权模式 ARM核有两个指令集,分别是ARM 、Thumb ARM微处理器复位后,PC(R15)的地址通常是0X0 , 初始的工作模式是supervisor 8、在ARM体系构架中对复杂的内存管理是通过系统控制协处理器cp15 和MMU(存储管理部件)来进行的。当系统发生Data Abort(数据)异常和Prefetch Abort(指令领取)异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU交换物理内存和虚拟内存的页面,以保证程序正常执行。 9、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是GNU 工具链,ARM公司提供的工具链是ADS工具链 1、写一条 ARM 指令,完成操作r1 = r2 * 4(4分) MOV R1,R2, LSL #3 2、初始值R2=5,R3=4,R4=3,执行指令SUBS R2,R3,R4,LSR #2后,寄存器R2,R3的值分别是多少?(4分) R2=3,R3=4 3、有如下程序段,画出程序流程图,并回答执行程序以后R0的值是多少。(8分) num EQU 2

最新《嵌入式系统原理与设计》-期末考查试卷

《嵌入式系统原理与设计》期末考查试卷 一、选择题(每小题2分,共20分) 1. ARM伪指令的作用是() A)属于ARM指令集,也方便编程B)方便编程,但编译器可不管它 C)方便编程,但编译器不认D)不属于ARM指令集,但方便编程 2. 要让ARM进入中断模式,则需向CPSR中写入下列数据() A)0x0011 B)0x0012 C)0x0013 D)0x0017 3. ARM状态时,CPSR正确的是()。 A)32位,T=0,Thumb指令B)32位,T=0,ARM指令 C)16位,T=0,Thumb指令D)16位,T=1,ARM指令 4. ARM内核采用的指令是() A)RISC B)CISC C)C51 D)X86 5. ARM指令格式中,影响CPSR条件代码值的是() A)cond B)S C)Rd D)operand2 6.下面指令中不是分支指令的是()。 A)B B)BL C)BH D)BX 7. 启动RTC的C语言操作语句是()。 A)CCR=0x01 B)CIIR=0x01 C)CTC=0x01 D)CLK=0x01 8. 当有复位、IRQ、SWI和FIQ多个异常同时发生时,正确的处理顺序是()。 A)复位→IRQ→SWI→FIQ B)复位→FIQ→IRQ→SWI C)IRQ→SWI→FIQ→复位D)FIQ→IRQ→SWI→复位 9. 程序计数器PC,即()。 A)R15,总指向正在“取指”的指令B)R15,总指向正在“译码”的指令 C)R15,总指向正在“执行”的指令D)R14,总指向正在“取指”的指令 10. 关于ARM的PWM,下列说法错误的是() A)所有的PWM输出频率都是相同的; B)PWMMR0控制PWM周期; C)PWM1不具有双边沿PWM输出; D)若将PWM3和PWM5用作双边沿PWM输出,能有3路双边沿PWM输出。 二、填空题(每空1分,共26分) 11. ARM处理器直接支持8位字节、16位半字、位字等数据类型。指令集为半字指令集、ARM指令集为字指令集。系统上电时处理器默认为状态。处理器的操作状态可从当前程序状态寄存器(即)中的控制位T中看出,当时,处理器执行Thumb指令。 12. uC/OS-II系统函数根据功能可分为、系统管理函数、、时间管理函数和。 13. 当一个特定的异常中断发生时,会将当前值保存到对应的异常模式下的中,然后把CPSR设置为对应的异常模式;退出异常模式时,可利用保存在中的值来恢复。 14. Flash是嵌入式系统的首选存储器件,该器件有和Nor Flash两种。 15. VIC控制寄存器包括、中断使能寄存器和。 16. ARM系统启动后或复位后首先运行,然后运行代码,这段代码由汇编指令构成,可实现定义、初始化、系统变量初始化、初始化、I/O初始化、外围初始化、地

嵌入式软件测试方法

一般来说,软件测试有7个基本阶段,即单元或模块测试、集成测试、外部功能测试、回归测试、系统测试、验收测试、安装测试。嵌入式软件测试在4个阶段上进行,即模块测试、集成测试、系统测试、硬件/软件集成测试。前3个阶段适用于任何软件的测试,硬件/软件集成测试阶段是嵌入式软件所特有的,目的是验证嵌入式软件与其所控制的硬件设备能否正确地交互。 1、白盒测试与黑盒测试 一般来说,软件测试有两种基本的方式,即白盒测试方法与黑盒测试方法,嵌入式软件测试也不例外。 白盒测试或基本代码的测试检查程序的内部设计。根据源代码的组织结构查找软件缺陷,一股要求测试人员对软件的结构和作用有详细的了解,白盒测试与代码 嵌入式测试 覆盖率密切相关,可以在白盒测试的同时计算出测试的代码的覆盖率,保证测试的充分性。把100%的代码都测试到几乎是不可能的,所以要选择最重要的代码进行白盒测试。由于严格的安全性和可靠性的要求,嵌入式软件测试同非嵌入式软件测试相比,通常要求有更高的代码覆盖率。对于嵌入式软件,白盒测试一般不必在目标硬件上

进行,更为实际的方式是在开发环境中通过硬件仿真进行,所以选取的测试工具应该支持在宿主环境中的测试。 黑盒测试在某些情况下也称为功能测试。这类测试方法根据软件的用途和外部特征查找软件缺陷,不需要了解程序的内部结构。黑盒测试最大的优势在于不依赖代码,而是从实际使用的角度进行测试,通过黑盒测试可以发现白盒测试发现不了的问题。因为黑盒测试与需求紧密相关,需求规格说明的质量会直接影响测试的结果,黑盒测试只能限制在需求的范围内进行。在进行嵌入式软件黑盒测试时,要把系统的预期用途作为重要依据,根据需求中对负载、定时、性能的要求,判断软件是否满足这些需求规范。为了保证正确地测试,还须要检验软硬件之间的接口。嵌入式软件黑盒测试的一个重要方面是极限测试。在使用环境中,通常要求嵌入式软件的失效过程要平稳,所以,黑盒测试不仪要检查软件工作过程,也要检查软件换效过程。 2、目标环境测试和宿主环境测试 在嵌入式软件测试中,常??折衷。基于目标的测试消耗较多的经费和时间,而基于宿主的测试代价较小,但毕竟是在模拟环境中进行的。目前的趋势是把更多的测试转移到宿主环境中进行,但是,目标环境的复杂性和独特性不可能完全模拟。 在两个环境中可以出现不同的软件缺陷,重要的是目标环境和宿主环境的测试内容有所选择。在宿主环境中,可以进行逻辑或界面的测试、以及与硬件无关的测试。在模拟或宿主环境中的测试消耗时间通常相

相关主题
文本预览
相关文档 最新文档