- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第3讲嵌入式系统调试方法陈慈发2008年春夏基于主机的调试远程调试ROM仿真器在线仿真ICEBDMJTAG软件仿真器调试是嵌入式系统开发过程中必不可少的重要环节,通常计算机应用系统与嵌入式系统的调试环境存在明显差异:◎通用计算机一般采用桌面操作系统,调试器与被调试的程序常常位于同一台计算机上,OS也相同,调试器进程通过OS提供的调用接口(API)来控制被调试的进程;◎嵌入式应用程序通常采用嵌入式操作系统,运行在嵌入式系统上,开发主机常采用通用计算机,开发机和目标机处于不同的机器中,程序在开发主机上开发(编辑、交叉编译、连接定位等),然后下装到目标机(嵌入式系统)进行运行和调试(远程调试)。由于这种差异,导出如下问题:·不同OS之上的调试器与被调试程序之间如何通信;·被调试程序出现异常如何告知调试器;·调试器如何控制及访问被调试程序等。目前采用两种调试方法解决上述问题:monitor方式和片上调试方式。monitor方式是在目标OS与调试器内分别内置专用功能模块,用于相互通信从而实现调试功能。两者应通过指定的通信端口并依据相同的远程调试协议来实现通信。目标OS的所有异常处理最终都必须转向通信模块,通知调试器此时的异常号,调试器再依据该异常号向用户显示被调试程序发生了哪一类型的异常现象。调试器控制及访问被调试程序的请求都将被转换为对调试程序的地址空间或目标平台的某些寄存器的访问,目标OS接收到此类请求时可直接进行处理。1采用monitor方式,目标OS必须提供支持远程调试协议的通信模块和多任务调试接口,此外还需改写异常处理的有关部分。目标OS需要定义一个设置断点的函数。2(1)monitor方式片上调试方式是在CPU内部嵌入额外的硬件控制模块,当满足了特定的触发条件时进入某种特殊状态。在该状态下,被调试程序停止运行,主机的调试器可以通过CPU外部特设的通信接口来访问系统资源并执行指令。12内嵌的控制模块以监控器或纯硬件资源的形式存在,包括一些提供给用户的接口,如JTAG方式和BDM方式。3主机通信端口与目标板调试通信接口通过一块简单的信号转换电路板连接。(2)片上调试方式指没有目标机或目标机是通用计算机平台(如PC104)的一种调试。基于C语言可移植性原理,有许多程序模块完全可以在主机上开发和调试,这些模块应该用标准C语言编写,与硬件无关,如各种算法程序。对于汇编语言代码,可以在主机上使用指令模拟器(InstructionSetSimulator,ISS)运行它们,直到需要测试代码与目标系统特殊硬件之间的实时交互操作为止。基于主机的调试主要存在两大问题,一是目标系统外设无法交互,二是两种计算机体系结构特征——字长与字节排序问题。字长问题可以通过定义可移植的数据类型来解决。字节排序问题主要是大小端问题。如果主机不支持大小端配置,那么需要在软件移植到目标系统上之后,调试大小端问题,或者将目标机的大小端配置成与主机的大小端配置相同。1234563.1基于主机的调试基于主机的调试方法的例子如基于uC/OS-II操作系统的应用开发。基于uC/OS-II的应用开发可以通过计算机进行,该OS提供了可移植的数据类型定义,兼顾了大小端问题,开发完成后,只需要修改少量的移植代码,就可以把应用移植到目标系统中。基于主机的调试方法的另一个例子是ATI公司的MNT,NucleusPlus是ATI公司的一个商用嵌入式实时多任务操作系统,支持众多的处理器。MNT是一个仿真开发平台,利用MNT,用户可以在基于Windows操作系统的计算机上,开发和调试基于NucleusPlus的应用程序,等目标硬件调试完成后,直接移植到目标机上运行,实现嵌入式软件和硬件的并行开发。3.2远程调试器与调试内核嵌入式目标系统平台一般缺少支持具有完整特性的调试器所需的资源,嵌入式系统调试器通过分离自身来避开这种限制。调试器的大部分驻留在主机中,余下部分驻留在目标机中,留在目标系统中的主要是调试代理,即monitor。调试器的两部分(主机部分和目标机部分)通过串口/并口/以太网等端口相互通信。典型调试体系结构如下图所示。主机桌面操作系统编译器连接器编辑器调试器(前端)(指令)模拟器目标机嵌入式操作系统调试代理BootLoader文件系统TCP/IPBSPJVMGUI通信端口设置断点;从主机中加载程序;显示或修改内存与处理器的寄存器;从某地址开始运行;单步执行;多任务调试;资源查看(包括多任务信箱、信号量、队列、任务状态等);远程调试内核功能与调试
您可能关注的文档
- 慢性胆囊炎护理查房PPT课件.ppt
- 奶牛饲料实销.ppt
- 山水田园旅游文化园泼水节方案.ppt
- 帮助学生掌握主动学习的工具.ppt
- 常见的病原性病毒.ppt
- 嵌入式Linux下C程序设计09异常处理.ppt
- 尺寸链计算及公差分析(简体)课件.ppt
- 学科核心素养的提出及其对生物学教学的可能影响.ppt
- 念奴娇赤壁怀古.ppt
- 形式和内容丰富的动漫.ppt
- (招标投标)衢州二中主大道及周边改造提升工程施工招标文件.pdf
- 护理文献的检索和利用.ppt
- POS收单业务(最新整理版).ppt
- 期末全册复习背诵版 词汇变形+短语句型 -2024-2025学年人教版九年级英语全册.docx
- 人教版九年级Unit10 SectionB词汇精讲.pptx
- 2025年九年级英语寒假培优练分层作业 专题09 阅读还原特训(原卷版).docx
- 人教版九年级英语 课文标注笔记 全册.pdf
- 人教版九年级英语 基础知识梳理 全册.pdf
- 领导底线心智如何以及何时影响员工工作绩效?基于社会认知理论和期望理论的探讨.docx
- 低温等离子体降解苹果表面农药残留研究.docx
文档评论(0)