嵌入式系统8ARM程序的调试资料.pptx
《嵌入式系统8ARM程序的调试资料.pptx》由会员分享,可在线阅读,更多相关《嵌入式系统8ARM程序的调试资料.pptx(33页珍藏版)》请在咨信网上搜索。
1、嵌入式系统嵌入式系统第八讲第八讲第八讲第八讲ARMARM程序的调试程序的调试程序的调试程序的调试西安电子科技大学计算机学院2本节内容本节内容调试的基本要求调试的基本要求调试方法简介调试方法简介基于基于JTAG的片上的片上ICE1 1 调试的基本要求调试的基本要求使程序能够在用户控制下运行使程序能够在用户控制下运行q对感兴趣的数据进行访问和观察(WatchPoint)q对感兴趣的指令设置断点(BreakPoint)q单步执行检查与改变处理器的状态检查与改变处理器的状态q对各寄存器进行读写检查与改变系统的状态检查与改变系统的状态q对系统存储器的访问q下载代码(Download Code)q保存存储
2、器内容(Save As)32.1 PC 2.1 PC 上的调试上的调试程序编写、项目管理、编译、调试都在同程序编写、项目管理、编译、调试都在同一台计算机上完成(一台计算机上完成(IDE,Integrated Design Environment 集成设计环境)集成设计环境)qMS VCqMS VBqBorland C+Builder一般是通过在断点插入相关的调试软件指一般是通过在断点插入相关的调试软件指令来实现调试功能的令来实现调试功能的42.2 2.2 基于模拟器的调试方法基于模拟器的调试方法定义:定义:q使用模拟器对复杂的系统进行建模,用软件来模拟硬件系统的功能。q没有硬件的情况下在PC机
3、上模拟系统运行相应程序用途:用途:q用于系统的前期算法分析和体系结构设计。q用于应用程序的开发。缺点:缺点:q难以真实反映SOC芯片的所有外设:中断无法处理。q通过PC的外设模拟系统外设,有一定的限制。q难以进行实时性的系统仿真。q难以进行设备驱动开发。5I I 指令集模拟器的调试方法指令集模拟器的调试方法利用主机(一般是利用主机(一般是PC)的资源构建一个虚拟的目的资源构建一个虚拟的目标机系统,该系统通过解标机系统,该系统通过解释执行目标处理器的二进释执行目标处理器的二进制代码来仿真运行目标程制代码来仿真运行目标程序序VM为指令集综合模拟器为指令集综合模拟器qARM Armulator模拟运
4、行ARM指令系统qPalm OS 的模拟器模拟运行68K指令系统6PCPCPC OS(MS Windows)PC OS(MS Windows)VM(VM(虚拟机虚拟机虚拟机虚拟机)虚拟机构建的环境:寄存器,存储器等等目标机的RTOSApp1App2App n.II II 操作系统模拟器的调试方法操作系统模拟器的调试方法除了指令集模拟器还除了指令集模拟器还有操作系统模拟器有操作系统模拟器qASIX OS模拟器qSybian OS 模拟器qAndroid OS模拟器q由于在OS层面上进行仿真,应用程序运行在PC的二进制代码(不是ARM指令),所以在目标系统上需要重新编译7PCPCPC OS(MS
5、Windows)PC OS(MS Windows)RTOS API RTOS API 封装封装封装封装App1App2App n.由PC OS模拟的RTOS环境:任务,任务间通信III ARMulator(III ARMulator(模拟器的改进虚拟原型模拟器的改进虚拟原型)8ARM ADSRDI接口接口ArmulatorMultiICE ServerAngleArmulator Mem 接口虚拟的虚拟的AMBA总线总线 C语言模型语言模型EMI 模型模型SDRAM 模型模型中断控制器模型中断控制器模型其他模块模型其他模块模型用户自己编写的模型ARM IDEARM IDE本本本本质质质质上上上
6、上还还还还是是是是指指指指令令令令级级级级,节节节节拍拍拍拍精精精精度度度度的的的的模模模模拟拟拟拟器器器器,但但但但是是是是通通通通过过过过用用用用户户户户扩扩扩扩展展展展的的的的外围模型外围模型外围模型外围模型,极大增加了系统的真实性。极大增加了系统的真实性。极大增加了系统的真实性。极大增加了系统的真实性。ArmulatorArmulator指令集模拟器功能指令集模拟器功能ARMulator是一个指令级的仿真程序,运是一个指令级的仿真程序,运行在主机上。行在主机上。由于由于ARMulator可以报告各指令执行时的可以报告各指令执行时的机器周期,它还可以用来进行应用程序的机器周期,它还可以用
7、来进行应用程序的性能分析。性能分析。ARMulator被设计为允许容易地扩展软件被设计为允许容易地扩展软件模型,使之包括诸如模型,使之包括诸如Cache(高速缓冲存(高速缓冲存储器)、特殊存储器时序特性等系统特征。储器)、特殊存储器时序特性等系统特征。9ArmulatorArmulator指令集模拟器优缺点指令集模拟器优缺点优点优点q是目前无硬件调试的最真实、最细致、最通用的方法。q可模拟所有指令,甚至可模拟到指令的执行时序。q对用户全开放,用户可按其规则自己创建模拟的对象。缺点缺点q模拟器难以真实反映所有的外设,对外部中断将更困难。q难以实时仿真,仿真的时序和硬件时序有差异。q不能很好进行外
8、设的驱动开发。102.32.3 在目标机上驻留监控软件在目标机上驻留监控软件1、原理(大使兼间谍)、原理(大使兼间谍)q被调试的应用程序放在RAM中;q监控程序(Monitor)放在ROM(flash)中;q监控程序负责按主机的要求控制应用程序的执行节奏;并随时将目标机上的各种状态报告给主机。q需要时可将控制权全部交给应用程序。11通信接口flashsdramHost PC&Host PC&DebuggerDebugger串口电缆以太网USBCPUQQ:单步调试怎么实现?:单步调试怎么实现?:单步调试怎么实现?:单步调试怎么实现?2 2、基于调试代理、基于调试代理(Angel)(Angel)的
9、调试方法的调试方法驻留驻留qAngel是一段驻留在开发板ROM中的一段程序,系统Boot后,Angle接管整个系统并初始化系统和通信接口。通信通信qAngel通过一定的通信协议与主机的Debugger通信。下载和移交下载和移交qDebugger通过特定的命令通知Angel将用户调试的程序下载到目标板的SDRAM中的特定地址,并可以按照Debugger的要求将控制权交给相应的代码地址。断点和数据上传的实现断点和数据上传的实现q对于用户设置的断点,Angel会在断点的位置插入一条软陷指令,当用户的程序执行到断点时,系统会产生一个软陷异常。中断后可以由Angel接管系统,并将系统当前的寄存器和某些内
10、存值传给主机Debugger。12AngelAngel调试的优缺点调试的优缺点Angel调试的缺点:调试的缺点:q需要占用目标板的资源:处理器,存储器和通信接口q没有办法在ROM区设置断点q难以跟踪数据变化Angel调试的优点:调试的优点:q不需额外的调试硬件,成本低廉132.4 2.4 基于仿真器(在线调试)的调试方法基于仿真器(在线调试)的调试方法1、目标系统中的处理器被取掉,代之以与仿真器的连接2、仿真器上的处理器可以相同,也可以是一个有更多引脚的变型芯片(对内部状态有更高的可观察性)。3、仿真器上还有缓冲器,以及各种硬件资源,可以用来观察系统运行状态。4、跟踪缓冲器和硬件资源由运行在主
11、机上的软件来管理。14仿真器flashsdramHost PC&Host PC&DebuggerDebuggerCPU插座通信接口CPU控制逻辑监测数据总线监测数据总线监测数据总线监测数据总线和控制总线和控制总线和控制总线和控制总线CPU电缆采用在线调试方法的优缺点采用在线调试方法的优缺点优点优点q可以设置ROM断点q可以观测数据总线的变化从而实现观测点q不占用目标板资源q这种调试方法在单片机系统中得到广泛的采用缺点缺点q为了观测一个深嵌入的核心的信号,需要引出许多管脚。q在线仿真器中的嵌入式微处理器并不是目标系统中的处理器,所以传统的在线仿真器无法真是仿真目标系统的嵌入式微处理器。q在线仿真
12、器拥有自己的目标处理器、RAM、ROM和自己的嵌入式软件,所以是非常昂贵的(尤其对于高速设备而言)。152.5 2.5 基于片上在线调试器的调试方法基于片上在线调试器的调试方法1、Debugger将调试命令将调试命令通过通信接口传给协议通过通信接口传给协议转换器。转换器。2、协议转换器将、协议转换器将PC的通的通信协议转换成为信协议转换成为JTAG的协议,并和片内的的协议,并和片内的ICE逻辑进行通信,从逻辑进行通信,从而实现调试的功能。而实现调试的功能。16JTAGJTAG接口接口接口接口flashsdramHost PC&Host PC&DebuggerDebuggerCPU协议转换器并口
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 ARM 程序 调试 资料
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。