网站大量收购独家精品文档,联系QQ:2885784924

嵌入式系统设计及开发(章坚武)ZXM0909第2章.ppt

嵌入式系统设计及开发(章坚武)ZXM0909第2章.ppt

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统设计及开发(章坚武)ZXM0909第2章

  3.定位器   一般的桌面计算机程序的开发都是以链接作为结束的,这样就可以产生可执行的程序,但嵌入式系统开发中,链接不是最终的动作,还需要一个重定位器,经过重定位后,产生映像文件(Image File),下载到ROM中,才可执行。定位器本身不知道硬件和映像文件之间的对应关系,所以必须要制定一个地址对应关系表。这里所有地址都会有一个相对参考地址,依据data、code、const排列方式放置。这部分的数据必须依据每个硬件的不同来做不同的修改,一般厂商都会附上一个范例作为参考,开发人员可以依此来进行修改。另外,定位器通常还会产生一个定位信息的表格,告诉开发人员每个函数的地址,有时候就可以利用该表格进行除错。   4.集成开发环境   集成开发环境(Intergrated Development Enviroment,IDE)是用于程序开发的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。该程序可以独立运行,也可以和其他程序并用。最典型的例子就是Visual C++,许多的开发环境都将其作为模板,并得到了广泛的应用。集成开发环境的好处就是可以方便地管理各种工程项目和函数库,特别是当整个系统越来越大的时候,可以省去很多管理和设置上的麻烦,减轻了开发人员的负担。实际上,软件开发环境正是朝着IDE的方向发展。 2.4.2 嵌入式系统的调试   嵌入式系统通常是一个资源受限的系统,直接在嵌入式系统的目标硬件平台上编写软件是很困难甚至是不可能的,因此,在嵌入式系统的开发中往往用到一个交叉开发环境(Cross Development Environment)。所谓交叉开发,就是在通用计算机(比如PC)上编辑、编译程序,生成可以在目标平台上运行的二进制代码指令,然后再下载到目标平台上进行调试的开发方式。通用计算机一般称为宿主机,目标平台称为目标机。交叉开发环境一般由运行于宿主机上的交叉开发软件和系统仿真器组成。交叉开发软件一般为一个集成开发环境。   嵌入式系统的调试是开发过程中的重要环节。调试器是运行于宿主机上的应用程序,被调试程序是运行在目标机上的应用程序,两个程序间需要实时通信。嵌入式系统调试时,宿主机上运行的调试器通过仿真器与目标机相连。仿真器处理宿主机与目标机之间的通信,这个通信口可以是串口、并口、网口及USB口(目前采用USB口较多),仿真器通过JTAG口或其他接口与目标机相连,如图2-8所示。   嵌入式系统开发过程的调试方式有很多种,以下列举几种常用的调试方式。 图2-8 嵌入式系统交叉开发环境   1.在线仿真器   在线仿真器(In-Circuit Emulator,ICE)是一种模拟CPU的设备,能执行CPU的全部动作。采用该方式调试时,利用仿真头代替目标板上的CPU,可以完全仿真CPU的行为,并且提供了丰富的调试功能,但缺点是结构复杂、价格昂贵,通常用于硬件开发中。   2.在线调试器   在线调试器(In-Circuit Debug,ICD)是将CPU的除错(调试)功能的引脚引出来,让外部的硬件直接连接到这些引脚上去监控整个CPU的动作,这样开发人员就可以很容易地利用比较便宜的除错(调试)工具和CPU的除错(调试)模块进行沟通,一般这些CPU上的除错模块都提供读出写入内存、读出写入CPU寄存器、单步执行、中断以及触发等功能设置。目前,比较流行的是ARM公司开发板上使用的JTAG(Joint Test Action Group)调试端口。   简单地说,ICD调试方式就是在硬件的早期设计时将芯片的除错(调试)引脚先拉出来,等到整个系统设计发展完善后再去掉不接。ICD调试方式比ICE便宜得多,因此现在越来越多的开发人员开始采用这种方式。   3.软件模拟器   软件模拟器是一种利用宿主机的软件模拟目标机的环境来执行目标机源程序的模拟调试方法,这样的好处是在目标硬件环境还没有建立的时候就可以使用模拟环境来调试程序。但值得注意的是,模拟器毕竟是以一种处理器来模拟另一种处理器,因此,在指令执行时间、中断响应、定时器等方面很可能与实际处理器有很大的差别,它无法与ICE方式一样仿真系统的实际执行情况。   4.ROM监控器   ROM监控器是一段运行在目标机ROM上的可执行程序,宿主机端调试软件可以通过串口、并口、网口与之交互。使用这种调试方式时,被调试程序首先通过ROM监控器下载到目标机中,然后在ROM监控器的监控下完成调试。目前使用的绝大多数ROM监控器能够完成设置断点、单步执行、查看寄存器、修改内存空间等调试功能。 2.4.3 嵌入式系统的测试   1.嵌入式系统测试的重要性   嵌入式系统由软件和硬件两部分组成,对这两部分都应该进行测试。   一方面,硬件是嵌入式系统的基础,其好坏直接关系到系统能

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档