(计算机应用技术专业论文)基于1632位mcu的嵌入式集成开发环境的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于1632位mcu的嵌入式集成开发环境的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于1632位mcu的嵌入式集成开发环境的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于1632位mcu的嵌入式集成开发环境的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于1632位mcu的嵌入式集成开发环境的设计与实现.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(计算机应用技术专业论文)基于1632位mcu的嵌入式集成开发环境的设计与实现.pdf.pdf 免费下载

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

文档简介

基于1 6 3 2 位m c u 的嵌入式集成开发环境的设计与实现中文摘要 基于1 6 3 2 位m c u 的嵌入式集成开发环境的 设计与实现 中文摘要 随着计算机和通信技术的快速发展,嵌入式系统已经广泛地应用于人们工作和 生活的各个领域,新兴的嵌入式系统正在成为研究与开发的重点和热点。 1 6 3 2 位的高端m c u 由于具有功能强大、处理速度快、能耗低等多方面的优点, 其使用量和需求量不断扩大,种类也日益繁多。但是相关软件的规模变得越来越大, 开发和管理也越来越复杂,需要集成开发环境来提高工作效率。所以,构建适用于 1 6 3 2 位m c u 的嵌入式集成开发环境逐渐成为嵌入式领域的一个新兴课题。 本文通过研究基于1 6 3 2 位m c u 的软件开发的相关技术,开发适用于1 6 3 2 位m c u 的通用型嵌入式集成开发环境。首先介绍嵌入式集成开发环境的国内外研 究现状,然后分析基于1 6 3 2 位m c u 的软件开发的特点,研究交叉编译等软件开 发的相关技术,设计和实现基于1 6 3 2 位m c u 的嵌入式集成开发环境。在设计时 采用面向对象的开发思想,在实现时采用模块化的开发方式,注重集成开发环境的 易用性和工作效率。设计和实现面向插件的软件体系结构,从而实现集成开发环境 的通用性和可扩展性。 为了方便描述,本文设计和实现的集成开发环境命名为s c s i d e 。 关键词:1 6 3 2 位m c u ,i d e ,交叉编译,插件结构 作者:张德彬 指导老师:朱巧明 a b s t r a c td e s i g na n di m p l e m e n t a t i o no fe m b e d d e di n t e g r a t e dd e v e l o p m e n te n v i r o n m e n tb a s e do n16 3 2b i tm c u d e s i g na n di m p l e m e n t a t i o no f e m b e d d e di n t e g r a t e d d e v e l o p m e n t e n v i r o n m e n tb a s e do n16 3 2b i t sm c u a b s t r a c t w i t hr a p i dd e v e l o p m e n to ft h e c o m p u t e ra n dc o m m u n i c a t i o nt e c h n o l o g y , t h e e m b e d d e de q u i p m e n t sh a v ea l r e a d yw i d e l ya p p l i e di nm a n yf i e l d so fw o r k i n ga n dl i v i n g n e we m b e d d e ds y s t e m sa reb e c o m i n gf o c u sa n dh o ts p o to ft h er e s e a r c ha n dd e v e l o p m e n t 刃始s p e c i e so f16 3 2b i t sm c ug r o w sq u i c k l y , a l s ot h ev o l u m eo fu s a g ea n d r e q u i r e m e n t ,b e c a u s eo ft h e i rm o l ep o w e r , f a s t e rp r o c e s s i n gs p e e d ,a n dl o w e re n e r g y c o n s u m p t i o n b u tt h es i z eo fr e l a t e ds o f t w a r eb e c o m e sl a r g e ra n dl a r g e r , t h em a n a g e m e n t a n dd e v e l o p m e n to fr e l a t e ds o f t w a r eb e c o m e sm o r ea n dm o l ec o m p l i c a t e d 胎n e e ds o m e t o o l si u s tl i k ei n t e r g r a t e dd e v e l o p m e n te n v i r o n m e n tt od ot h e s ew o r k s t h e r e f o r e ,an e w t o p i ce m e r g e sf r o me m b e d d e df i e l d ;i ta i m sh o wt ob u i l da ni n t e r g r a t e dd e v e l o p m e n t e n v i r o n m e n tw h i c hi su s e df o r t h ed e v e l o p m e n to fs o f t w a r eb a s e do n16 3 2b i t sm c u t l l i sp a p e rd e s c r i b e st h ed e v e l o p m e n to fau n i v e r s a le m b e d e di n t e r g r a t e d d e v e l o p m e n te n v i r o n m e n tb a s e do l l16 3 2b i t sm c u f i r s t i n t r o d u c e st h er e s e a r c hs t a t u so f e m b e d e di n t e r g r a t e dd e v e l o p m e n te n v i r o n m e n t s e c o n d g i v e sa na n a l y s i sa b o u tf e a t u r eo f s o f t w a r ed e v e l o p m e n tb a s e do n16 3 2b i t sm c u ,d o e sar e s e a r c ha b o u tt e c h n o l o g yf o r s o f t w a r ed e v e l o p m e n tb a s e do n16 乃2b i t sm c ui u s tl i k ec r o s sc o m p i l a t i o n r d ,d e s i g n s a n di m p l e m e n t st h ee m b e d e di n t e r g r a t e dd e v e l o p m e n te n v i r o n m e n tb a s e do n16 3 2b i t s m c u i tt a k e so b i e c t o r i e n t e dg u i d a n c ef o rd e s i g n , a n dt a k e sm o d u l a rm o d ef o r i m p l e m e n t a t i o n p a y sa t t e n t i o nt ot h ee a s eo fu s ea n de 伍c i e n c y a tl a s t ,i td e s i g n sa n d i m p l e m e n t st h ep l u g o r i e n t e ds o f t w a r ea r c h i t e c m r e s ot h a ti m p l e m e n t st h eu n i v e r s a l i t y a n de x p a n s i b i l i t yo ft h ee m b e d e di n t e r g r a t e dd e v e l o p m e n te n v i r o n m e n t i no r d e rt od e s c r i b es i m p l y , t h ei d ei sn a m e ds c s i d e k e yw o r d s :16 3 2b i t sm c u ,i d e ,c r o s sc o m p i l a t i o n ,p l u g o r i e n t e d s o f t w a r e a r c h i t e c t u r e i l w r i t t e n b y :z h a n gd e b i n s u p e r v i s e db y :z h uq i a o m i n g 苏州大学学位论文独创性声明及使用授权声明 学位论文独创性声明 本人郑重声明:所提交的学位论文是本人在导师的指导下,独立进行研究工 作所取得的成果。除文中已经注明引用的内容外,本论文不含其他个人或集 体已经发表或撰写过的研究成果,也不含为获得苏州大学或其它教育机构的 学位证书而使用过的材料。对本文的研究作出重要贡献的个人和集体,均已 在文中以明确方式标明。本人承担本声明的法律责任。 研究生签名:继茎塞燮e l 期:垒竺2 。互: 空 学位论文使用授权声明 苏州大学、中国科学技术信息研究所、国家图书馆、清华大学论文合作部、 中国社科院文献信息情报中心有权保留本人所送交学位论文的复印件和电 子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内 容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅 和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包括 刊登) 授权苏州大学学位办办理。 研究生签名:兰鳓期:研究生签名:一八胁孵日期:竺2 :三:丝 导师签名:三触期:占盟弓乙t 乡 基于1 6 1 3 2 位m c u 的嵌入式集成开发环境的设计与实现第一章引言 第一章引言 随着网络和通信技术的快速发展,1 6 位和3 2 位的高端m c u 的硬件技术有了 很大的提升,相应的软件功能也不断地增强,随之而来的是软件的规模越来越大, 开发和管理也越来越复杂,迫切需要一套集成开发环境来提高工作效率。所以,构 建功能完善的基于1 6 3 2 位m c u 的嵌入式集成开发系统逐渐成为嵌入式领域的一 个新兴课题。 1 1 嵌入式集成开发环境概述 在早期的嵌入式软件开发过程中,各个开发阶段都要用不同的软件来进行处 理。例如先使用文本编辑器编辑源程序,再使用编译程序进行编译,最后使用链接 程序把多个中间文件链接成一个目标文件。如果要进行调试,就必须手动将目标文 件下载到目标机上,然后回到宿主机上控制调试。其中任何一个环节出现了问题, 都必须回到第一步检查错误,然后再重复后面的步骤。这样的开发方式既不方便, 也难以保证开发效率。随着嵌入式软件规模的不断扩大,这个问题更加突出。 嵌入式集成开发环境的出现解决了这个问题,它向用户提供了一套完整的软件 开发环境,包括工程管理器、文本编辑器、编译器、调试器和便于操作的图形界面 工具,有的还提供了下载的接口,便于用户将目标文件下载到目标机上。嵌入式集 成开发环境还可以包含一些高级的工具,如版本控制、性能优化分析器、硬件诊断 工具、配置工具、指令级模拟器等。 嵌入式集成开发环境可以帮助用户更容易地管理和维护开发过程,减小错误发 生的概率,提高开发效率,节省开发时间。 1 2 嵌入式集成开发环境的国内外研究现状 国内外很多单位机构对嵌入式集成开发环境进行了研究,也推出了相应的研究 成果,目前比较流行的嵌入式集成开发环境的发展状况如表1 1 所示,其中,表 示拥有该功能。 第一章引言基于1 6 3 2 位m c u 的嵌入式集成开发环境的设计与实现 表1 1 几种嵌入式集成开发环境产品的发展状况 名称目标m c u编辑编译调试编译器编程语言供应商 6 8 x x x , m i p s , g n u 编译c c + + t o m a d o s p a r , a r m ,n e c ,w i n dr i v 盯 器汇编 v x x 6 8 3 x x , a r m , c c + + c o d e w a r r i o r p o w e r p c ,m i p s , m e t r o w e r k s e c + + m e t r o w e r k s 编译器 m c 6 8 h c x x汇编 p o w e r p c ,m i p s ,g n u 编译 c c + +北京科银京成技 l a m b d a a r m器 汇编术有限公司 t o m a d o 【1 4 】和c o d e w a r d o r 1 3 1 是国外影响力较大的嵌入式集成开发环境产品,下 面重点介绍这两种产品。 t o r n a d o 是w i n d r i v e r 公司在1 9 9 5 年后推出的一套实时操作系统开发环境,它 是嵌入式实时系统领域里最著名的开发调试环境,给嵌入式系统开发提供了一个不 受目标资源限制的超级开发和调试环境【4 】。包含三个完整的部分: ( 1 ) t o r n a d o 系列工具,一套位于主机或目标机上强大的交互式开发工具和使用 程序。 ( 2 ) v x w o r k s 系统,目标板上高性能可扩展的实时操作系统。 ( 3 ) 可选用的连接主机和目标机的通讯软件包,如以太网、串行线、在线仿真 器或r o m 仿真器。 t o r n a d o 的独特之处在于其所有开发工具能够使用在应用开发的任意阶段以及 任何档次的硬件资源上。完整的t o m a d o 工具集可以使开发人员完全不用考虑与目 标连接的策略或目标存储区大小,t o r n a d o 结构的专门设计为开发人员和第三方工 具厂商提供了一个开放环境,包括强大的开发和调试工具,尤其适用于面对大量问 题的嵌入式开发人员。这些工具包括c 和c 抖远程源级调试器、目标和工具管理、 系统目标跟踪、内存使用分析和自动配置。另外,所有工具能很方便地同时运行, 很容易增加和交互式开发【4 1 。 c o d e w a r r i o r 是m e t r o w e r k s 公司开发的一套商业嵌入式集成开发环境产品,最 初是a n d r e a sh o m m e l 为m o t o r o l a6 8 k 系列的嵌入式系统提供一个支持c 语言的开 发环境,后来把它命名为c o d e w a r r i o r ,第一版的面向平台是p o w e r p cm a c i n t o s h , 现在,c o d e w a r r i o r 提供了一个进行代码翻译的层,负责将原来的m a c i n t o s h 的 2 基于1 6 3 2 位m c u 的嵌入式集成开发环境的设计与实现第一章引言 t o o l b o x 转化为w i n d o w s 的s d k ,这也就演变成了目前的多平台版本的 c o d e w a r r i o r 。 目前c o d e w a r r i o r 支持的处理器型号多种多样,开发人员可以得益于采用各种 处理器和平台间的通用功能性,根据g a r t n e rd a t a q u e s t 的报告,c o d e w a r r i o r 编译器 和调试器在商用嵌入式软件开发工具的使用率方面排名第一。另外,c o d e w a r r i o r i d e 支持开发人员插入他们所喜爱的工具,使他们可以自由地以希望的方式工作。 c o d e w a r r i o r 将尖端的调试技术与健全开发环境的简易性结合在一起,把c c + + 源 级别调试和嵌入式应用开发带入新的水平。提供高度可视化并且自动化的框架,可 以加速甚至是最复杂应用的开发,因此对于各种水平的开发人员来说,创建应用都 是简单而便捷的。 国外嵌入式集成开发环境的另一支重要的研发队伍是g n u ( 自由软件协会) 组织,他们在i n t e m e t 上免费提供有关研究和发展成果,如嵌入式操作系统e c o s ( e m b e d d e dc o n f i g u r a b l eo p e r a t i n gs y s t e m ) 、针对特定处理器的g c c ( 本地编译器) 和c g c c ( 交叉编译器) 等,这些编译器支持许多目前流行的系列微控制器,如 m 6 8 0 x o 、m i p s 、p o w e r p c 、d s p 、m c o r e 、a v r 、m c 6 8 h c l1 1 2 1 6 、c o l d f i r e 6 8 k 、 a r m 等【1 引。现在已有很多公司在g n u 软件的基础上,经过集成、优化和测试,推 出了更加成熟、稳定的商业化版本的嵌入式集成开发平台。 国内主要使用国外引进的嵌入式集成开发平台,自主研究和开发的成果较少, 与国际先进水平相比尚存一定差距,l a m b d a 是目前国内比较成功的产品。 l a m b d a t o o l 是北京科银京成技术有限公司配合其嵌入式实时操作系统 d e l t a o s 而推出的嵌入式集成开发工具集,其中包括:集成工具界面l a m b d a l d e 、 代码编译链接器l a m b d a g c c 、交叉调试器l a m b d a g d b 、目标监控器l a m b d a t r a 、 在线帮助文档1 5 j 。 l a m b d a l d e 集成开发环境为嵌入式应用程序开发的全过程提供支持,它提供的 图形化界面以及各个工具之间的资源共享大大缩短了开发周期。l a m b d a l d e 集成的 工具主要包括: ( 1 ) 源码编辑器。支持标准的文本编辑功能,语法高亮显示,用户可自定义语 言模板、语法关键字和关键字色彩,具有源程序函数索引、定位功能。 ( 2 ) 项目管理器。提供图形化的管理工具负责应用源程序的文件组织和管理以 第一章引言基于1 6 3 2 位m c u 的嵌入式集成开发环境的设计与实现 及集成环境中各个工具之间共享信息的管理,以项目为单位管理用户的应 用程序并生成与d e l t a o s 相关的可调试、可固化的应用代码。 ( 3 ) 配置工具。主要包括d e l t a o s 组件参数配置和目标机内存配置。 l a m b d a g c c 支持c 、c 抖和a s m 的交叉编译,生成目标处理器的可执行代码, 各种警告、错误提示信息清晰,易于查错、纠错。其中也有与c 、c + + 交叉编译器 相配套的实用程序,如交叉汇编器、交叉链接器、交叉定位器、目标文件格式转换 工具等【6 1 。 l a m b d a g d b 是在i n s i g h t ( g n u 的一个项目,基于图形化的g d b ) 的基础上 发展起来的嵌入式实时应用系统调试工具。该工具有多平台性,能运行于l i n u x 、 w i n 9 5 9 8 、w i n n t 2 0 0 0 等平台;具有图形化的调试功能,能以图形化的方式查看 和修改变量,并且能以图形的方式显示数据结构;具有全汉化的图形界面和帮助文 章,同时保留了命令行原来的风格【6 】。 l a m b d a t r a 是调试器对目标机上运行的应用程序进行控制的代理( a g e n t ) , 事先被固化在目标机的f l a s hm e m o r y 、r o m 、硬盘、d o c 、d o m 或启动软盘中, 在目标机加电后自动启动,并等待宿主机方调试器发来的命令,配合调试器完成应 用程序的下载、运行和基本的调试功能。l a m b d a t r a 支持串行接口、网络接口两 种连接方式,同时可灵活配置,如选择串口、设置串口波特率、选择网卡类型、设 置目标机i p 地址等参划6 1 。 1 3 嵌入式集成开发环境的发展方向 随着嵌入式系统应用范围的不断扩大,嵌入式软件的规模和复杂性日益增长, 相应地对嵌入式集成开发环境提出更多、更高的要求,嵌入式集成开发环境的发展 方向可以概括为以下几个方向: ( 1 ) 较强的通用性和可扩展性。从支持单一的硬件平台、r t o s 和开发工具,向 支持多种硬件平台、r t o s 和开发工具过渡,通用性和可扩展性越来越重要。 ( 2 ) 支持大型复杂、分布式的嵌入式系统开发,支持基于i n t e n r e t 的协同工作。 ( 3 ) 方便的工程管理和代码编辑。工程管理应当提供直观的文件管理、工程配 置管理,代码编辑器应当提供快捷的编辑操作,支持语法高亮显示、代码 自动完成等功能。 4 基于1 6 3 2 位m c u 的嵌入式集成开发环境的设计与实现 第一章引言 ( 4 ) 编译器的效率和调试方式的多样性。选择一款高效的编译器能极大改善软 件的质量,不同的硬件平台需要不同的调试方式,例如m o t o r o l a 的m c u 一般提供了b d m 接口便于在线调试,而a r m 则提供了j a t g 接口。 1 6 3 2 位m c u 技术的不断革新,相关产品的不断更新换代,使得目前上已有的 嵌入式开发平台及相应的开发工具变得越来越不适应。开发适合广大用户使用的通 用型嵌入式集成开发环境已成为嵌入式领域的发展新趋势之一。 基于1 6 3 2 位m c u 的嵌入式集成开发环境的最新发展趋势可以概括为: ( 1 ) 研究平台的通用性和可扩展性。研究各种不同系列的1 6 3 2 位m c u 的编程 及调试方式,实现基于不同系列1 6 3 2 位m c u 的软件可以在同一个开发环 境下编辑、编译、下载及调试等功能,当出现新型m c u 时,可以方便地更 新升级。 ( 2 ) 研究平台的易用性和工作效率。提高平台的易用性和工作效率能够缩短用 户的开发时间,提高用户的开发效率。研究平台的易用性包括提高编辑、 编译以及调试等功能模块的易用性;研究平台的工作效率包括提高编辑、 编译以及调试等功能模块的工作效率。 1 4 研究的背景和意义 1 6 位和3 2 位的高端m c u 由于具有功能强大、处理速度快、能耗较低等多方 面的优点,其应用量和需求量不断扩大,种类也日益繁多,相关软件的规模变得越 来越大,开发和管理也越来越复杂。 基于1 6 3 2 位m c u 的嵌入式软件的开发与通用计算机软件的开发有较大的差 异,由于受资源约束,软件开发一般需要在专门的开发平台上进行交叉开发,软件 开发难度大,对开发人员要求较高。同时,由于1 6 3 2 位m c u 所控制的外部设备 受环境的复杂度、可靠性及实时性等限制,使得软件的开发和调试非常复杂,迫切 需要强有力的开发环境作为支持。如果有一套功能强大的集成开发环境进行软件开 发,则可以保证程序执行的实时性、可靠性,保障软件质量,并减少开发时间。 当今对嵌入式集成开发环境的研究倍受重视,出现了许多功能完善的嵌入式集 成开发环境,如f r e e s c a l e 的c o d e w a r r i o r 系列等。c o d e w a r r i o r 是一款集工程管理、 编译、编译、下载调试等功能于一体的嵌入式集成开发环境,支持基于1 6 3 2 位 第一章引言基于1 6 3 2 位m c u 的嵌入式集成开发环境的设计与实现 m c u 的软件开发。但是c o d e w a r r i o r 具有一些不足之处: ( 1 ) 无论是操作界面还是帮助文档,都是使用英文书写,对中文的支持不好, 不利于国内用户的使用。 ( 2 ) 往往只针对某一个系列的1 6 3 2 位m c u ,不具备良好的通用性。例如 c o d e w a r r i o rd e v e l o p m e n ts t u d i of o rh c s12 ( x ) 只支持基于h c s12 的软件开发,用户 要想进行基于a r m 的软件开发,就必须再购买和安装另外个软件c o d e w a r r i o r d e v e l o p m e n ts t u d i of o ra r m 。 本文在研究基于1 6 3 2 位m c u 软件开发的相关技术的基础上,设计和实现适 用于1 6 3 2 位m c u 的通用型嵌入式开发环境。实现较高的易用性和工作效率,较 强的通用性和可扩展性。具有以下的使用价值和现实意义: ( 1 ) 为广大嵌入式软件开发人员提供一套实用的开发工具,为1 6 3 2 位m c u 的 学习者提供学习和实验上的帮助。 ( 2 ) 研究通用型集成开发环境的关键技术,从而尽可能的避免针对不同m c u 平 台而需要重复开发集成开发环境的情况,提高软件的重用度。 1 5 本文的工作和结构 1 5 1 本文工作 本文的主要工作是分析基于1 6 3 2 位m c u 的软件开发的特点,研究交叉编译 等软件开发的相关技术,设计和实现基于1 6 3 2 位m c u 的嵌入式集成开发环境。 在设计时采用面向对象的开发思想,在实现时采用模块化的开发方式,注重集成开 发环境的易用性和工作效率。设计和实现了面向插件的软件体系结构,从而实现集 成开发环境的通用性和可扩展性。 为了方便描述,本文设计和实现的集成开发环境命名为s c s i d e 。具体工作安 排如下: ( 1 ) 研究相关技术,包括交叉开发、交叉编译和交叉调试等; ( 2 ) 确定s c s i d e 的设计目标; ( 3 ) 按照模块化的划分方法设计s c s i d e 的总体结构; ( 4 ) 根据总体结构实现各个模块; 6 基于1 6 3 2 位m c u 的嵌入式集成开发环境的设计与实现第一章引言 ( 5 ) 实现s c s i d e 的交叉编译功能; ( 6 ) 设计面向插件的软件体系结构,实现s c s i d e 的通用性和可扩展性。 1 5 2 本文结构 全文共六章,各章的内容安排如下: 第一章引言,介绍m c u 和嵌入式集成开发环境,国内外研究现状,研究的背 景及意义,并给出了本文工作及结构。 第二章相关技术和设计目标,研究基于1 6 3 2 位m c u 的软件开发的相关技术, 提出了s c s i d e 的设计目标,为s c s i d e 的设计与实现奠定基础。 第三章集成开发环境的实现,按照模块化的划分方法设计s c s i d e 的总体结 构,然后具体实现各个模块。 第四章交叉编译的实现,研究交叉编译的技术,制作基于不同系列1 6 3 2 位 m c u 的交叉编译器,实现s c s i d e 中交叉编译的功能。 第五章面向插件的设计与实现,为了实现s c s i d e 的通用性和可扩展性,在 s c s i d e 中设计与实现了面向插件的软件体系结构。 第六章结束语,对整个设计与实现过程进行总结,总结存在的不足之处。 7 第二章相关技术与设计目标 2 1 基于1 6 3 2 位m c u 的软件开发的相关技术 ,由于目标系统的资源等多方面的限制,基于1 6 3 2 位m c u 的软件开发一般采 用交叉开发方式。 2 1 1 交叉开发 图2 - 1 交叉开发示意图 8 大黜托堪 剞啪搦沭形撤盼拱 俐湘铡院 机湖劓往训漳雕本 、, l r l铡泼麒坍 彰汉啪饺件绗 蝌进鲻址台嵌抖 哪陵 u ”:c 能标i 至昧 2 吞没 罴一 亏魅斟哺咖 , s 九1 t u u 面件开 桌软,、 用式台 : 拥腻跆衣 一 嵌主托铲献桂晰 问行上行蜘断钍骄 舱糙殆塘肋斌吨附 处到括称囊;捌鼢赇 定下以0 一 件可上铲姘河钍 各后叉在一一一黼 艋眈 袱 鼽就舯黼 可 ,帽,能眄统功测 系理耆机管或 算程 一 计工泽 的的编i i 盖黼赚丰提交 较境行比环进 源发卜资开器、成泽大集编 强用叉较利交 比 。为 能件称功软又 是等0般境器 环译台发编 平开的主成应宿集相,和用 中统调0 系地z 作便 图操方在行以 运可以就 基于1 6 3 2 位m c u 的嵌入式集成开发环境的设计与实现第二章相关技术与设计目标 应的调试器( 又称为交叉调试器) 进行交叉调试。在宿主平台上进行交叉开发需要 和目标平台建立底层的联系,联系方式一般通过u s b 接口或者串行接口。 在图2 1 中,目标平台一般是资源比较紧张的嵌入式设备,无法运行比较规模 比较大的软件。可以通过目标平台提供的擦写接口把目标软件下载到目标平台上, 然后通过调试接口进行调试。 2 1 2 交叉编译 交叉编译是在宿主平台上使用特殊的编译器( 又称为交叉编译器) 生成目标平 台的可执行代码。之所以要采用交叉编译是因为目标平台上的资源紧张而不能够运 行我们所需要的编译器,一般情况下,大多数的嵌入式系统包括1 6 3 2 位m c u 在 内都需要交叉编译。 计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算 机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。 这种“翻译 通常有两种方式,即编译方式和解释方式。 编译方式是指利用事先编好的一个称为编译程序的机器语言程序,作为系统软 件存放在计算机内,当用户将高级语言编写的源程序输入计算机后,编译程序便把 源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该 目标程序,以完成源程序要处理的运算并取得结果。解释方式是指源程序进入计算 机后,解释程序边扫描边解释,逐句输入逐句翻译,计算机一句句执行,并不产生 目标程序【3 0 1 。 编译程序与解释程序最大的区别之一在于前者生成目标代码,而后者不生成; 此外,前者产生的目标代码的执行速度比解释程序的执行速度要快;后者人机交互 好,适于初学者使用【1 7 】。 g c c ( g n u c o m p i l e rc o l l e c t i o n ) 是现阶段被广泛使用的开放源码的编译器, 它支持多种高级语言如c 、c + + 、f o r t r a n 、j a v a 、a d a 等,同时支持多种处理器如 a l p h a 、a r m 、x 8 6 、i a 6 4 、m i p s 、p o w e r p c 、m 6 8 k 、m 6 8 1 2 等【1 8 1 ,在生成代码 的质量和运行效率上也很出色。g c c 交叉编译器的“翻译”方式是编译方式。 g c c 交叉编译器的工作原理如图2 2 所示: 9 第二章相关技术与设计目标基于1 6 3 2 位m c u 的嵌入式集成开发环境的设计与实现 2 1 3 交叉调试 = g c c 翻译过程 图2 2g c c 交叉编译器工作原理图 汇编语言 a s 翻译过程 机器语言 l d 链接过程 二进制目标文件 交叉调试是在宿主平台上使用特殊的调试器( 又称为交叉调试器) 通过u s b 或者串口控制目标平台上的调试。之所以要采用交叉调试是因为目标平台上的资源 紧张而不能够运行我们所需要的调试器,一般情况下,大多数的嵌入式系统包括 1 6 3 2 位m c u 在内都需要交叉调试。 宿主平台进行交叉调试时,要先通过通讯介质( 串线或u s b ) 将目标代码下载 到目标系统上运行,然后利用交叉调试器进行跟踪调试。常见的交叉调试方式有: ( 1 ) 在线调试 在线调试一般情况下需要宿主平台和目标平台结合调试,在宿主平台上控制调 试进度,在目标平台上执行调试过程。在线调试有许多种调试方式,常见的调试方 式如下: 在线仿真器。在线仿真器是用来调试嵌入式系统软件的硬件设备,当仿真器被 插入到待开发芯片的某个部分的时候,在线仿真也被称作硬件仿真。这样的在线仿 真器,可以在系统运行实时数据的情况下,提供相对很好的调试能力引。 1 0 一一 一 一一 基于1 6 3 2 位m c u 的嵌入式集成开发环境的设计与实现 第二章相关技术与设计目标 片上调试。片上调试让目标机c p u 直接在其内部实现调试功能,并通过在开 发板上引出的调试端口,发送调试命令和接收调试信息,完成调试过程。目前, m o t o r o l a 公司提供的开发板上使用的是b d m 调试端口,而a r m 公司提供的开发 板上使用的则是j t a g 调试端口。使用合适的软件工具与这些调试端口进行连接, 可以获得与在线仿真器类似的调试效果【l 】。 r o m 监控器。r o m 监控器是指一段驻留在目标机r o m 中的小程序,它可以 在开发过程中辅助测试与调试用户所编写的嵌入式程序。采用r o m 监控方式进行 交叉调试需要在目标机上运行r o m 监控和被调试程序,宿主机的调试器通过远程 调试协议与目标机上的r o m 监控建立通信连接【9 】。 远程调试。远程调试需要移植一个调试服务器到目标系统中,并通过它与宿主 机上的调试器共同完成应用程序的调试。在嵌入式l i n u x 系统的开发中,远程调试 时目标机上使用的调试服务器通常是g d b s e r v e r ,而宿主机上使用的调试器则是g d b 。 两者相互配合共同完成调试过程。 ( 2 ) 模拟调试 模拟调试也可以称为软件调试,不需要目标平台的参与,直接在宿主平台上使 用特定的软件来模拟目标平台,利用指令集模拟方式进行调试。在这种调试方式中, 目标平台的大部分硬件,如c p u 、存储器、i o 设备等,都是软件模拟的。 2 1 4 开发步骤 随着大规模集成电路技术的不断进步,大多数1 6 3 2 位m c u 的处理器速度达 到了2 0 m 到5 0 0 mm i p s ,集成的存储器的体积几乎没有限制,因为它们可以被定 制( 当然不能超过寻址空间的最大范围) ,i o 接口也变多了,网络接口、u s b 接口 及其它数据接口日益丰副1 1 。 基于1 6 3 2 位m c u 的嵌入式软件与普通的计算机软件有很大的差异,它们有 以下特点: ( 1 ) 面向应用 基于1 6 3 2 位m c u 的嵌入式软件是为嵌入式系统服务的,这就要求它与外部 硬件和设备联系紧密,每种嵌入式软件都有自己独特的应用环境和实用价值。 ( 2 ) 模块化 1 1 第二章相关技术与设计目标基于1 6 3 2 位m c u 的嵌入式集成开发环境的设计与实现 基于16 3 2 位m c u 的嵌入式软件通常是一种模块化软件,能够非常方便灵活 的运用到各种嵌入式系统中,而不能破坏或更改原有的系统特性和功能。 ( 3 ) 局限性 1 6 3 2 位m c u 的系统规模无法与大型计算机系统甚至桌面计算机系统相比,处 理器速度比较低,存储器的容量比较小,i 0 接口也不多,因此对软件的运行效率、 代码体积有很大的限n t 3 1 。 基于1 6 3 2 位m c u 的嵌入式软件的开发方式有了新的特点,即面向工程的特 点3 1 。软件开发也按照工程开发的方式,具体的开发步骤如下: ( 1 ) 开始。用户准备开发一个基于1 6 3 2 位m c u 的软件。 ( 2 ) 新建工程。基于软件工程的开发思想,现代的软件开发要有统一的管理和 组织,以便保证开发的有序进行,因此在最开始的阶段需要建立一个工程 ( 也可以称为项目) 。 ( 3 ) 文件操作。新建的工程里起初是没有任何代码文件或其他资源文件的,用 户按照自己的需要可以向里面添加文件,也可以对里面的文件进行重命名 或者移除等操作。 ( 4 ) 编辑代码。用户对工程里的代码文件进行编辑。 ( 5 ) 更改配置( 可选) 。默认的工程配置可能不符合用户的要求,因此提供更改 的方式,此步骤是可选的。 ( 6 ) 编译。如果代码编辑好了,用户就可以对整个工程进行编译了。如果编译 失败,说明存在语法错误,用户应该返回步骤4 修改代码;反之继续步骤7 。 ( 7 ) 下载。将编译好的目标程序下载到目标m c u 上执行或者调试。 ( 8 ) 调试( 可选) 。用户可以利用调试功能找出目标程序中的不易察觉的逻辑错 误或者其他问题,若有问题,用户应该返回步骤4 修改代码反之继续步骤9 。 ( 9 ) 结束。工作流程至此结束。 1 2 基于1 6 3 2 位m c u 的嵌入式集成开发环境的设计与实现第二章相关技术与设计目标 基于1 6 3 2 位m c u 的软件开发的工作流程如图2 3 所示 图2 - 3 基于1 6 3 2 位m c u 的软件开发的工作流程图 2 2s c s i d e 的相关技术 s c s i d e 的开发是一个比较复杂的过程,需要按照软件工程的软件开发思想, 参照面向对象的软件开发模型,使用有效的开发方式来实现。 第= 章相关拄木与设计目标基于1 6 3 2 位m c u 的嵌入式集成开发环境的设计与赛现 2 2 1 软件开发思想 软件的规模和数量的增加,带来的诸多问题始终困扰着软件开发人员尽管有 许多成功软件的故事,但仍有相当数量的软件延期交付、或者超出预算,甚至存在 重大缺陷。s t a n d i s h g r o u p 是一个分析软件开发项目的研究机构,他们在2 0 0 4 年完 成了9 2 3 6 个软件开发项目的研究概况。其中仅有2 9 的项目是成功完成的,1 8 的项目由于种种原因被迫中途取消,余下的5 3 的项目虽然完成了,但是延期交付、 或者超出预算,或者存在重大缺陷 2 2 l 。研究概况如图2 - 4 所示: 图2 - 4 软件开发项目的完成状况示意图 软件工程是- - 1 3 研究用工程化方法构建和维护有效的、实用的和高质量的软件 的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计 模式等方面。软件工程力图对软件项目的各个方面作出指导,从软件的可行性分析 直到软件完成以后的维护工作。 s c s i d e 的软件规模比较大,涉及到高层界面设计、中间接口与事件处理、底 层驱动和通讯等等,软件的管理比较复杂,因此需要软件工程思想的指导。 2 2 2 软件开发模型 面向对象的软件开发模型简称为面向对象模型,这是一种新兴的软件开发方 法,或者说是一种新兴的软件开发模型,其基本思想是使用对象的机制进行软件开 发。 面向对象模型是从现实世界中客观存在的事物( 印对象) 出发来构造软件系统, 并在系统构造中尽可能运用人类的自然思维方式。强调直接以问题域( 现实世界) 基于1 6 3 2 位m c u 的嵌入式集成开发环境的设计与实现第二章相关技术与设计目标 中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象 地表示为系统中的对象,作为系统的基本构成单位( 而不是用一些与现实世界中的 事物相关比较远,并且没有对应关系的其它概念来构造系统) 。这可以使系统直接 地映射问题域,保持问题域中事物及其相互关系的本来面貌。 面向对象的分析方法是利用面向对象的信息建模概念,如实体、关系、属性等, 同时运用封装、继承、多态等机制来构造模拟现实系统的方法。传统的结构化设计 方法的基本点是面向过程,系统被分解成若干个过程。而面向对象的方法是采用构 造模型的观点,在系统的开发过程中,各个步骤的共同的目标是建造一个问题域的 模型。在面向对象的设计中,初始元素是对象,然后将具有共同特征的对象归纳成 类,组织类之间的等级关系,构造类库。在应用时,在类库中选择相应的类。 传统的生命周期法是比较常见的软件开发模型。组成这种传统模型的技术有: 结构化系统分析、数据流分析、结构化编程、结构化测试。在最初使用时,这些技 术似乎有极好的前景,然而随着时间的推移,它们被证明存在两个方面的缺陷: ( 1 ) 这些技术不能解决软件产品的规模变大的问题。 ( 2 ) 在交付后维护方面的解决能力不能令人满意。 传统模型不成功的原因在于,传统技术要么面向操作,要么面向属性( 数据) , 却没有同时面向这两者。而软件产品的基本组成是产品的行为和这些行为面向的属 性。相反,面向对象模型将两者看作同样重要的,它把两者有机地结合起来,相比 而言带来一些优势: ( 1 ) 在交付后维护方面,面向对象模型使维护变得更迅速、容易,极大减少了 回归错误( r e g r e s s i o nf a u l t ,是指对软件某处进行修改时,在其它地方会造 成新的错误) 。 ( 2 ) 在开发时更容易,软件产品中的对象封装了操作和属性,与现实世界中的 实体紧密相关,在一定程度上减轻了开发人员的设计任务,简化了开发。 ( 3 ) 提高了软件的重用度,因为对象是独立的实体,可以用于将来的产品中, 减少了重复劳动。 综合比较传统的生命周期法和面向对象模型这两种软件开发模型,后者更适合 s c s i d e 的软件开发。 1 5 第二章相关技术与设计目标基于1 6 3 2 位m c u 的嵌入式集成开发环境的设计与实现 2 3s c s i d e 的设计目标 s c s i d e 的设计目标是实现一个功能完整的嵌入式集成开发环境,支持多种 1 6 3 2 位m c u 、支持多种编程语言,具有良好的通用性和扩展性。 2 3 1s c s i d e 的主要功能 一般情况下,集成开发环境的主要作用是支持工程方式的软件开发,因此需要 实现帮助用户管理工程、编辑代码,编译源文件、调试目标文件等功能。 基于1 6 3 2 位m c u 的软件开发使用交叉开发的方式,需要在宿主平台和目标 平台之间建立连接,进行在线调试时需要将目标文件下载到目标平台,因此需要下 载的功能。 综上所述,确定s c s i d e 的主要功能有:工程管理、编辑、编译、下载、调试。 2 3 2s c s i d e 支持的m c u 苏州大学f r e e s c a l e 嵌入式实验室近几年来一直致力于嵌入式软件开发平台方 面的研究工作,除了f r e e s e a l e8 位通用开发套件的研究工作外,还研制了1 6 位的 h c s l 2 微处理器集成开发套件、3 2 位的c o l d f i r e 系列

温馨提示

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

评论

0/150

提交评论