好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

嵌入式系统设计师必备的在线arm仿真器知识.ppt

17页
  • 卖家[上传人]:xzh****18
  • 文档编号:49937544
  • 上传时间:2018-08-05
  • 文档格式:PPT
  • 文档大小:105.95KB
  • / 17 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • www.embedtrain.org www.mobiletrain.org千锋嵌入式学院 最专业的嵌入式培训机构嵌入式系统设计师必备的 ARM仿真器知识引言 一、嵌入式产品的开发周期 二、为什么需要仿真器 三、仿真器究竟是什么? 四、内部和外部模式 五、Bondout、增强型Hooks芯片和标准产品芯片 六、使硬件工作起来 七、仿真器的优点 1.不使用目标系统或CPU资源 2.硬件断点 3.跟踪功能(TRACE) 4.条件触发 5.实时显示存储器和I/O口内容 6.硬件性能分析 7.将仿真器和目标系统相连接 八、总结www.embedtrain.org www.mobiletrain.org千锋嵌入式学院 最专业的嵌入式培训机构本文提供了一些关于 arm 仿真器的信息,以 及给作为嵌入式系统设计师的你带来的好处根据 你的需要,你将在产品开发中对开发工具作出更恰 当的选择引言www.embedtrain.org www.mobiletrain.org千锋嵌入式学院 最专业的嵌入式培训机构 典型的嵌入式微控制器开发项目的第一个阶段是用C编译器从 源程序生成目标代码,生成的目标代码将包括物理地址和一些调试信息。

      目前代码可以用软件模拟器、目标Monitor或仿真器 来执行和调试软件模拟器是在PC机或工作站平台上,以其CPU( 如x86)及其系统资源来模拟目标CPU(如P51XA),并执行用户的 目标代码;而目标Monitor则是将生成的目标代码下载到用户目标 板的程序存储器中,并在下载的代码中增加一个Monitor任务软件 ,用来监视和控制用户目标代码的执行,用户通过目标板上的串 行口或其它调试端口,利用桌面计算机来调试程序 程序的调试是通过设置断点、使程序在指定的指令位置停止 运行来实现的在程序中止的时候,检查存储器和寄存器的内容 ,作为发现程序错误的线索 程序经过调试、找到所有的错误后,修改源代码,重新编译,以一种标准格式生成目标代码文件,比如Intel HEX这个目标 代码将被存储在最终产品的非挥发存储器,比如EPROM或FLASH 中一、嵌入式产品的开发周期www.embedtrain.org www.mobiletrain.org千锋嵌入式学院 最专业的嵌入式培训机构 软件模拟器和目标 Monitor提供了一种经济的调试手段,对 于很多设计来说已经足够但是也有很多场合,需要利用仿真器 来找到程序错误。

      无论在哪一种场合,仿真器都能够减少调试时 间、简化系统集成、增加可靠性、优化测试步骤,从而使其物有 所值更常见的情况是工程师在项目的不同阶段同时使用软件模 拟器和仿真器,特别是在大的开发项目中 软件模拟器和软件调试器在断点之外只提供了很少的几种功 能,比如显示端口内容和代码覆盖没有检测事件和条件、然后作出反应的手段,也没有办法记录MCU的总线周期、然后判断程 序的执行究竟发生了什么情况如果你的MCU有片上EPROM或 FLASH存储器,并且运行在单片模式,则只有仿真器才能够对系 统进行调试,而不严重占用和消耗MCU资源 仿真器可以很容易地做到这些事情,并且还能够提供很 多其它功能仿真器是软件和硬件之间的桥梁在项目进行的某 些阶段,你必须让程序在实际的硬件上面运行仿真器可以很容 易地帮助你了解如何在调试阶段充分利用仿真器二、为什么需要仿真器www.embedtrain.org www.mobiletrain.org千锋嵌入式学院 最专业的嵌入式培训机构 仿真器可以替代你的目标系统中的MCU,仿真 其运行 仿真器运行起来和实际的目标处理器一 样,但是增加了其它功能,使你能够通过桌面计算 机或其它调试界面来观察MCU中的程序和数据,并 控制MCU的运行。

      仿真器是调试嵌入式软件的一个 经济、有效的手段Nohau的EMUL51XA-PC仿真 器系列用来调试Philips P51XA系列MCU,而 EMUL51-PC系列仿真器则支持众多厂家的8051系 列单片机三、仿真器究竟是什么?www.embedtrain.org www.mobiletrain.org千锋嵌入式学院 最专业的嵌入式培训机构 内部模式是指程序和数据位于MCU芯片内部,以 FLASH或EPROM的形式存在,地址和数据总线对于用 户并不可见,由此节省下来的芯片引脚作为I/O口提供 给用户内部模式也称单片模式,所有的程序执行都发生在内部ROM中为了有效地仿真这种芯片,要求仿 真器使用bondout或增强型Hooks芯片 外部模式是当程序存储器,可能还有部分数据存储器,位于MCU外部的情况,需要有地址和数据总线来 访问这部分存储器外部模式也称扩展模式,用户芯片、bondout芯片和增强型hooks芯片都能够产生这种 工作模式,这种情况下芯片的地址和数据总线引脚不能作为通用I/O口使用Nohau的仿真器使用这三种芯片 来实现有效的程序调试四、嵌入式开发教程内部和外部模式www.embedtrain.org www.mobiletrain.org千锋嵌入式学院 最专业的嵌入式培训机构 这些名词是指仿真器所使用的、用来替代目标MCU的三 种仿真处理器。

      只有Bondout和增强型Hooks芯片能够实现 单片调试,标准产品芯片不能和标准产品芯片相比,bondout芯片有一些增加的引脚,连接到芯片内部硅片的电 路节点上,所有又称“超脚芯片”P51XA系列单片机仿真器 都使用bondout芯片,EMUL51XA-PC就是很好的例子 增强型Hooks芯片利用各种芯片引脚上面没有的机器周 期来提供地址和数据总线,一些80C51系列仿真器就是使用 增强型Hooks芯片有趣的是,这些增强型Hooks芯片中的 一些也是标准的产品芯片使用增强型Hooks芯片作为仿真 CPU需要一些额外的特殊功能电路来从复用的芯片引脚中, 分解出地址和数据总线以及一些必须的控制信号,用户的目 标板没有这些电路,所有仍然是单片工作模式采用bondout芯片和增强型Hooks芯片能够实现极为精确的仿真 ,从功能一直到芯片的功耗五、Bondout、增强型Hooks芯片和标准产品芯片www.embedtrain.org www.mobiletrain.org千锋嵌入式学院 最专业的嵌入式培训机构 软件模拟器是很好的,可是它不能考虑进所有的变 化因素软件模拟器设计师必须考虑到每一件事情,特 别是那些只有在硬件搭起来以后才会出现的因素,比如电容、定时、电感、芯片版本等,随着 CPU速度的增 加,这些变得越来越重要。

       目标Monitor相比之下要好得多,因为它是在实际 硬件中运行的但是为了使Monitor程序能够运行起来 ,目标系统必须是一个完整的、能够工作的系统采用 仿真器后就不是这样,仿真器在目标系统硬件不完整、 或者是一点硬件都没有的情况下都可以运行然而目标Monitor可以安装在最终产品的程序中,随时都可以激 活,用来进行调试,所以这对于测试和维护来说还是有 一定优势的六、嵌入式开发教程使硬件工作起来www.embedtrain.org www.mobiletrain.org千锋嵌入式学院 最专业的嵌入式培训机构仿真器具有软件模拟器和目标Monitor的所有功能 ,加上下面一些优点:七、仿真器的优点www.embedtrain.org www.mobiletrain.org千锋嵌入式学院 最专业的嵌入式培训机构 目标Monitor内核一般需要10K的ROM和10~ 20字节的RAM以及一个空闲的通信端口一个好 的仿真器不会使用上面任何一项仿真器对于目标 系统应当是不可见的,也就是所谓的“全透明仿真” 1.不使用目标系统或CPU资源www.embedtrain.org www.mobiletrain.org千锋嵌入式学院 最专业的嵌入式培训机构 软件断点的实现是通过在用户目标代码中插入2字 节的TRAP(陷井)指令,将正常的程序流偏转到调试器 上。

      如果程序计数器碰巧落到第二个字节上,程序就会 崩溃 Nohau仿真器的硬件断点功能使用比较器,将 系统总线状态与预先设定的锁存器内容相比较,用以监 测对于指定地址的访问,而不修改任何程序存储器内 容区域断点需要使用硬件断点来实现,但是软件断点 仍然是很方便、有用的,所以Nohau的仿真器两种断点 功能都提供 当用户的目标程序存放在ROM中时,软件断点是 不能用的,因为无法插入TRAP指令对于ROM程序存 储器系统,只能使用硬件断点2.硬件断点www.embedtrain.org www.mobiletrain.org千锋嵌入式学院 最专业的嵌入式培训机构 跟踪功能以时间为线索记录所有的处理器机器 周期、以及可选的外部信号电平跟踪功能能够记 录所有的取指操作,并且在采用流水线并行处理模 式的单片机中,如P51XA,区分在流水线中被取消 的指令以及那些成功地执行的指令跟踪的开始通 过条件触发来实现,这样可以实现过滤功能,也就 是只有感兴趣的指令周期被记录下来,其余的被舍 弃软件模拟器和目标Monitor没有跟踪存储器, 也不能实现Trace功能3.跟踪功能(TRACE)www.embedtrain.org www.mobiletrain.org千锋嵌入式学院 最专业的嵌入式培训机构 条件触发是非常强大、便于使用的功能,它使 你可以在某些事件发生时,进行某个预先设定的行 动,触发条件可以包括地址、数据、时钟周期和外 部信号,这些条件可以触发一个断点、启动/停止 跟踪记录、记录一个时间标记、以及很多其它由仿 真器功能所决定的行动。

      这种强大的工具只有在仿 真器中才能实现Nohau仿真器的条件触发功能和 跟踪功能有机地结合在一起,具有三级时间触发, 最高级触发具有计数功能4.条件触发www.embedtrain.org www.mobiletrain.org千锋嵌入式学院 最专业的嵌入式培训机构 使用仿真器后,可以实时地观察存储器和I/O口的内容 ,而不仅仅是软件模拟你可以将自己特别喜欢的外设芯片连接到Nohau仿真器特性板的下部,然后在调试界面中访问 它如果你了解外设的所有细节,那么可以非常精确地进行 系统模拟 在很多情况下我们可能已经发现,好象只有在接入实际 的硬件系统后某些问题才开始出现采用仿真器能够使你从 一开始就进入这一阶段,从而及早地发现问题、更快地完成 调试任务  因为仿真器内部自带的RAM可以和目标系统中的ROM 互相替代,所以你在ROM目标系统中也可以简易地进行程序 代码和数据的调试和修改 同样,当目标系统中还没有装上存储器时,你可以使用 仿真器中的仿真存储器对系统进行调试仿真存储器的大 小、分辨率和映象地址可以由用户选择5.实时显示存储器和I/O口内容www.embedtrain.org www.mobiletrain.org千锋嵌入式学院 最专业的嵌入式培训机构 软件模拟器和目标Monitor只能模拟系统运行 ,然后进行性能分析,但是它们已经做得不错了;而 仿真器则更进一步,在实际硬件上面进行性能分析 ,这样就增加了精度。

      而且,使用实际的硬件能够 发现在软件模拟中无法发现的错误虚假中断以及 其它一些故障可能会出乎意料地消耗CPU资源,导 致严重的性能问题,而且很难发现利用仿真器的 性能分析,这些问题很容易暴露6.硬件性能分析www.embedtrain.org www.mobiletrain.org千锋嵌入式学院 最专业的嵌入式培训机构 仿真器和目标系统的连接很容易大多数问题都被仿真 器公司及其代理解决了连接需要两个步骤: 首先,需要选择适当的适配器连接方法,最好选用焊接和插座方式P51XA系列单片机仿真器支持PLCC插座和表 面安装两种目。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.