近四十个实时操作系统家族,支持不同处理器的多个产品,广泛应用于信息家电数字通信工业控制航空航天医疗设备军事电子等领域。应用程序的开发般首先需要在主机平台如或上配备相应的嵌入式软件集成开发环境,完成编辑交叉编译和交又调试等编码阶段的任务,支持,等高级实时语言的编程。这类集成开发环境起初主要由第三方工具公司提供,为不同操作系统的不同处理器版本专门定制,如美国公司的产品。随着用户对嵌入式软件开发平台需求大增,供应商也纷纷投入巨资发展本系列产品的集成开发环境,如公司的产品,公司该公司目前己被公司兼并的产品等。国际上,嵌入式软件集成开发环境的另支重要的研发队伍是自由软件协会,他们在上免费提供有关研究和开发成果,如,针对特定处理器的本地编译器和交叉编译器。目前些公司已在软件的基础上,经过集成优化和测试,推出更加成熟稳定的商业化版本的嵌入式软件集成开发环境,如该公司目前已被公司兼并公司推出的商业化产品编译器系列的商业版和集成化编辑器和源代码浏览器。这两种工具中功能更强大的是,虽然它们可以集成在起,但实际上它们并不能算是个真正的。计划发布个用于的真正的,称为。将把和集成起来,增加些新特性,并且将取代。国内现状国内的,从上世纪年代初开始经过些单位多年的攻关,己经突破了主要关键技术,并开发出具有定先进水平自主版权的产品,如电子科技大学的中国科学院北京软件工程中心的和浙江大学的等产品。而北京科泰公司的和欣更是对嵌入式操作系统采用了中间件技术。国内使用的嵌入式软件集成开发环境,多数从国外引进,自主研究和开发成果较少,与国际先进水平相比尚存在定差距,除了针对和欣的和欣外,目前比较流行的是深圳英培特公司的。嵌入式研究的意义在嵌入式研制方面,国内与国际存在着较大的差距,我们现在大都采用国外软件。而这种方式限制了我们对核心技术的掌握,同时我们也不能对它进行改进和优化,从而影响了相关的嵌入式系统的开发。所以我们必须要对这个技术进行研究,开发自己的。另外,通过这次的研究,加深了我们对整个嵌入式开发的编译调试过程的了解,对于以后编写优秀的嵌入式系统软件打下了很好的基础。论文工作内容论文分硬件和软件两个方面。硬件方面自制仿真器,使用现有开发板,搭建硬件测试平台。软件方面研制针对核的嵌入式系统集成开发环境,实现工程管理,编辑编译调试功能,并创建测试工程对系统进行测试。论文的组织第部分介绍了嵌入式的国内外现状研究的意义和论文的工作内容。第二部分介绍了嵌入式的设计方案。首先分析了设计目标,然后给出整体设计模型,再分别介绍硬件设计和软件设计方案。第三部分详细说明了嵌入式下载调试过程所需的仿真器的硬件实现。第四部分是嵌入式软件的具体实现。详细说明了工程管理编辑编译调试模块的实现,尤其调试模块的实现是论文的精华部分所在。第五部分介绍嵌入式的测试情况。描述了对个具体的测试工程的创建开发和调试过程。第六部分结束语总结了本次毕业设计的工作,并阐述了对软件的进步设想。嵌入式设计方案目前,嵌入式系统的集成化的开发环境嵌入式状态的入口,流水线被清洗。在退出调试状态时,流水线必须恢复之前的状态。调试中的程序计数器调试器必须对进行跟踪,这样内核才能通过分支跳转到由于调试而中断的程序位置。程序流可以被下列事件中断断点观察点带有其它异常的观察点调试请求系统速度访问断点断点的调试状态入口占用了个地址或个字节。调试状态下,执行的每个指令占用个地址或个字节。通常在断点后,退出调试状态的方法是撤消断点并通过分支跳转回之前发生断点的地址。例如如果处理器在个给定地址处设定的断点进入调试状态,并且执行了两条调试速度的指令,那么必须产生个地址的分支指令。个调试入口加上个指令再加个最后的分支指令。下面的指令序列所示为进入断点后执行了条指令的情况下,如何退出调试状态。的补码在处理器进入调试状态后它在执行分支指令之前,必须至少执行两条指令。即使都为指令,。观察点在进入观察点后返回程序执行的处理与断点所采用的方法相同。调试入口使增加了个地址。每个指令增加个地址。与断点的区别在于,产生观察点的指令已经执行,程序必须返回到下条指令。而具有另外异常的观察点则有些不同。如果对观察点的访问同时导致了次数据中止。处理器进入中止模式的调试状态。进入调试的入口被拖延到内核进入中止模式,并从中止向量取指为止。当个中断或其它异常发生在观察点存储器访问时,也遵循相似的过程。处理器在异常模式中进入调试状态,调试器必须通过和检查当前和先前的模式,以及的值来确定是否产生了异常。当发生了异常时,可以选择在调试之前服务异常。调试状态的入口在发生异常时,使增加个指令而不是个。在退出调试状态时,进行返回分支计算时必须考虑到这点。例如假设个异常发生在观察点访问时,并且执行了条指令来确定这偶然事件。那么可以使用下面的指令序列返回程序执行。上面的代码强制执行个分支返回到异常向量处使该位置的指令被重新取指和执行。注在中止服务程序之后,导致异常和观察点的指令被重新取指和执行。这将再次触发观察点,并使处理器重入调试状态。调试请求通过调试请求进入调试状态的入口与断点相似,但和断点不同的是在最后条指令已经执行完毕,并且在退出调试状态时不能再重新对其取指。因此可以假设调试状态的入口使增加了个地址而调试状态下的每条指令增加个地址。例如假设调用了个调试请求,并且决定直接返回程序的执行。那么可以使用下面的代码序列该代码将恢复到下条指令并重新启动程序执行。系统速度访问在调试状态下执行系统速度访问时,的值加个地址。系统速度指令访问存储器系统并有可能产生异常。如果异常发生在系统速度访问时,处理器在返回调试状态之前进入异常模式。此情形与个出现异常的观察点相似,但问题更难解决,因为异常并不是由主程序中的指令所引起的。因此并不指向导致出现异常的指令。异常处理器通常观察来确定导致异常的指令和异常地址。在这种情况下,的值无效。但由于调试器可以决定对哪个位置进行访问,因此可以对调试器执行写操作以帮助异常处理器修复存储器系统。返回地址计算汇总分支返回地址的计算如下对于正常的断点和观察点分支为对于通过调试请求或者带有异常的观察点入口分支为此处为执行的调试速度指令,包括最后的分支指令。为执行的系统速度指令。关键的实现暂停和恢复程序的关键是计算返回地址,这个具体由调试目标模块的和来实现。下面将具体解释这个过程。如下图是调试请求情况进入调试状态后直接返回的过程。它的结果是将恢复到下条指令并重新启动程序执行。图调试请求的地址变化而断点和观察点的情况则是图断点和观察点的地址变化而要想在调试过程中正确定位下条指令的地址,必须设计恰当的指令序列和计算这个过程中的偏移地址。具体我们由上面的调试请求的情况出发,下面是在调试的最开始保存,的过程。图保存内核状态时的地址变化如图所示,执行到,时,的值已经确定备份下来了,按图示这个值应该等于。按照上面描述的返回过程,就是正确的返回地址。通过它读取内存就能得到下条要执行的指令内容了。对应的,时的情况如下图恢复正常状态时地址变化以上所有的实现具体见调试库的源代码。系统的测试与使用由于本系统的每个模块功能划分比较,所以在开发过程中使用了单元测试的方法对系统进行测试,为每个模块编写基于其功能的测试实例。由于开发途中些由硬件或规范产生的细节问题,使得对些模块主要指调试模块的测试开始失败的可能性十分大。因此必须在测试实例出错后回想和考虑各种硬件或规范的细节问题,再编写多种测试文件来验证自己的思路,然后以测试结果推测出问题产生的原因,对模块源代码进行修改。完成每个单元测试后,本课题针对处理器用编写了个测试工程,它是个灯闪烁的程序,通过写或到的端口来控制灯的亮灭。我们由新建工程开始,经过添加文件文件编辑编译工程生成文件连接调试目标下载文件到开始调试断点和单步退出调试,完成了整个系统的使用过程,基本证明了我们的系统可以工作。下图所示为单步调试过程图单步调试快照结束语本文主要研究了嵌入式集成开发环境的开发技术。文中重点讲述了调试工具的编写,其中的技术和开发过程完成的调试组件都具有重要的参考和使用价值。由于调试与硬件是息息相关的,所以这个组件不可能完全用于其它类型的,但如果了解了它的工作原理,则编写例如的调试组件将不是难事。本课题完成的软件都经过了调试和测试,试验情况达到了设计要求。为了适应实际需求,本软件还需进步增强功能和性能,以后将进行以下几个方面的研究实现更强大的编辑模块进行工程组织管理,如管理多个工程语法高亮。实现源代码级的调试,可以查看变量函数堆栈能进行异常处理。加强断点功能,实现条件断点等功能。谢辞在最后,我要向所有关心我帮助我的人致以诚挚的感谢。感谢我的导师崔更申老师和黄廷辉老师。他们对我在整个设计过程中提供了许多有益的帮助和启发。同时他们也为我的工作创造了很好的环境和条件,没有这些,就不可能有我现在的成绩。在此谨向两位导师表达我最诚挚的敬意。感谢我的大学同学,他们对我的关心和鼓励直使我充满信心。还要感谢我的家人对我贯的支持,让我能毫无后顾之忧地专心进行开发。参考文献开发小组调试原理,陈章龙唐志强涂时亮嵌入式技术与系统结构与开发北京航空航天大学出版社,马忠梅徐英慧叶勇建等系列核微控制器结构与开发北京航空航天大学出版社,李驹光聂雪媛江泽明等应用系统开发详解基于的系统设计北京清华大学出版社,杜春雷体系结构与编程北京清华大学出版社,马忠梅等嵌入式处理器结构与应用基础北京北京航空航天大学出版社,评审成绩优评审意见黄海同学的论文嵌入式系统集成开发环境的研制研究了嵌入式集成开发环境的开发技术,重点论述了调试工具的编写。论文论述有力,详略得当,重点突出,涉及到多种技术,所研究的内容具有相当的前沿性和实用性,具有较大理论和应用价值。英文翻译比较通顺。但是论文格式和标点符号还需进步规范。编号毕业设计论文说明书题目嵌入式系统集成开发环境的研制院系计算机系专业计算机科学与技术学生姓名黄学号指导教师崔职称讲师题目类型理论研究实验研究工程设计工程技术研究软件开发年月日摘要由于受到速度功耗体积上市时间等诸多因素的限制,嵌入式系统设计变得越来越复杂。传统的反复试验法已经不能适应嵌入式系统设计的
温馨提示:手指轻点页面,可唤醒全屏阅读模式,左右滑动可以翻页。
第 1 页 / 共 50 页
第 2 页 / 共 50 页
第 3 页 / 共 50 页
第 4 页 / 共 50 页
第 5 页 / 共 50 页
第 6 页 / 共 50 页
第 7 页 / 共 50 页
第 8 页 / 共 50 页
第 9 页 / 共 50 页
第 10 页 / 共 50 页
第 11 页 / 共 50 页
第 12 页 / 共 50 页
第 13 页 / 共 50 页
第 14 页 / 共 50 页
第 15 页 / 共 50 页
预览结束,还剩
35 页未读
阅读全文需用电脑访问
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。
1、该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读。
2、有的文档阅读时显示本站(www.woc88.com)水印的,下载后是没有本站水印的(仅在线阅读显示),请放心下载。
3、除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑、修改、打印。
4、有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载。
5、该文档为会员上传,下载所得收益全部归上传者所有,若您对文档版权有异议,可联系客服认领,既往收入全部归您。