ARM嵌入式系统集成开发环境的设计与实现.doc
《ARM嵌入式系统集成开发环境的设计与实现.doc》由会员分享,可在线阅读,更多相关《ARM嵌入式系统集成开发环境的设计与实现.doc(49页珍藏版)》请在沃文网上搜索。
1、 第 45 页 共 49 页摘 要由于受到速度、功耗、体积、上市时间等诸多因素的限制,嵌入式系统设计变得越来越复杂。传统的反复试验法(try - and - error) 已经不能适应嵌入式系统设计的要求,迫切需要各种计算机辅助软件的支持。集成开发环境( IDE - Integrated Development Environment) 近年来发展迅速并得到广泛应用。它在嵌入式系统设计的各个阶段都可以发挥重要作用,为加快系统设计步伐,降低系统设计成本,提高系统设计一次成功率(first - time - right) 提供了有力的支持。大力推广应用IDE ,不仅能够大大提高产品开发一次成功率,
2、而且对推动我国嵌入式技术的发展有积极意义。目前嵌入式方面的IDE主要是SDT、ADS等国外产品,国内的此类自主产品很少,因此对这方面的研究将有具有很大的价值。本文针对ARM7 CPU设计了一个嵌入式集成开发环境。文中介绍了嵌入式集成开发环境的总体设计方案、整体结构模型、软件和硬件设计方案及具体实现。硬件部分主要是一个JTAG仿真器的设计;软件设计包括工程管理、编辑、编译和调试三个部分。软件调试模块是整个系统的关键和难点,在文中进行了详细论述,其中主要涉及到边界扫描调试技术,对 Embedded ICE-RT控制链的控制技术和对扫描链1的控制技术。基于理论和技术的讨论,文章最终设计出了一个JTA
3、G仿真器模型和一个具有工程管理、编辑、编译和调试功能的ARM7集成开发环境。并用它开发了一个LED嵌入式应用程序,经测试,系统能正常工作且性能稳定。关键词:嵌入式;IDE;ARM;JTAG;边界扫描AbstractRegarding embedded system, the environment for development and debugging is very important, it affects directly the popularization of system. Outstanding embedded operating system to need a fun
4、ction formidable development kit to support the user establishment application system. The domestic this kind of independent product are very few. The research for this aspect will have the extremely significance. In this paper, an embedded IDE is designed to the ARM CPU.This paper firstly introduce
5、s the embedded IDE which includes system design project, holistic structure model, the design project and implement for software and the hardware. The hardware design mainly is a self-made JTAG emulator. But software design then divides into the edition, compiling and debug three partial narrations.
6、 The pivot of paper is the development of software debugging module. In it, the Boundary-Scan debugging technology and the ARM7TDMI JTAG debugging module which completed in IDE development has the very important research and use value. Based on the theory and the technical, an ARM IDE which includes
7、 edit, compile and debug function has been completed. The paper finally developed an embedded application of LED. Through testing, the software can work well and achieved a stable performance.Key words:Embedded; IDE; ARM; JTAG; Boundary-Scan目 录1 绪论11.1 引言11.2 嵌入式IDE的现状11.2.1 国外现状11.2.2 国内现状21.3 嵌入式I
8、DE研究的意义21.4 论文工作内容21.5 论文的组织22 嵌入式IDE设计方案42.1 设计目标42.2 整体结构模型42.3 硬件设计方案42.3.1 嵌入式开发板42.3.2 JTAG接口52.4 软件设计方案52.4.1 编辑模块52.4.2 编译模块62.4.3 调试模块63 系统实现的关键技术74 硬件具体实现85 软件具体实现95.1 软件开发环境95.2 编辑模块的研制95.2.1 界面介绍95.2.2 工程的组织与实现105.3 编译模块的研制115.3.1 编译环境的构建115.3.2 GNU 工具链使用125.3.3 编译模块的实现135.4 ARM7TDMI JTAG
9、调试模块的研制135.4.1 IEEE 1149.1135.4.2 ARM7TDMI处理器结构205.4.3 ARM7TDMI常用JTAG指令215.4.4 ARM7TDMI扫描链2 - EmbeddedICE-RT扫描链245.4.5 ARM7TDMI扫描链1275.4.6 读写寄存器305.4.7 读写内存335.4.8 断点和观察点355.4.9 暂停和恢复ARM7TDMI356 系统的测试与使用427 结束语43谢 辞44参考文献451 绪论1.1 引言对于嵌入式系统,开发调试环境是至关重要的,直接影响系统的推广。优秀的嵌入式操作系统需要一个功能强大的开发工具来支持用户建立应用系统。嵌
10、入式系统开发环境与通用操作系统软件开发环境是完全不同的。由于嵌入式系统往往缺乏键盘、显示器、硬盘、充足的内存等有效的交互手段和基本的本地硬件开发资源,决定了它的设计通常涉及目标环境和宿主环境等两方面的内容。其运行一定是需要交叉编译支持的远端控制模式。嵌入式操作系统厂商各自提供了针对具体处理器的开发环境,价格昂贵且不具通用性。嵌入式处理器芯片厂家提供的开发环境一般不支持嵌入式操作系统,需采用第三方的开发工具进行操作系统的移植,为自主开发嵌入式系统带来众多不便。所以本课题以自由软件组织GNU体系下的GCC系列开发工具为基础,初步研发并建立了一个针对ARM核的嵌入式系统集成开发环境。由于GNU GC
11、C可以完成几乎所有知名CPU以及DSP的交叉C编译和调试,故大大提高了自主开发嵌入式系统的灵活性。1.2 嵌入式IDE的现状1.2.1 国外现状在国外,对RTOS的研究起步较早。二十世纪70年代中期,针对实时语言PEARL (Process and Experiment Automation Real-Time Language)的特殊要求,德国支持开发了功能强大的实时操作系统;八十年代初,美国就出现了商业化的RTOS产品,如Ready公司1981年发布的RTOS产品VRTX。经过二十多年的发展,国际市场上出现了以VRTX,VxWorks,pSOS,Windows CE,EPOC,PalmOS
12、等为代表的近四十个实时操作系统家族,支持不同处理器的200多个产品,广泛应用于信息家电、数字通信、工业控制、航空航天、医疗设备、军事电子等领域。 RTOS应用程序的开发一般首先需要在主机平台(如Unix或Windows)上配备相应的嵌入式软件集成开发环境,完成编辑、交叉编译和交又调试等编码阶段的任务,支持C、C+、Ada,、Java等高级实时语言的编程。这类集成开发环境起初主要由第三方工具公司提供,为不同操作系统的不同处理器版本专门定制,如美国Metrowerks公司的产品CodeWarrior。随着用户对嵌入式软件开发平台需求大增,RTOS供应商也纷纷投入巨资发展本系列RTOS产品的集成开发
13、环境,如WindRiver公司的产品Tornado,ISI公司(该公司目前己被WindRiver公司兼并)的产品pRISM+等。 国际上,嵌入式软件集成开发环境的另一支重要的研发队伍是自由软件协会(GNU),他们在Internet上免费提供有关研究和开发成果,如RTOS eCos,针对特定处理器的GCC(本地编译器)和CGCC(交叉编译器)。目前一些公司已在GNU软件的基础上,经过集成、优化和测试,推出更加成熟、稳定的商业化版本的嵌入式软件集成开发环境,如Cygnus(该公司目前已被RedHat公司兼并)公司推出的商业化产品GNUPro Toolkit(gcc编译器系列的商业版)和Source
14、-Navigator(集成化编辑器和源代码浏览器)。这两种Cygnus工具中功能更强大的是Source-Navigator,虽然它们可以集成在一起,但实际上它们并不能算是一个真正的IDE。 Cygnus计划发布一个用于Linux的真正的IDE,称为Code Fusion。Code Fusion将把GNUPro Toolkit和Source -Navigator集成起来,增加一些新特性,并且将取代Source-Navigator Professional Edition for Linux。1.2.2 国内现状国内的RTOS,从上世纪90年代初开始经过一些单位多年的攻关,己经突破了主要关键技术,
15、并开发出具有一定先进水平、自主版权的RTOS产品,如电子科技大学的CRTOS、中国科学院北京软件工程中心的Hopen和浙江大学的HBOS等RTOS产品。而北京科泰公司的和欣OS更是对嵌入式操作系统采用了中间件技术。 国内使用的嵌入式软件集成开发环境,多数从国外引进,自主研究和开发成果较少,与国际先进水平相比尚存在一定差距,除了针对和欣OS的和欣IDE外,目前比较流行的是深圳英培特公司的Embest IDE。1.3 嵌入式IDE研究的意义在嵌入式IDE研制方面,国内与国际存在着较大的差距,我们现在大都采用国外IDE软件。而这种方式限制了我们对IDE核心技术的掌握,同时我们也不能对它进行改进和优化
16、,从而影响了相关的嵌入式系统的开发。所以我们必须要对这个技术进行研究,开发自己的IDE。另外,通过这次的研究,加深了我们对整个ARM嵌入式开发的编译调试过程的了解,对于以后编写优秀的嵌入式系统软件打下了很好的基础。1.4 论文工作内容论文分硬件和软件两个方面。硬件方面:自制JTAG仿真器,使用现有ARM开发板,搭建硬件测试平台。软件方面:研制针对ARM7核的嵌入式系统集成开发环境,实现工程管理,、编辑、编译、调试功能,并创建测试工程对系统进行测试。1.5 论文的组织第一部分介绍了嵌入式IDE的国内外现状、研究的意义和论文的工作内容。第二部分介绍了嵌入式IDE的设计方案。首先分析了设计目标,然后
17、给出整体设计模型,再分别介绍硬件设计和软件设计方案。第三部分详细说明了嵌入式IDE下载调试过程所需的JTAG仿真器的硬件实现。第四部分是嵌入式IDE软件的具体实现。详细说明了工程管理、编辑、编译、调试模块的实现,尤其调试模块的实现是论文的精华部分所在。第五部分介绍嵌入式IDE的测试情况。描述了对一个具体的LED测试工程的创建、开发和调试过程。第六部分结束语总结了本次毕业设计的工作,并阐述了对软件的进一步设想。2 嵌入式IDE设计方案目前,嵌入式系统的集成化的开发环境(嵌入式IDE ),都采用交叉开发方法,在UNIX或 WINDOWS开发环境下开发嵌入式目标系统。本系统也采用同样的方法。IDE开
18、发环境一般包括可裁剪的微内核实时多任务操作系统,宿主机上的编译、调试、查看等工具,以及调试目标机的仿真工具。2.1 设计目标本课题主要实现ARM体系结构下的应用程序的编辑、编译和调试功能。其主要实现以下几个部分的内容:(1)新建工程并向工程添加文件;(2)编辑文件;(3)编译工程并生成二进制可执行文件;(4)将可执行文件下载到目标板内存;(5)运行可执行文件并调试。2.2 整体结构模型根据设计目标,设计了IDE的整体结构模型,以及具体的硬件和软件解决方案。整个系统由硬件和软件两大部分组成:硬件部分包括ARM开发板,用于下载调试的JTAG协议转换器(也称JTAG仿真器)。软件部分包括编辑、编译和
19、调试三大功能模块。整体结构模型如图2.1:图2.1 ARM IDE整体结构模型如图2.3 硬件设计方案2.3.1 嵌入式开发板开发板由CPU、SDRAM内存、FLASH存储器组成,并设计了JTAG接口。CPU采用SAMSUNG公司的ARM7系列芯片S3C44B0X。,它能方便的实现比较复杂的控制。SDRAM采用比较通用的hynix公司的HY57V641620HC,它是1M16bit4bank的同步DRAM。FLASH采用SST39LV160,它是一种通用NOR类型的FLASH,容量为2MB。2.3.2 JTAG接口自制JTAG协议转换器。通过底层ICE(In Circuit Emluator)
20、的支持,我们采用一片74HC244对S3C44B0的JTAG接口做一下5V到3V的电平转换,然后接到PC机的并口。并口与TAP的5个信号连接如下所示:data port (Out)status port (In)bit7 - pin9 (Out)bit7 - pin11 (In), busy (Hardware Inverted)bit6 - pin8 (Out) TDIbit6 - pin10 (In), Ackbit5 - pin7 (Out)bit5 - pin12 (In), Paper outbit4 - pin6 (Out)bit4 - pin13 (In), Select - T
21、DObit3 - pin5 (Out)bit3 - pin15 (In), Errorbit2 - pin4 (Out) TRSTbit2 - IRQ(Not)bit1 - pin3 (Out) TMSbit1 - Reservedbit0 - pin2 (Out) TCKbit0 - Reserved具体JTAG信号的说明在调试模块的研制小节中讲述。2.4 软件设计方案2.4.1 编辑模块编辑模块主要负责工程文件的组织和源代码文件的编辑。实现工程的新建、打开、关闭和设置;源代码文件的新建和添加功能。,如图2.2:图2.2 ARM IDE 图形用户接口2.4.2 编译模块编译模块主要负责编译整
22、个工程的源代码,并生成ARM可执行文件。实现编译功能。2.4.3 调试模块调试模块主要负责与硬件的连接、ARM可执行文件的下载和调试。实现硬件的连接、断开、下载;设置断点和单步运行;ARM寄存器和开发板内存的查看功能。如图2.3: 调试菜单 内存查看窗口寄存器查看窗口图2.3 ARM IDE调试菜单和控件3 系统实现的关键技术 论文的IDE主要有工程管理、编辑、编译和调试功能。工程管理采用XML技术;编辑功能采用VC的Richedit控件实现;编译采用GNU GCC具链;调试功能涉及到ARM体系结构、ARM指令分析和软件调试技术,这是最复杂,最关键的部分。在具体实现中要掌握以下几个关键技术:
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARM 嵌入式 系统集成 开发 环境 设计 实现