开发环境及开发工具

开发环境及开发工具

ID:46570106

大小:1.01 MB

页数:59页

时间:2019-11-25

开发环境及开发工具_第1页
开发环境及开发工具_第2页
开发环境及开发工具_第3页
开发环境及开发工具_第4页
开发环境及开发工具_第5页
资源描述:

《开发环境及开发工具》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、浙江大学计算机学院陈文智2005年3月(4)开发环境及开发工具嵌入式系统开发周期长和产品需要及时上市成为矛盾。选择是一个问题,学习掌握嵌入式系统结构及其应用更需要时间。以开发工具和技术咨询为基础 的整体解决方案是迫切需要的。21.开发环境嵌入式系统,是指嵌入于宿主设备,智能地完成宿主设备功能的计算/控制系统。嵌入式系统开发环境,是以开发嵌入式系统为目的的工程开发环境。包括办公环境支持、软件支持、硬件设备支持。软件支持,指集成开发环境与软件模拟器等。硬件支持,指仿真器、目标板、示波器、烧录器等。嵌入式

2、软件嵌入式应用软件嵌入式操作系统嵌入式硬件嵌入式硬件模块嵌入式处理器嵌入式开发工具31.1集成开发系统集成开发系统提供高效明晰的图形化的嵌入式应用软件开发平台,包括一整套完备的面向嵌入式系统的开发和调试工具。一般包括编辑器、编译器、连接器、调试器、工程管理器和底层调试接口设备(BDM/JTAG仿真器)等41.1.1编译器嵌入式语言:ASM/Ada/C/C++/EC/Java/OP/STAPLEC++标准95年初在日本成立的EmbeddedC++技术委员5嵌入式c/c++编译器交叉编译能力:能够在pc

3、/unix平台上生成其他cpu平台目标代码连接/定址器:因为无法提供dos/windows的动态定位执行能力。嵌入式一般需要目标代码静态定位到具体地址,定址器完成这一工作。启动代码:初始化处理器和c语言堆栈区等环境的汇编码。EC++:针对嵌入式的一些实时要求等特点,对标准C++语言规范的修改扩充。嵌入式C/C++开发环境6嵌入式C/C++开发环境提供目标调试(remote/rommonitor)能力.另外还有其他一些地方需要注意,如I/O库,大小尾段等。主流嵌入式编译器:GNU、CADUL、Code

4、Warrior、GreenHill、Diab/SDS、IAR、BC/VC+Toolkit….等7(1)早期的FranklinSoftwareInc.的A51/C51与KeilSoftwareInc.的CA51/CA251/CA166赫赫有名。(2)TASKINGInc.的C/C++/EC++编译器(3)CAD-ULInc.提供一整套工具开发X86和68K。(4)WindRiverSystems,Inc.的DiabC/C++CompilerSuite,应用于pSOS系统。(5)IBM的HighC/C+

5、+Compiler,针对PowerPC。(6)GNU组织的免费编译器GCC81.1.2调试器远程调试调试器还是运行于通用桌面操作系统的应用程序,被调试的程序则运行于基于特定硬件平台的嵌入式操作系统(目标操作系统)。9问题:调试器与被调试程序如何通信被调试程序产生异常如何及时通知调试器调试器如何控制、访问被调试程序调试器如何识别有关被调试程序的多任务信息并控制某一特定任务调试器如何处理某些与目标硬件平台相关的信息(如目标平台的寄存器信息、机器代码的反汇编等)。10两种远程调试的方案一插桩(stub)二

6、片上调试(OnChipDebugging)111.1.2.1插桩(stub)在目标操作系统和调试器内分别加入某些功能模块,二者互通信息来进行调试。12步骤调试器与被调试程序的通信 调试器与目标操作系统通过指定通信端口(串口、网卡、并口)遵循远程调试协议进行通信。被调试程序产生异常及时通知调试器 目标操作系统的所有异常处理最终都要转向通信模块,告知调试器当前的异常号;调试器据此向用户显示被调试程序产生了哪一类异常。13调试器控制、访问被调试程序 调试器的这类请求实际上都将转换成对被调试程序的地址空间或

7、目标平台的某些寄存器的访问,目标操作系统接收到这样的请求可以直接处理。对于没有虚拟存储概念的简单的嵌入式操作系统而言,完成这些任务十分容易。调试器识别有关被调试程序的多任务信息并控制某一特定任务 由目标操作系统提供相关接口。目标系统根据调试器发送的关于多任务的请求,调用该接口提供相应信息或针对某一特定任务进行控制,并返回信息给调试器。14调试器处理与目标硬件平台相关的信息 第2条所述调试器应能根据异常号识别目标平台产生异常的类型也属于这一范畴,这类工作完全可以由调试器独立完成。支持多种目标平台正是G

8、NUGDB的一大特色。15目标操作系统支持远程调试协议的通信模块(包括简单的设备驱动)多任务调试接口改写异常处理的有关部分定义一个设置断点的函数16目标操作系统添加的这些模块统称为“插桩”若驻留于ROM中则称为ROMmonitor17通用操作系统也有具备这类模块编译运行于Alpha、Sparc或PowerPC平台的LINUX内核时若将kgdb开关打开,就相当于加入了插桩。18调试过程19Stub的本质软件接管目标系统的全部异常处理(exceptionhandler)及

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。