面向快速嵌入式MCU设计的仿真

发布者:innovation2最新更新时间:2012-04-26 来源: 今日电子 关键字:嵌入式MCU  基本调试  仿真器 手机看文章 扫描二维码
随时随地手机看文章
  调试嵌入式应用有很多种方法。设计者利用包含电路内置仿真器(in-circuit emulator,ICE)和电路内置调试器(in-circuit debugger,ICD)的调试工具可以快速构建出系统原型,帮助设计者在建立原型阶段和最终测试阶段查找硬件和软件中的问题。在调试过程中,成本和易用性是人们主要关心的问题,相比ICE工具,设计者可能更喜欢使用仿真器来调试代码段,因为仿真器可以直接在PC上运行,不需要映射到目标硬件上。

  仿真器使用起来非常方便,通过它们开发人员可以了解一款新型的MCU,或者熟悉一套新的集成开发环境(integrated development environment ,IDE)工具包,而不需要接触目标硬件。有的时候,设计者可以免费浏览某个供货商的所有MCU产品。例如,用户可以从官方网站上免费下载到 Microchip的MPLAB IDE 和 MPLAB SIM仿真器(如图1所示)。

很多仿真器(例如Microchip的MPLAB SIM)都为用户提供了快速调试应用程序所需的图形用户界面

图1 很多仿真器(例如Microchip的MPLAB SIM)都为用户提供了快速调试应用程序所需的图形用户界面

  仿真器提供了特殊调试功能

  一般而言,仿真器运行在IDE环境下,并且具有与其他调试引擎类似的功能。用户在开始使用仿真器时通常用它来开发代码,当硬件设计完成后,可以用硬件调试器进行测试工作。仿真器能够实现的基本调试功能包括:执行代码验证其功能是否符合设计规范;复位目标系统重新运行应用程序;在断点处暂停程序执行;检查和修改存储内容与变量。

  最新的仿真器具有某些硬件调试器所不具备的独特功能,利用这一类仿真器可以实现更多的功能。例如,可以轻松实现复杂情况下的中断执行——这是任何ICE和ICD工具都不具备的。通过事件计数和断点执行,用户可以构造出复杂事件。利用这种复杂断点,可以描述出代码行为异常的情况,追踪异常情况下的代码。这种方式相比在代码中设置简单断点和跳步执行,能够更快速地发现bug。

  通过仿真分析代码

  设计者可以利用仿真器响应引脚的输入输出信号,模仿MCU外设部件的行为。为了实现这一功能,有些高级仿真器就提供了能够模拟信号的复杂激励发生器。利用这一功能,用户可以通过向固件模块加载输入信号的方式来测试固件模块,例如,可以产生两个相隔50ns的中断信号。这种模拟信号的方式是利用真正的硬件很难做到的。激励发生器可以向器件引脚或仿真器内的寄存器发送信号。通过使用USART以I/O设备的方式或者使用寄存器日志的方式,可以将仿真器的行为记录到一个log文件中以便于后续分析。[page]

  大多数仿真器支持三种激励源。手动触发可以通过鼠标点击、产生重复波形的循环式激励,以及向引脚、寄存器或者寄存器中的某些位加载数据的连续型激励来产生。这些连续型数据可以输入对话框,或者来自于某个文件。仿真器还可以模拟外设部件,从而诸如A/D转换器、I/O引脚、串行通信设备和定时器等设备就可以被激活。这些外设可以采用仿真波形和模拟数字信号的输入,可以接受手工输入来模拟中断和传感器读数(如图2所示)。

仿真器通常支持三种激励源并且具有方便的定义和配置功能

图2  仿真器通常支持三种激励源并且具有方便的定义和配置功能

  提高代码性能

  大多数高级仿真器都能够将应用程序在目标系统上的执行过程与源代码关联起来,使设计者能够单步执行高级语言代

