0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在线仿真器对嵌入式系统进行调试和开发

电子设计 来源:郭婷 作者:电子设计 2019-03-14 08:21 次阅读

在线仿真器ICE)是一种有效的工具,可为MCU设计人员提供调试代码和运行硬件的能力。过去,这些都是庞大,昂贵,复杂的工具,通常很难学习和使用。它们带有自己的脐带连接,实际上用目标板上的微控制器替换了一个粘合版本,允许增加实时控制包装。

几乎普遍使用表面贴装器件,这已不再是一种可行的方法。实际上,每个微控制器供应商都支持系统内编程,以及调试和仿真功能。调试硬件结合到当今的微控制器中,再加上使用调试串行总线(如USB和JTAG),设计工程师可以以较少侵入性和低成本的方式测试固件和硬件。让工程师访问所有内部MCU资源还可以缩短关键的产品上市周期。

本文介绍了一些微控制器调试和测试系统以及为嵌入式系统的调试和开发执行类似ICE和ICE的功能的方法。

遗留改款

正如设计工程师可以证明的那样,MCU可以保持真正向后兼容,同时仍然在进行功能增强和性能改进。接受一些硅手术的传统架构是Atmel AT89C51系列。这些部件基于旧的但仍然非常流行的8051架构,增加了现代外围设备,如CAN,USB,SPI和智能卡接口。此外,更大量的闪存和RAM(高达128 K和8 K)以及混合信号功能(10位A/D转换器)使这些旧架构能够满足当前的设计要求。

使用AT89OCD-01 USB仿真器(图1),其持续实用程序的关键是系统内编程和仿真器支持。仿真器和Windows软件由USB端口提供支持,允许设计人员将存储区和特殊功能寄存器划分为可自定义的显示。这有助于设计人员在微控制器的所有重要部分上保持可视选项,并调试特定的功能和代码块。

图1:使用串行调试技术而不是粘合剂和替换脐带支持现代一代传统核心,如流行的8051。

可以通过用户定义的触发器启动和停止“无限”数量的软件断点和跟踪缓冲区。 Atmel仿真器还支持其他标准调试和跟踪功能,如内存位置上的步进操作和硬件断点,特殊功能寄存器更新和RAM访问(内部和外部)。当然,它还支持代码下载和睡眠模式,用于调试低功耗设计。

请注意,此工具可与Java运行时环境和KeilμVision2或3软件开发工具配合使用,以实现从代码编写到调试和测试的无缝转换。目标板上的小型6针连接器是将PCB与开发和支持工具连接所需的全部(图2)。还提供Atmel MCU产品线的产品培训模块。

图2:目标板上的非侵入式6针连接器允许完整调试,分步操作和将代码上传到目标板。

Silicon Labs也是现代化8051内核的供应商,支持其C8051Fxx系列,具有类似的基于USB的DEBUGADPTR1-USB,它使用10针SIP调试电缆通过JTAG与目标微控制器板通信(图3) 。为了在调试操作期间保持目标板的实时,调试器和仿真器需要32 kHz或更高的系统目标时钟

在线仿真器对嵌入式系统进行调试和开发

图3:Segger J-Link仿真器的USB供电10针SIP接头使用JTAG协议来驱动,监控和编程目标处理器

ARM®支持

支持ARM系列处理器已付出了巨大的努力。这些流行的部件提供了哈佛架构RISC处理器的可扩展构造。每个基于ARM的MCU制造商都将标准化,兼容的内核与其独特的风格相结合,以提供一系列丰富的功能集,外设,性能和功能的处理器。

大多数芯片制造商都支持第三方编译器和工具套件,以及调试和编程接口。第三方支持来自IAR和Keil等编译器供应商,以及Segger和Olimex等工具公司

IAR JTAGJET-ARM提供标准的ETM 38引脚连接或20引脚Cortex SWD头适配器,以支持ARM 7,ARM 9,ARM 11,MP和Cortex内核,仅举几例。它支持多核调试和高达400 MHz CPU速度的跟踪采样。

一些不错的功能是它的快速代码下载,自动进程初始化以及对所有片上断点,触发器和过滤的支持。它还支持LinuxRTOS,并支持嵌入式Linux调试。

Keil是工具和编程编译器的另一个主要提供商,现在是ARM集团的一部分。该公司提供ULINKPRO高速调试和跟踪单元,用于支持ARM 7,ARM 9和Cortex内核,它与通信堆栈和实时操作系统紧密集成(图4)。

图4:Keil ULINK系统将开发计算机和目标板之间的通信堆栈,代码编译和RTX实时操作系统紧密结合在一起。

Keil MDK-ARM是一个完整的软件开发环境,它将C/C ++编译器与公司的确定性RTX实时操作系统相结合。它只需要很小的内存占用。用于TCP,CAN,USB和网络的中间件库提供具有标准驱动程序类的堆栈,这可以节省时间。 MDK与ULINKPRO协同工作,记录执行的指令并提供完整代码覆盖的时间分析。

Segger Microcontroller Systems还支持使用工具和中间件库进行嵌入式处理器开发,并提供高级ARM工具。 8.16.28 J-LINK ULTRA + J-Link设备是基于USB的J-Tag仿真器,支持ARM内核。它使用ARM定义的标准20引脚接头,为大多数流行的微处理器提供全速USB下载到Flash。

