(通信与信息系统专业论文)嵌入式软件测试技术的研究.pdf_第1页
(通信与信息系统专业论文)嵌入式软件测试技术的研究.pdf_第2页
(通信与信息系统专业论文)嵌入式软件测试技术的研究.pdf_第3页
(通信与信息系统专业论文)嵌入式软件测试技术的研究.pdf_第4页
(通信与信息系统专业论文)嵌入式软件测试技术的研究.pdf_第5页
已阅读5页,还剩83页未读 继续免费阅读

(通信与信息系统专业论文)嵌入式软件测试技术的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京邮电人学硕 :学位论文 嵌入式软件测试技术的研究 摘要 嵌入式系统是计算机技术、现代网络与通信技术、自动控制技术 等高度融合的产物。嵌入式系统适应于对功能、可靠性、体积、功耗、 成本等综合指标具有严格要求的专业计算机应用系统。目前,嵌入式 系统已经在我们的生活和工作中得到广泛的应用。 随着嵌入式处理器和硬件技术的快速度发展,开发实时嵌入式系 统产品的复杂程度也在日益提高。在该类产品的开发过程中,一个重 要环节是对嵌入式软件的严格测试;为此,对嵌入式软件的测试方法 进行研究具有十分重要的现实意义。 本文在基于a r m 2 4 1 0 嵌入式系统产品的硬件电路设计、部分功 能软件开发的基础上,重点对基于改进v 模型的嵌入式软件的测试 方法进行了分析,针对嵌入式软件测试的特点,提出了一种基于u m l 状态图的测试用例生成方法。在实践中,为了弥补u m l 状态图在描 述实时系统上的不足,本文给出了一个状态图的实时扩展方案,提出 了迁移等价类和测试树的概念,阐述了测试树生成测试用例的方法使 用过程。最终根据上述算法实现了测试用例生成工具,并结合基于 a r m 2 4 1 0 的嵌入式系统设备人脸识别门禁的例子给出了实验结果, 证明该工具的可行性及有效性。 关键词:嵌入式软件测试u m l 状态图测试用例 北京邮l 乜火学硕i :学位论文嵌入式软件测试技术的研究 e m b e d d e ds o f r w r a r et e s t i n gt e c h n o l o g y r e s e a r c h a b s t r a c t e m b e d d e ds y s t e mi st h ep r o d u c tu n d e rt h ei n t e g r a t i o no fc o m p u t e r t e c h n o l o g y , m o r d e nn e t w o r ka n dc o m m u n i c a t i o nt e c h n o l o g y , a u t o m a t i c c o n t r o l t e c h n o l o g y e m b e d d e ds y s t e m i s a d a p t t ot h e p r o f e s s i o n a l c o m p u t e r s w h i c hh a v et h es t r i c t r e q u i r e m e n t s o f r e l i a b i l i t y , s i z e , p o w e r - c o n s u m p t i o na n dc o s t a tp r e s e n t ,t h ee m b e d d e ds y s t e mh a sb e e n w i d e l yu s e di no u rd a i l yl i f ea n dw o r k i n g a l o n gw i t ht h er a p i d l yd e v e l o p m e n to ft h ee m b e d d e dp r o c e s s o ra n d h a r d w a r et e c h n o l o g y , t h ed e v e l o p m e n to fr e a l t i m ee m b e d d e ds y s t e mi s m o r ea n dm o r ec o m p l i c a t e d i nt h ed e v e l o p m e n tp r o c e s so ft h i sk i n do f p r o d u c t s ,t h et e s tt oe m b e d d e ds o f t w a r ei sv e r yi m p o r t a n t s ot h er e s e a r c h t ot h et e s t s t r a t e g y o fe m b e d d e ds o f t w a r eh a st h e g r e a tp r a c t i c a l s i g n i f i c a n c e f i r s t l y , b a s e do nt h eh a r d w a r ed e s i g na n ds o f t w a r ed e v e l o p m e n to n a r m 2 4 1 0e m b e d d e ds y s t e m ,t h et e s tm e t h o do fe m b e d d e ds y s t e mu n d e r i m p r o v e dvm o d e li si n t r o d u c e di nt h i sp a p e r a n da c c o r d i n gt ot h et r a i t s o fe m b e d d e ds y s t e mt e s t i n g ,w ep u tf o r w a r dat e c h n i q u et og e n e r a t et h e 北京邮电人学硕 :学位论文嵌入式软件测试技术的研究 t e s tc a s eb a s e do nu m ls t a t e c h a r t s b e c a u s eo ft h el i m i t a t i o n so fu m l s t a t e c h a r t si nm o d e l i n gr e a l t i m ee m b e d d e ds y s t e m ,w ep r e s e n tas o l u t i o n w i t ht h er e a l t i m ee x t e n s i o nf o ru m ls t a t e c h a r t sa n dt h ec o n c e p t so f t r a n s i t i o ne q u i v a l e n c ec l a s s ( t e c ) a n dt e s tc a s et r e e ( t c t ) a n dt h e a l g o r i t h m so ft e s tc a s eg e n e r a t i o nt h r o u g ht c ta r ed i s c u s s e d ,a n da n e x a m p l et h a ts h o w sh o wt ou s et h em e t h o dt og e n e r a t et e s t c a s e si n r e a l i s t i cp r o b l e m si sg i v e n a c c o r d i n gt ot h ea l g o r i t h mm e n t i o n e da b o v e , w eh a v ef i n a l l yr e a l i z e dt h eg e n e r a t i o nt o o lo ft e s tc a s e a n dw eh a v e g e n e r a t e dt h et e s tc a s e sf o rf a c er e c o g n i t i o ns y s t e mb a s e do na r m 2 4 1 0 ,p r o v e dt h ef e a s i b i l i t ya n dv a l i d i t yo ft h i sg e n e r a t i o nt 0 0 1 k e yw o r d s :e m b e d d e ds o f t w a r et e s t i n gu m ls t a t e c h a r t s t e s tc a s e 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 壶1 墓 日期: 篮车盘自盈璺 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期问论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名: 导师签名: 同期:鲥垒皇璺2 刁a 日期:星掣:缢 北京邮i 也人学硕i :学位论文嵌入式软件测试技术的研究 第一章绪论 计算机技术应用的不断普及,使得嵌入式实时软件在越来越多的领域发挥着 作用,这些领域包括航空、航天、工业控制、医疗和军事领域等。与一般的软件 相比,这些软件有着自己的特性:实时性、嵌入性和反应性。所谓实时性,即必 须满足时间约束的特性,实时系统是指时效性对于保证正确性极其重要的系统。 嵌入性表现在软件运行环境( 目标机环境) 和开发环境( 宿主机环境) 的不一致。这 种不一致性带来的影响是:需要采用交叉开发的方式,开发工具运行在软硬件配 置较好的宿主机环境上,应用程序运行在软硬件资源相对有限的目标机上。反应 性指的是可以根据外部的激励事件做出响应的特性。 1 1 课题研究背景 随着嵌入式技术的发展和计算机硬件技术的进步,硬件元件的集成度大大增 加,从而使嵌入式设备的硬件性能得到了极大的提高。与此同时,通过采用成熟 的嵌入式操作系统,使系统可以在一个可靠、高性能的软件平台上运行。面对系 统复杂性的增加,需要功能强大、性能稳定的应用软件与之相适应,所以在嵌入 式系统开发中,软件代码的质量对嵌入式系统的质量起到了决定性的作用。 另外,嵌入式系统往往应用在通讯、工业控制、航天、军事等对产品质量要 求非常严格的领域,用于一些关键性任务的控制管理,所以,由它产生的错误往 往会导致无可挽回的、致命的损失。比如美国金星探测火箭控制系统程序f o r t r a n 中的一个极小的错误,即将逗号误写为一小数点,造成了飞行失败,经济损失达 一千万美元。再如,1 9 9 6 年,欧洲耗资7 亿美元的a r i a n e 5 火箭发射后解体爆炸。 其原因是惯性参考系统中的一个软件设计错误,由于认为这个软件不会发生错误 而未对它进行充分的测试。实际上,即使是非安全关键系统,由于大批量生产也 会导致严重的经济损失l l j 。 而作为软件质量保证最有效手段的测试技术,自然越来越引起软件用户及开 发人员的关注。据统计,目前在软件开发总成本中,用在测试上的丌销要占3 0 n 5 0 。而对于生命悠关的软件( 如飞机控制和核反应堆) ,测试所花的时间和费 用往往是其它软件工程活动时间总和的3 n 5 倍。 事实上,嵌入式软件由于与硬件紧密结合( 即极强的硬件依赖性) 和实时性 ( r e a lt i m e ) ,从而向已有的测试技术提出了新的要求。当前对嵌入式软件的质量 控制多停留在以硬件为主,软件为辅的阶段,随着越来越多的领域使用软件和 北京邮i 乜人学硕l :学位论文嵌入式软件测试技术的研究 微处理器控制各种嵌入式设备,提高测试的效率、减少测试的成本,对同益复杂 的嵌入式软件进行有效测试方法的研究将具有重要的意义。 由著名的面向对象技术专家g r a d yb o o t h ,i v a rj a c o b s o n 和j a m e sr u m b a u g h 发起的u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) ,是在b o o c h 表示法、o o s e 方法和o m t 方法的基础上,广泛征求意见,集众家之长,反复修改而完成的。在美国,u m l 已经获得工业界、科技界和应用界的广泛支持,已有数百家公司表示支持采用 u m l 作为建模语言。1 9 9 7 年1 1 月1 7 日,u m l 被o m g ( o b j e c tm a n a g e m e n tg r o u p ) 批准为标准。这标志着面向对象技术领域中关于建模语言的争论暂告一段落。据 专家预测,在未来1 5 到2 0 年内,u m l 将是软件开发的支持技术【2 1 。 u m l 融合了多种方法的成果,定义良好、功能强大、普遍适用。u m l 严 格地定义了对象元模型地语义,提供了获得对象结构和行为的表示法。同时, u m l 支持在软件开发的各个阶段、从不同的抽象层次对系统各方面的相关信息 进行建模。这些特点,使得以模型为驱动的软件开发成为可能。以r u p ( r a t i o n a l u n i f i e dp r o c e s s ) 为代表的现代软件开发方法,都提倡围绕模型来实施各项软件开 发工作。 一方面,u m l 作为一种共同的标准的语言能有效地改进团队的沟通;另一 方面,u m l 可以提供对软件开发的各个阶段的支持。这两方面使我们认为目的 u m l 最适合作为测试需求及测试用例生成的基础,可以有力的保证软件丌发各 个阶段前后相继的逻辑一致性、正确性。我们希望u m l 分析和设计模型不仅是 软件开发的依据,而且能够指导测试,验证模型与代码实现的一致性,检查产品 是否符合最初的需求。 1 2 国内外发展现状 由于嵌入式软件的实时性、嵌入性和反应性等特点极大地增加了嵌入式软件 测试的复杂性和困难程度,这也使得嵌入式软件的测试研究一直不能令人满意。 国外对嵌入式软件测试的研究开始于7 0 年代,其早期的软件测试方法主要 针对单个系统的。1 9 8 0 年,r o b e r tl g l a s s 发表了他的著名的文章“实时软 件:调试和测试的失落世界 1 3 1 。该文章总结了嵌入式软件测试落后于通用软件 测试的现状,并提出了一些解决方案。在此后的2 0 年,国外许多研究机构针对 嵌入式软件的实时性、嵌入性和反应性等问题进行了大量的研究,并取得了一定 的成果,许多支持嵌入式软件测试的工具也应运而生。 比较有代表性的有:英国i p l 公司提供的一种强大的测试工具c a n t a t a ,它 的静态分析部分s t a t i ca n a l y s i s 可完成一般的静态测试。c a n t a t a 检查代码标准, 2 北京邮电大学硕f :学位论文嵌入式软件测试技术的研究 测量并检查代码复杂性,确定软件的可维护性和标准。t e l e l o g i c 公司的l o g i s c o p e 是一组嵌入式软件测试工具集,它贯穿于软件开发、代码评审、单元集成测试、 系统测试、以及软件维护阶段。l o g i s c o p e 面向源代码进行工作,针对编码、测 试和维护,所以它的重点是帮助代码评审和动态覆盖测试。a m c 公司的 c o d e t e s t ,它包括三个产品,分别用于嵌入式软件开发不同阶段的测试。 c o d e t e s t n a t i v e 用于在主机上完成软件开发后的测试:c o d e t e s t s o f t w a r e i n c i r c u i t 将软件植入目标系统通过以太网连接进行软件测试;c o d e t e s th a r d w a r e i n c i r c u i t 用于系统测试,如系统性能、产品质量等,需要软硬件配合测试。c o d e t e s t 是一个硬件辅助软件的测试与分析工具,通过监视系统总线,当程序运行 到插入的特殊点时才会主动到数据总线上把数据捕获回来【4 1 。t e s t b e d 是英国 l d a r 公司的静态测试工具,完成静态分析功能,包括编程规则检查、软件度量 分析、静态数据流分析、交叉索引分析等等,并能对源代码进行插装。r t i n s i g h t 是l d a r 公司的定时硬件数据采集器,通过和被测试系统的物理总线连接,实 时监控系统的总线读写情况,配合测试工具t e s t b e d 以及软件r t v i e w 软件的使 用,实现覆盖率分析、时间性能分析、变量监控和堆栈监控以及系统跟踪功能。 国内对嵌入式软件测试技术和测试工具的研究丌始于9 0 年代中后期,目前 大型的软件工程都使用国外的软件测试平台,例如l o g i s c o p e 平台。国内尚无商 业化的嵌入式系统测试平台,但有部分基于研究目的开发的测试系统,较有代表 性的是南京大学丌发的e a s t r 。与l o g i s c o p e 类似,它主要用于代码评审和动态 覆盖测试、动态调用关系分析等。还有北航软件所的s a f e p r o c ,其主要用于对 c 语言程序软件进行测试,提供语句覆盖、分支覆盖、插桩策略和轨迹文件界面。 1 3 论文研究的主要内容 论文针对目前嵌入式软件测试难于实施的问题,对嵌入式软件测试从理论方 法和实际应用方面进行了解决,论文主要完成了以下几个方面问题的研究: ( 1 ) 基于a r m 2 4 1 0 的嵌入式系统硬件电路设计及驱动程序开发 针对嵌入式软件系统平台搭建的需要,设计了基于a r m 的$ 3 c 2 4 1 0 x 嵌入式 系统的核心板。将嵌入式l i n u x 进行改造,编译v i v i 、l i n u x 内核及b u s y b o x , 实现l i n u x 在$ 3 c 2 4 1 0 x 上的移植。并在l i n u x 操作系统下开发扩展接口驱动程 序,主要包括对d m 9 0 0 0 驱动程序以及u s b 驱动程序的开发。 ( 2 ) 通用软件测试 随着软件产业规模的不断扩大,人们对软件质量的要求不断提高,软件测试 逐渐受到重视。为保证所提交软件产品的质量,就必须对所开发的软件产品进行 3 北京邮r 乜人学硕 :学位论文 嵌入式软件测试技术的研究 系统的测试。本文针对通用软件测试的概念、软件测试的分类及软件测试的过程 进行了详细的研究。 ( 3 ) 嵌入式软件测试策略 由于嵌入式软件的特性,如实时性、嵌入性和反应性,以及嵌入式软件的开 发环境和运行环境的不一致也给嵌入式软件的测试带了不少的麻烦。因为即使在 宿主机环境下的测试再充分,也不能说明在目标机环境下该软件运行不出问题。 针对嵌入式软件测试实施困难这个问题,本文介绍了一种测试策略。这种策略与 测试过程的各个阶段相关,其核心思想是尽可能多地在宿主机上完成测试工作。 ( 4 ) 基于u m l 状态图的嵌入式软件测试用例生成算法及工具实现 在嵌入式实时系统中,系统的行为表现为一系列的输入输出行为,时l 日j 也成 为影响系统行为的重要因素。由于u m l 状态图在描述实时系统时存在缺陷,本 文提出了一种状态图的实时扩展方案,并在此基础上提出了迁移等价类的概念和 基于测试树( t e s tc a s et r e e ,t 的测试用例生成算法。并根据该测试用例生成 算法实现了嵌入式软件测试用例生成工具,并用该工具生成了基于a r m 2 4 1 0 的 嵌入式人脸识别门禁系统的测试用例,证明了算法的j 下确性和可实现性。 4 北京邮l 乜人学硕l :学位论文嵌入式软件测试技术的研究 第二章嵌入式系统及软件 目前嵌入式计算机系统比较正式的定义为:以应用为中心,软硬件可裁减, 符合应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 嵌入式系统一般是非p c 系统,它包括硬件和软件两部分。硬件包括处理器、存 储器以及外设器件和i o 端口、图形控制器等。软件部分包括操作系统软件( 要 求实时和多任务操作) 和应用程序编程。 2 1 嵌入式系统介绍 嵌入式通常是面向特定应用的。嵌入式系统是将先进的计算机系统、半导体 技术和电子技术与各个行业的具体应用相结合的产物。这决定了它必然是一个技 术密集、资金密集、用途广泛、不断创新的知识集成系统。 嵌入式操作系统特点:操作系统是管理计算机上的资源,为用户使用计算机 及其外部设备提供最基本接口的程序。自从计算机诞生以来,随着计算机、网络 技术的快速发展,操作系统一直处于不断发展和改进之中,人们将越来越多的功 能加入到操作系统中,导致操作系统越来越大。但是,随着应用领域的扩大,为 了适应不同的应用场合,考虑到系统的灵活性、可伸缩性以及可裁减性,一种以 应用为中心、以计算机技术为基础、软硬件可裁减、适应应用系统对功能、可靠 性、成本、体积、功耗严格要求的专用计算机系统嵌入式操作系统( e o s ) 便 随之诞生。与通用操作系统比较,嵌入式操作系统具有如下特征1 5 j : 1 ) 小巧。嵌入式系统所能够提供的资源有限,所以嵌入式操作系统必须要做到 小巧,以满足嵌入式系统硬件的限制。 2 ) 实时性。目前,大多数e o s 都具有r t o s 内核,l i n u x ,w i n d o w sc e 的实时 性较弱,但改进后的l i n u x 系统如r t - l i n u x 的实时性很强。 3 ) 强稳定性与高可靠性。任务管理与调度策略能保证操作系统上的应用程序可 靠运行。 4 ) 移植性好。大部分嵌入式操作系统( e o s ) 可以应用于多种嵌入式处理器, 如m p u 、m c u 、d s p 、a r m 、p p c 等平台上。 5 ) 可裁减。嵌入式操作系统可以根据应用需要进行裁减,去掉多余的部分,或 者简化相应的模块。 6 ) 可固化代码。嵌入式系统中存储空间有限,操作系统代码与应用软件代码通 常需要被固化在系统的r o m 。 5 北京i t l l ij 人学硕i j 学位论文 嵌入式软件测试技术的研究 2 2 嵌入式系统的硬件平台的设计 2 2 1 嵌入式系统的硬件结构 嵌入式系统是跟硬件电路密切关联的,不同的嵌入式应用涉及到不同的硬 件,从而给测试带来了不便。嵌入式系统一般要实时地完成数据采集、加工、计 算处理,并把结果迅速输出到被控对象等任务。因此,组成嵌入式系统的硬件一 般包含以下几个部分。 ( 1 ) 嵌入式处理器 嵌入式系统的核心是可编程计算部件,即各种类型的嵌入式处理器。嵌入式 处理器因为专门针对嵌入式开发,在设计时就具有非常鲜明的特点,一般都体积 小、能耗低,并采用i r s c 架构。很多嵌入式处理器还专门针对某些应用( p d a 、 网络电信、消费电子等) 来设计,在处理器中加入了许多外设,这些设计使得嵌 入式处理器得到广泛应用。目前,国际上比如i n t e l 、p h i l i p 和n e c 等许多大公司 都有自己的嵌入式处理器,使得嵌入式处理器的品种极为丰富。嵌入式处理器可 以分为三类:嵌入式微处理器、嵌入式微控制器、嵌入式d s p ( d i g i t a ls i g n a l p r o c e s s o r ) 。 ( 2 ) 存储器 嵌入式系统的存储器主要包括程序存储器、数据存储器。程序存储器采用非 易失一眭e e p r o m 、f l a s h r o m ;数据存储器有内部缓冲存储及外部扩展存储,一 般采用读写速度较快的s r a m ,d r a m 存储器件。 ( 3 ) 输入输出接口和外围设备 嵌入式系统的很多此类设备都已经和微处理器集成一体,如a d 与d a 转 换器、定时器、计数器、网卡、看门狗等。这些器件大致又可分为以下几类:1 、 执行机构:把计算机输出的数字信号转换为各种被控制设备的执行信号,对设备 进行控制。2 、数据采集装置:把系统的外界模拟信息转换为能被c p u 处理的数 字信息。3 、人机交互界面:如显示器、键盘、按钮、打印机、报警器等。 2 2 2a r m 微处理器简介 a r m ( a d v a n c e dr i s cm a c h i n e s ) ,既可以认为是一个公司的名字,也可以认 为是对一类微处理器的统称,还可以认为是一种技术的名字。 1 9 9 1 年a r m 公司成立于英国剑桥,主要出售芯片设计技术的授权。目前, 采用a r m 技术知识产权核的微处理器,即我们通常所说的a r m 微处理器,已 遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市 场,基于a r m 技术的微处理器应用约占据了3 2 位r i s c 微处理器7 5 以上的市 6 北京邮电人学硕十学位论文嵌入式软件测试技术的研究 场份额,a r m 技术正在逐步渗入到我们生活的各个方面。 a r m 公司是专门从事基于r i s c 技术芯片设计开发的公司,作为知识产权 供应商,本身不直接从事芯片生产,而是转让设计许可并由合作公司生产各具特 色的芯片。世界各大半导体生产商从a r m 公司购买其设计的a r m 微处理器核, 根据各自不同的应用领域,加入适当的外围电路,从而形成自己的a r m 微处理 器芯片进入市场。目前,全世界有几十家大的半导体公司都使用a r m 公司的授 权,因此既使得a r m 技术获得更多的第三方工具、制造、软件的支持,又使整 个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。 a r m 微处理器结构: 1 r i s c 体系结构 传统的c i s c ( c o m p l e xi n s t r u c t i o ns e tc o m p u t e r , 复杂指令集计算机) 结构有其 固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这 些新增的指令,计算机的体系结构会越来越复杂。然而,在c i s c 指令集的各种 指令中,其使用频率却相差悬殊,大约有2 0 的指令会被反复使用,占整个程序 代码的8 0 。而余下的8 0 的指令却不经常使用,在程序设计中只占2 0 ,显 然,这种结构是不太合理的。 基于以上的不合理性,1 9 7 9 年美国加州大学伯克利分校提出了 r i s c ( r e d u c e di n s t r u c t i o ns e tc o m p u t e r , 精简指令集计算机) 的概念,r i s c 并非只 是简单地减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提 高运算速度上。r i s c 结构通过优先选取使用频率最高的简单指令,避免复杂指 令:指令固定长度,指令格式和寻址方式种类减少;以控制逻辑为主,不用或少 用微码控制等措施来达到上述目的。 一般认为,r i s c 体系结构应有如下特点1 6 j : 采用固定长度的指令格式,指令规整、简单,基本寻址方式有2 3 种; 使用单周期指令,便于流水线操作执行; 大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载存储指 令可以访问存储器,以提高指令的执行效率; 所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的 执行效率; 可用加载存储指令批量传输数据,以提高数据的传输效率; 可在一条数据处理指令中同时完成逻辑处理和移位处理; 在循环处理中使用地址的自动增减来提高运行效率。 除此以外,a r m 体系结构还采用了一些特别的技术,在保证高性能的前提 下尽量缩小芯片的面积,并降低功耗。 7 北京邮电人学硕l :学位论文嵌入式软件测试技术的研究 当然,和c i s c 架构相比较,尽管r i s c 架构有上述的优点,但决不能认为 r i s c 架构就可以取代c i s c 架构。事实上,r i s c 和c i s c 各有优势,而且界限 并不那么明显。现代的c p u 往往采用c i s c 的外围,内部加入了r i s c 的特性, 如超长指令集c p u 就是融合了r i s c 和c i s c 的优势,成为未来的c p u 发展方 向之一。 2 a r m 微处理器的寄存器结构 a r m 处理器共有3 7 个寄存器,被分为若干个组( b a n k ) ,这些寄存器包括: 3 1 个通用寄存器,包括程序计数器( p c 指针) ,均为3 2 位的寄存器; 6 个状态寄存器,用以标识c p u 的工作状态及程序的运行状态,均为3 2 位,目前只使用了其中的一个部分。 同时,a r m 处理器又有7 种不同的处理器模式,在每一种处理器模式下均 有一组相应的寄存器与之对应。即在任意一种处理器模式下,可访问的寄存器包 括1 5 个通用寄存器( r 0 r 1 4 ) 、1 至2 个状态寄存器和程序计数器。在所有的寄 存器中,有些是在7 种处理器模式下共用的同一个物理寄存器,而有些寄存器则 是在不同的处理器模式下有不同的物理寄存器。 3 a r m 微处理器的指令结构 a r m 微处理器在较新的体系结构中支持两种指令集:a r m 指令集和t h u m b 指令集。其中,a r m 指令为3 2 位的长度,t h u m b 指令为1 6 位长度。t h u m b 指 令集为a r m 指令集的功能子集,但与等价的a r m 代码相比较,可节省3 0 - 4 0 以上的存储空间,同时具备3 2 位代码的所有优点。 2 2 3三星a r m 9 2 0 t 处理器s 3 c 2 4 1 0 x 本实验室基于a r m 2 4 1 0 的嵌入式系统采用的是三星a r m 9 2 0 t 处理器$ 3 c 2 4 1 0 x 。三星$ 3 c 2 4 1 0 x 处理器采用1 6 3 2 b i t s 的r i s ca r m 9 2 0 t 核,单独的1 6 k 指令和数据c a c h e ,内存管理单元m m u 以支持w i n c e 、l i n u x 、e p o c 等操作 系统,采用新型总线结构a m b a ( a d v a n c e dm i c r o c o n t r o l l e rb u sa r c h i t e c t u r e ) ,运 行频率可达2 0 3 m h z ,2 7 2 f e g a 封装,低功耗高性能设计,适合用于中高档手 持终端等应用。 s 3 c 2 4 1 0 x 功能介绍: 1 系统管理器 支持大小端模式 地址空间:每个b a n k 为1 2 8 m b ( 总计1 g 字节 l 每个b a n k 可编程为8 1 6 3 2 位数据总线宽度 8 个m e m o r yb a n k ,6 个m e m o r yb a n k 用于r o m 、s r a m 及其他;2 个 8 北京邮电人学硕f :学位论文嵌入式软件测试技术的研究 m e m o r yb a n k 用于r o m s r a m 同步d r a m 对所有m e m o r yb a n k 存取周期都是可编程的 支持外部等待信号以便扩展总线周期 关闭电源时s d 洲内部自动更新 支持多种r o m 引导模式( n o r n a n df l a s h 、e e p r o m 等等) 2 n a n df l a s hb o o t l o a d e l 支持从n a n d 映射存储器引导 4 k b 内部引导缓冲器 启动后继续支持n a n df l a s h 格式的存储器 3 d m a 控制器 4 路d m a 控制器 支持存储器到存储器,i o 到存储器,存储器到i o ,及i o 到i o 转换 b u r s t 转换模式以便提高转换比率 带有p w m 的定时器 4 通道1 6 位定时器基于d m a 或者基于中断操作 支持外部时钟源 可编程任务周期,频率 4 通用输入输出口 2 4 个外部出发端口 1 1 7 个输入输出口 5 串口 3 通道u a r t ,基于d m a 或者基于中断操作 支持5 位、6 位、7 位或8 位串行数据发送接收( t x f r x ) 支持外部时钟u a r t 操作( u c l k ) 可编程的波特率 支持i r d a1 o 用于测试的l o o p b a c k 模式 每个通道内部1 6 字节t xf i f o 和1 6 字节r xf i f o 6 实时时钟( r t c ) 全面时钟功能:秒、分、时、日期、天、月、年 功率达3 2 7 6 8 k h z 告警中断 t i m et i c k 中断 7 d 转换器和触摸屏接口 9 北京邮电人学硕i :学位论文嵌入式软件测试技术的研究 1 0 8 通道a d c 最大5 0 0 k s p s ,1 0 位分辨率 8 l c d 控制器 9 s t nl c d 显示特性 支持三种s t nl c d 面板:4 位双重扫描、4 位单扫描、8 位单扫描显示 支持单色模式、4 级狄度、1 6 级狄度、2 5 6 色和4 0 9 6 色的s t nl c d 支持多种屏幕规格 典型实屏规格:6 4 0 * 4 8 0 、3 2 0 * 2 4 0 、1 6 0 幸1 6 0 等 虚拟屏幕可达4 m b 虚拟屏幕可达2 5 6 色模式:4 0 9 6 1 0 2 4 、2 0 4 8 * 2 0 4 8 、1 0 2 4 宰4 0 9 6 等 1 0 t i 可l c d 显示特性 支持1 、2 、4 及8 b p p 调色板 支持1 6 b p p 无调色板纯色显示 支持2 4 b p p 模式下1 6 m 色t i 丌 支持多种大小的屏幕 典型实屏规格:6 4 0 * 4 8 0 、3 2 0 * 2 4 0 、1 6 0 宰1 6 0 等 虚拟屏最大可达4 m b 最大彩屏模式虚拟屏为6 4 k 2 0 4 8 1 0 2 4 等 1 1 看门狗定时器 1 6 位看门狗定时器 系统在中断请求或在时间结束时复位 1 2 i i s 总线接口 基于d m a 操作的单口i i s 总线用于音频 串行,每通道8 1 6 位数据传输 1 2 8 字节( 6 4 字节+ “字节) f i f o 用于t x r x 支持i i s 格式和m s b 验证的数据格式 1 3 i i c 总线接口 单通道m u l t i m a s t e ri i c b u s 串行,8 位双向数据传输,在标准模式下可达1 0 0 k 位秒,在快速模式 可达4 0 0 k 位秒 1 4 u s b 主机 双端口u s b 主机 支持0 h c ir e v l 0 与u s b 描述版本1 1 兼容 北京邮电人学硕十学位论文嵌入式软件测试技术的研究 1 5 u s b 设备 单口u s b 设备 5 端点 与u s b 描述版本1 1 兼容 1 6 s d 主机接口 支持s dm e o m o r yc a r dp r o t o c o l 版本1 0 支持s d i oc a r dp r o t o c o l 版本1 o 6 4 字节f i f o 用于蛾 基于d m a 或者基于中断操作 支持m u l t i m e d i ac a r dp r o t o c o l 版本2 1 1 1 7 s p i 支持双通道s e r i a lp e r i p h e r a l 接口p r o t o c o l 版本2 1 1 2 x 8 位移位寄存器用于t x r x 基于d m a 或者基于中断操作 2 2 4 系统的硬件单元电路设计 这一小节将介绍嵌入式系统的硬件电路设计。主要介绍$ 3 c 2 4 1 0 x 工作模式 设计、n a n df l a s h 接口电路、j t a g 接口电路及外围的e t h e m e t 模块、u s b 模 块做出介绍。 1 $ 3 c 2 4 1 0 x 引脚及控制信号 $ 3 c 2 4 1 0 x 共有2 7 2 脚,f b g a 封装,其引脚主要分为三类,即:输入( i ) 、 输出( o ) 、输入输m ( r o ) 。输出类型的引脚主要用于$ 3 c 2 4 1 0 x 对外设的控制或 通信,由$ 3 c 2 4 1 0 x 主动发出,这些引脚的连接不会对$ 3 c 2 4 1 0 x 自身的运行有 太大的影响;输入输出类型的引脚主要是$ 3 c 2 4 1 0 x 与外设的双向数据传输通 道;某些输入类型的引脚,其电平信号的设置是$ 3 c 2 4 1 0 x 本身j 下常工作的前提, 在系统设计时必须小心处理。 s 3 c 2 4 1 0 x 的主要控制信号如下: ( 1 ) o m i :0 - 这两个管脚用来确定复位过程中n g s c 0 数据总线的宽度,其 具体对应情况如表: 表2 - 1o m 【1 :0 】对应数据线宽度 o m lo m 0n g s c 0 数据总线宽度 o0从n a n df l a s h 启动 011 6 b i t s 1o3 2 b i t s 北京邮电人学硕: :学位论文 嵌入武软件测试技术的研究 本实验室基于a r m 2 4 1 0 的嵌入式系统,采用从n a n df l a s h 启动引导程序 的方法,故而o m i :o 均做接地处理。 ( 2 ) 0 m 【3 :2 】:这两个管脚用来确定系统时钟的供给方式,具体定义如表2 - 2 所示: 表2 - 2 $ 3 c 2 4 1 0 x 时钟供给方式 o m 3o m 2 时钟供给方式 0o晶振同时用于m p l l 时钟源和u p l l 时钟源 o1晶振用于m p l l 时钟源,外接时钟用于u p l l 时钟源 1o外接时钟用于m p l l 时钟源,晶振用于u p l l 时钟源 11外接时钟同时用于m p l l 时钟源和u p l l 时钟源 本文中的嵌入式系统,采用2 0 m h z 晶振同时为m p l l 时钟源和u p l l 时钟 源提供初始时钟,所以o m 3 :2 1 均做接地处理。 2 n a n df l a s h 接口电路 本嵌入式系统中,采用三星公司生产的6 4 m * 8 b i t 的n a n df l a s h 存储器 k 9 f 1 2 0 8 u o m 芯片,其中6 4 m 是指该芯片的寻址能力可达6 4 m ( 需2 6 根地址 线) ,8 b i t 是指它的地址线数据线位数是8 位,如此一来,要想实现寻址6 4 m 的空 间,则需要多个周期来完成地址的写入,一般需要四个周期完成,每个周期送入 8 位地址。同理对于数据的输入输出也是如此。 k 9 f 1 2 0 8 u o m 通过对其内部的命令寄存器写入相应的命令序列,即可实现 对f l a s h 进行编程、基于页的读写和基于块的擦除操作。 n a n df l a s h 存储器的实际应用电路图如图2 1 所示: 系统将k 9 f 1 2 0 8 u o m 配置到r o m s r a m f l a s hb a n k 0 ,即将$ 3 c 2 4 1 0 x 的 n a n df l a s h 片选信号n f c e 接至两片k 9 f 1 2 0 8 u o m 的c e 端。 1 2 北京邮i 乜人学硕i :学位论文嵌入式软件测试技术的研究 r 3 0 4 7 k 型业z n f r e 8 3 1 n o l o a d u 3 r b ,i 迮 c e c l e ,舭 ,舰 新i 0 0 霉 i 0 2 鬯3 2 黼 图2 - 1k 9 f 1 2 0 8 u o mn a n df l a s h 存储器系统电路图 3 j t a g 接口电路 j t a g ( j o i n tt e s ta c t i o ng r o u p ) 是1 9 8 5 年制定的检测p c b 和l c 芯片的标准, 1 9 9 0 年被修改后成为i e e e 的一个标准,即i e e e l l 4 9 1 1 9 9 0 。通过这个标准, 可对具有j t a g 接口的芯片的硬件电路进行边界扫描和故障检测。j t a g 的基本原 理是在器件内部定义一个测试访问端口t a p ( t e s ta c c e s sp o r t ) ,通过专用的j t a g 测试工具对内部节点进行测试。j t a g 测试允许多个器件通过j t a g 接口串联在 一起,形成一个j t a g 链,能实现对各个器件分别测试。现在,j t a g 接口还常 用于实现i s p ( 1 n s y s t e mp r o g r a m m i n g 在线编程) ,对f l a s h 等器件进行编程。 具有j t a g 接口的芯片相关j t a g 引脚的共有四个:t c k 、t d i 、t d o 和t m s , 分别表示测试时钟输入、测试数据输入、测试数据输出、测试模式选择,另外, 还有一个测试复位t r s t ,为输入引脚,低电平有效。 j t a g 接口电路的设计图如图2 2 所示: c v d d 3 3 v q :r 3 7 7 礤, i ! a r - + t 4 一o t c k t d il tdo t m s n t r st 一 一 n r e 二r 4 1 i r c s l 3 3 0 图2 2j t a g 接口电路 c v d d 3 3 v d_ _ _ _ 1 3 北京邮i 乜人学硕i :学位论文嵌入式软件测试技术的研究 4 以太网接口电路 $ 3 c 2 4 1 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论