码,例如C代码,即使每条C语句可能会生成多行机器代码。同样,文件寄存器中的存储器内容也能够与程序中使用的变量关联起来。因此,如果某个浮点数跨越多个机器文件寄存器,设计者就可以在观察点监测到该寄存器的内容,并以浮点表示形式显示出来。

  利用仿真器还可以优化程序例程,精确测量并调整某些关键代码的执行时间。用户可以使用仿真器的秒表功能对一段代码的执行过程进行计时。根据处理器的频率,就可以对所执行的指令进行秒表计时。

  秒表功能不是仿真器中测量时间的唯一方式。某些应用(例如电机控制)不允许在某个断点处中断运行。在这些情况下,将程序流和寄存器读写结果保存在追踪缓冲器(trace buffer)内就是一种好的替代办法。追踪缓冲器在指令执行的时候将其记录下来,并给每条指令打上一个时间戳。这样,当捕捉到追踪缓冲器内的事件后,就可以对其进行计时了。例如,捕捉到了一系列中断,那么就能够很容易地计算出中断之间的时间间隔,以及每个中断执行所花的总时间。

  仿真器可以将寄存器值的变化情况记录到文件中,用于性能分析。利用仿真器,工程师可以观察出某个算法对多种输入的响应情况,从而对其进行测试或改进。例如,可针对多组已存数据(例如使用目标硬件从A/D转换器结果寄存器中读取的数据)进行快速傅立叶变换(FFT),但是要对所希望看到的数据类型进行总数控制。

关键字:嵌入式MCU  基本调试  仿真器 引用地址:面向快速嵌入式MCU设计的仿真

上一篇:基于2.6.19内核的小型Linux系统制作与移植
下一篇:PC104对OV7670寄存器的读写

推荐阅读最新更新时间:2024-03-16 12:58