仿真器支持串行线查看器和串行线调试器模式,其中单个I/O提供密钥寄存器,I/O和核心寄存器的快照映像。值得注意的是,一些微型制造商使用像Segger这样的第三方工具作为其评估和开发套件的开发产品。它甚至可以作为MCU制造商工具集的一部分以某种形式免费提供。

不受欢迎的道路

没有广泛使用或添加专用功能的零件通常也需要专门的工具。 DSP处理器是填补所需角色的专用处理器架构的一个示例。

ADI公司的ADZS-ICE-100B是一款非侵入式ICE单元,可与该公司的Blackfin®系列DSP处理器配合使用。它将调试和代码监视功能与Visual DSP ++设计环境结合在一起,以提供与其他仿真器和调试器相同的高级控制和优势。

Microchip与专业工具制造商合作,为更专业的部件制作自己的开发工具套件。 Custom Computer Services的ICD-U64是MicrochipPIC®和dsPIC器件的在线编程器,仿真器和调试器。该开发环境带有大量示例程序库和C驱动程序,可用于各种串行闪存,传感器收发器和各种外围芯片

德州仪器TI)也提供自己的工具以及支持第三方工具集。一个例子是流行但专有的MSP430系列器件,TI和Olimex的仿真器都支持这些器件。

Olimex提供内置调试器,仿真器和编程器及其MSP430-JTAG-TINY-V2工具。同样,TI为MSP430指定的MSP-FET430PIF提供嵌入式调试和编程器工具。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18208

    浏览量

    221928
  • 嵌入式
    +关注

    关注

    4976

    文章

    18237

    浏览量

    287869
  • 仿真器
    +关注

    关注

    14

    文章

    987

    浏览量

    82972
收藏 人收藏

    评论

    相关推荐

    嵌入式软件仿真开发系统的研究

    仿真开发调试“软”平台.整个系统开发主要分为三大部分:嵌入式软件的
    发表于 03-07 11:08

    基于串口通讯的51单片机在线调试仿真器

    的MSUODS软件,即可获得硬件仿真器所有调试仿真功能!赶快一起来体验嵌入式实时在线调试吧!下载
    发表于 08-12 23:48

    四种嵌入式arm调试方法介绍

    复杂的设计和工艺,因而其价格比较昂贵。在线仿真器通常用在 arm 的硬件开发中,在软件的开发中较少使用,其价格高昂也是在线
    发表于 05-11 16:53

    嵌入式硬件调试和软件调试

    ,并且提供了非常丰富的调试功能。在使用在线仿真器进行调试的过程中,可以按顺序单步执行,也可以倒退执行,还可以实时查看所有需要的数据,从而给
    发表于 03-10 10:44

    ARM开发调试方法概述

    了。使用集成开发环境配合JTAG仿真器进行开发是目前采用最多的一种调试方式。4、在线
    发表于 06-05 17:11

    嵌入式系统的Proteus仿真中源码调试方式介绍

    的最大特色就是能对嵌入式系统(硬、软件)及其外围电路进行协同、动态、交互仿真,并提供了仿真中进行
    发表于 07-29 06:15

    如何利用SoPC设计通用在线调试器

    目前,国内生产的部分在线仿真调试器可以对部分嵌入式芯片进行仿真
    发表于 08-01 07:44

    嵌入式系统ARM仿真器有什么信息?

    典型的嵌入式微控制器开发项目的第一个阶段是用C编译从源程序生成目标代码,生成的目标代码将包括物理地址和一些调试信息。目前代码可以用软件模拟
    发表于 04-10 07:27

    嵌入式系统开发要素的选择原则是什么

    本文详细阐述了在嵌入式系统开发嵌入式处理嵌入式操作系统
    发表于 04-28 06:26

    常见的ARM嵌入式系统开发环境配置

    一、常见的ARM嵌入式系统开发环境配置:1、编译/汇编2、指令系统模拟3、
    发表于 10-27 08:06

    调试配置在嵌入式开发中的开发

    参数,而导入的外部项目则需要进行部分调试配置项的手动指定。MRS支持指定GD-Link、WCH-Link、JLink等在线调试仿真器,设置预
    发表于 02-11 06:36

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

      本文提供了一些关于在线 ARM 仿真器的信息,以及给作为嵌入式系统设计师
    发表于 11-16 11:25 571次阅读

    基于ICE仿真器的多核系统软件调试

    软件调试开发嵌入式系统中难度大、最直接影响产品质量的重要环节。由于UML语言无法满足对嵌入式系统
    发表于 05-16 10:37 31次下载
    基于ICE<b class='flag-5'>仿真器</b>的多核<b class='flag-5'>系统</b>软件<b class='flag-5'>调试</b>

    使用仿真器的热插拔功能进行调试

    在线 仿真器嵌入式开发中非常有用的调试工具,越来越多的嵌入式开发人员使用这种产品用来解决复杂的Bug。但是,一般情况下,使用
    发表于 06-07 15:58 39次下载
    使用<b class='flag-5'>仿真器</b>的热插拔功能<b class='flag-5'>进行</b><b class='flag-5'>调试</b>

    嵌入式系统设计必备ARM仿真器知识

    本文提供了一些关于在线 ARM 仿真器的信息,以及给作为嵌入式系统设计师的你带来的好处。根据你的需要,你将在产品开发中对
    发表于 11-30 06:17 494次阅读