浅析单片机、ARM、FPGA 、嵌入式的特点
单片机的特点: (1)受集成度限制,片内存储器容量较小,一般内ROM:8KB以下;(2)内RAM:256KB以内。(3)可靠性高(4)易扩展(5)控制功能强(6)易于开发 ARM的特点: (1) 自带廉价的程序存储器(FLASH)和非易失的数据存储器(EEPROM)。这些存储器可多次电擦写,使程序开发实验更加方便,工作更可靠。 (2) 高速度,低功耗。在和M51单片机外接相同晶振条件下,AVR单片机的工作速度是M51单片机的30-40倍;并且增加了休眠功能及CMOS技术,使其功耗远低于M51单片机。 (3) 工业级产品。具有大电流输出可直接驱动SSR和继电器,有看门狗定时器,防止程序走飞,从而提高了产品的抗干扰能力。 (4
[单片机]
浅析<font color='red'>单片机</font>、ARM、FPGA 、<font color='red'>嵌入式</font>的特点
基于ARM高速闪存MCU应对广泛嵌入式需求
  由于采用了ARM7TDMI-S内核,LPC2000系列MCU工作频率达60MHz,与其他8-bit产品相比具有更强的功能延展性。同时它借助片上存储器加 模块实现了“零等待访问”高速闪存功能,提高了指令执行的效率。   此外,LPC2000的外设接口非常丰富,包括UART、SPI、I2C、CAN、ADC、 PWM、RTC等。LPC2000系列MCU应用领域非常广泛,从网络通信、 马达控制,到汽车和消费电子都适合于涉足。   嵌入式系统是面向用户、面向产品、面向应用的,它是将先进计算机技术、半导体技术和电子技术以及各行业的具体应用相结合的产物,因此它是一个高度密集、不断创新的知识集成系统。作为嵌入式系统,它必须能够根据应用的需
[嵌入式]
开发环境MAPLAB下使用仿真器ICD2程序下载流程
一、连接示意图 二、下载步骤 1、目标板电源断开 2、将仿真器下载端口与电路板JTAG端口有效连接 3、启动MPLAB软件 4、点击MAPLAB软件上方Programmer- Select Programmer- 2 MPLAB-ICD 2 5、显示提示窗口内容: Connecting to MPLAB ICD 2 ...Connected, 表示仿真器ICD2-USB连接成功 6、点击File- Import,打开要下载的hex文件 7、点击Programer- Program,下载hex文件 8、点击Programmer- Select Programmer- None,断开连接,
[单片机]
开发环境MAPLAB下使用<font color='red'>仿真器</font>ICD2程序下载流程
MSP430仿真器使用常见问题
一、 主要是驱动安装问题 有用户反应驱动安装不上,按照用户手册操作一直不能安装成功。 可以尝试如下步骤进行安装。 1. 双击设备管理器中无法安装或者提示有错误的430仿真器设备 选择驱动程序——更新驱动程序 选择手动安装 选择从电脑设备驱动列表中安装 弹出下面对话框 找到端口选项,因为MSP430仿真器安装的是默认为一个串口的 点下一步 找到texas instuments厂商 在右侧选中msp-FET430UIF-VCP 点击下一步 自动安装成功 二、 另外一个就是MSP430仿真器给核心板供电问题,在MSP430核心板中有说明,这里再说一下 一、 关于MSP430供电问题 对于CEP
[单片机]
MSP430<font color='red'>仿真器</font>使用常见问题
OTA在嵌入式微控制器应用更新,需要注意什么
摘要 许多嵌入式系统部署在操作人员难以或无法接近的地方。物联网(IoT)应用尤其如此,这些应用通常大量部署并且电池寿命有限。实例包括监控人员或机器健康状况的嵌入式系统。这些挑战加上快速迭代的软件生命周期,导致许多系统需要支持无线(OTA)更新。OTA更新用新软件替换嵌入式系统的微控制器或微处理器上的软件。虽然很多人非常熟悉移动设备上的OTA更新,但在资源受限的系统上设计和实施会带来许多不同的挑战。本文将介绍针对OTA更新的若干不同软件设计,并讨论其优缺点。我们将了解OTA更新软件如何利用两款超低功耗微控制器的硬件特性。 构建模块 服务器和客户端 OTA更新用新软件替换器件上的当前软件,新软件以无线方式下载。在嵌
[模拟电子]
OTA在<font color='red'>嵌入式</font><font color='red'>微控制器</font>应用更新,需要注意什么
嵌入式入门应该学什么?先从学习单片机开始!
可能很多人不知道嵌入式,不知道单片机。 但是我说最近几年的流行的应用大家就了解了。 1. 无人机 2. 共享单车 3. 丰巢快递柜 4. 充电桩 5. 智能家居 这些产品内部都是通过嵌入式技术实现的,而大多数用的都是单片机。 嵌入式和单片机的区别是什么?有什么关系? 如果把嵌入式比作一颗大树,那单片机就是这棵树的树枝。 嵌入式一个行业,单片机是这个行业的一个细分领域。 那嵌入式主流的技术和职业定位有:单片机工程师、ARM+Linux开发工程师、纯硬件工程师、DSP/FPGA等等。 单片机工程师门槛最低,学习的内容也较少,非常适合新手入门嵌入式行业。 ARM+Linux门槛略高,需要学习单片机和Linux系统,适
[单片机]
英飞凌推出具有 USB-C PD 和升降压充电控制器的高压 MCU,简化嵌入式系统设计
英飞凌推出具有 USB-C PD 和升降压充电控制器的高压 MCU,简化嵌入式系统设计 【2023 年 03 月 29日,德国慕尼黑讯】 USB-C已被消费电子行业广泛采用为首选连接器,有望取代大多数高达 240 W 的传统电源适配器。随着全球过渡到采用基于 USB-C 的直流电源,快速充电协议日渐普及,电源的功能性和用户体验也得到进一步提升 。为满足这一趋势带来的需求,英飞凌科技股份公司推出 EZ-PD™ PMG1-B1,进一步完善了具有 USB-C 电力传输(PD)功能的 EZ-PD PMG1 系列高压微控制器(MCU)产品。 PMG1-B1 PD MCU 是集 USB-C PD 控制器、升降压电池充电控制器、
[嵌入式]
英飞凌推出具有 USB-C PD 和升降压充电控制器的高压 <font color='red'>MCU</font>,简化<font color='red'>嵌入式</font>系统设计
意法半导体STM32U5系列MCU上新 提高物联网和嵌入式应用性能和能效
意法半导体STM32U5系列MCU上新 提高物联网和嵌入式应用性能和能效 • Ajax Systems已使用 新STM32U5 MCU开发下一代无线安保和智能家居解决方案 • 新STM32U5系列MCU是首款获得NIST嵌入式随机数熵源认证的通用MCU 2023年3月3日,中国 - 服务多重电子应用领域、全球排名前列的半导体公司意法半导体(STMicroelectronics,简称ST;)意法半导体近日宣布,其市场前沿的STM32 微控制器(MCU)产品家族再扩阵容,推出新款STM32U5芯片,在降低功耗的同时提高了性能,并延长了续航时间,提升了能效。 STM32U5产品已获得NIST嵌入式随机数熵源认证,
[单片机]
意法半导体STM32U5系列<font color='red'>MCU</font>上新  提高物联网和<font color='red'>嵌入式</font>应用性能和能效
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved