AVR仿真问题

合集下载

AVR Studio使用过程中常见问题总结

AVR Studio使用过程中常见问题总结

A VR Studio使用过程中常见问题及解决方法A VRstudio有几个常见的报错,相信用过A VR芯片的人都见过,而且见到的次数还不少,初学者往往不知道如何处理,这里整理给大家参考。

AVRstudio的几个报错的处理方法总结,OCD错误,ISP四分之一错误,didnot return a valid ID错误等。

问题:the target device didnot return a valid ID简称OCD错误The OCD JTAG adapter was detected,but the target device didnot return a valid ID.Please check the points below and click the RETRY.READ the online infomation for more help.-check that the JTAG ICE is properly connected to the device.-Check that the JTAGEN fuse of the target device is programmed.-In case the existing application code programmed to the device disables the JTAG interface,select the check box below to activate.-In case the target device is part of a daisy chain,click the button below. Activate target device external reset upon.Daisy Chain Setting.解决办法:依次检查,连线,电压,芯片JTAGEN熔丝位,仿真器是否有问题。

AVR单片机WinAVR及Proteus仿真外部中断

AVR单片机WinAVR及Proteus仿真外部中断
打开刚才画好的仿真图,左键双击单片机出现如下配置框图,在Program File一栏中加载刚才生成的main.hex,由于我们编译时采用8M的CPU时钟,故CLKDIV8一栏要选择Unprogrammed,不要8分频,时钟选用内部8M的RC振荡源,确认后点击OK。按左下角的黑色三角形就可以仿真啦。
仿真的时候就可以按下那个button,看程序是否完成了应有的功能。
//LED灯状态标志位,0代表目前LED灯状态为灭,1代表LED灯目前状态为点亮
unsigned char led_flg = 0;
ISR(INT0_vect)//外部中断的中断服务程序,INT0_vectfromiom48p.h
{
EIFR &= ~(1<<INTF0);//清除中断标志位
_delay_ms(10);//延时去掉干扰
先打开这个MFile
将它另存到Hello_AVR下面,不要改它的名字,软件只认识Makefile这个名字,你若重命名了,还得再改还回来的。(在另存之前,这个界面下也可以做配置,可以配置完了再保存过去,效果也是一样的)
然后把它添加到工程文件夹Makefile下,打开Makefile文件,进行配置
绿色字体是注释,蓝色和黑色的是配置项。
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
extern void Exint_Iint(void);
#endif
avrexti.C:
#include <avrexti.h>
void Exint_Iint(void)//外部中断初始化函数

解决AVR JTAG ICE 在AVR studio中只能ISP下载却不能在线仿真的问题

解决AVR JTAG ICE 在AVR studio中只能ISP下载却不能在线仿真的问题

Petter 2016/6/15
解决AVR JTAG ICE 在AVR studio 中只能ISP 下载却不能在线仿真 当你从市面上购买了几十元且已经相当于被淘汰的AVR JTAG ICE ,且只支持AVR studio
4.12~4.18时,是不是会经常出现下图的错误,且报错如下: Loaded plugin STK500 gcc plug-in: No AVR Toolchain installation found. The AVR GCC plug-in can still be used if you set up your own build tools.
Error Code: -2147319779:
图一
图二
出现问题时,也许你会检查JTAG 口,发现都是正确的,还是卸载AVR studio 4,再重新安装,问题依然存在。

浏览了很多论坛,才找到解决方法。

解决办法很简单,只需要在windows 的官网上下载MSXML 4.0 SP2或者MSXML 4.0 SP3, 安装到电脑上,就可以解决avr studio 无法识别JTAG ICE 的问题了。

让我们的JTAG 再次走上仿真之路。

MSXML 4.0 SP3 下载网址: https:///zh-cn/download/details.aspx?id=15697 论坛上的解决方案网址:
/forum/invalid-opcode-and-stack-pointer-errors-why?skey=%22-2147319779%22&so=1。

AVRjtag在线仿真调试快速入门

AVRjtag在线仿真调试快速入门

AVRjtag在线仿真调试快速入门
AVR jtag 在线仿真调试快速入门
本文详细介绍AVR jtag 的连接连接,下载和调试方法与过程。

软件环境:ICC+AVRstudio,硬件环境atmega16 开发板,JTAGISP 下载器。

进行之前请确认你已经装好开发软件环境:软件环境选择【ICC+AVRstudio
环境配置】,也拥有硬件环境,AVR 开发工具与入门芯片选择。

AVR jtag 在线仿真调试
第一部:硬件连接。

第二步:使用AVRstudio 打开*.cof 文件
如果你没有自己写AVR 程序,你可以使用本站的新手入门第一个程序。

AVR_first,实现红绿灯不断闪烁的例子。

程序启动时候的样子如下图:
程序启动界面:
打开main.cof 文件
工程文件存为main_cof.aps 方便下次打开
选择相关硬件配置
(端口的选择参见下图)使用JTAGSIP 默认会是COM3。

端口的选择(说明:这个画面可以在:右击我的电脑--管理--设备管理器里面
找到。

)。

AVR仿真调试方法

AVR仿真调试方法

AVR仿真调试方法---AVR Studio与Proteus联合仿真调试2010-09-01 09:19转载自hyper99最终编辑hyper99一.WinAVR生成相应文件只需要安装WinAVR。

会生成相应文件,下载到目标板中运行。

也可以把生成的elf或cof文件引入到Proteus中进行软件与硬件的仿真,单可单步调试。

1.制作makefile文件(1)运行mfile, 弹出窗口;(2)填入目标文件名称,TARGET = test(3)选择Atmega128 CPU(4)选择调试文件格式为DEBUG = dwarf-2(5)保存到与本文件同一目录中,保存文件名为makefile2.运行make all**有1个运行错误,找不到timer_enable_int(_BV(TOIE0))查找AVR目录,在D:\WinAVR-20100110\avr\include\compat\deprecated.h 中有这个函数定义,在头中加入这个.h文件。

3. 在本目录中,make all通过!***可以生成makefile文件;可能生成cof,elf,hex,bin文件。

***hex或bin用AVRISP工具下载到目标板中就可以全速运行了。

***目标板CPU中加入了bootloader会更好,AVRISP都不要了,只用PC机一个串口,就下载目标程序到目标板了。

(见其它工程)***也可以把生成的文件cof引用Proteus中进行软件与硬件的仿真,可单步执行。

***如果有硬件目标板;如果不需要单步调试,只用这个就可以了,以下内容都可以不看了。

二.AVR Studio中仿真需要安装两个程序:WinAVR和AVR Studio。

可以只用AVR Studio而不用WinAVR的mfile, 但要安装WinAVR, AVR Studio 能找到WinAVR就可以,XP下已经自动完成。

1.软件模拟仿真:在AVR Studio中自己的目录中建立工程,工程名为test,(1)选择GCC AVR,(2)选择AVR Simulator(选择Debug/Select Platform and Device/选择AVR Simulator).(3)选择ATmega128,(4)设置时钟(5)编译 Build all仿真运行,OK!***只能从PC机上运行,仿真.c文件的运行,通过看AVR端口和AVR寄存器了解运行状态。

仿真中遇到的问题及解决方法

仿真中遇到的问题及解决方法

仿真中遇到的问题及解决方法《仿真中遇到的问题及解决方法》在进行仿真工作时,难免会遇到各种各样的问题。

这些问题可能来自于仿真软件本身的限制,也可能来自于我们对仿真工作的理解不够深入。

针对这些问题,我们需要及时找到解决方法,以保证仿真工作的顺利进行。

本文将就仿真中常见的问题及其解决方法进行探讨。

1. 起因分析在进行仿真工作时,我们可能会遇到仿真模型不收敛、仿真结果不稳定、仿真时间过长等问题。

这些问题可能源于仿真模型本身的复杂性,也可能源于仿真软件的设置不当。

为了及时解决这些问题,我们需要从问题的起因进行分析。

1.1 仿真模型不收敛仿真模型不收敛是仿真工作中常见的问题之一。

当我们对某个系统进行仿真时,如果模型不收敛,就意味着我们无法得到有效的仿真结果。

这可能是因为模型中存在着过多的非线性元素,或者仿真软件的收敛条件设置不当。

解决方法:我们可以尝试简化模型,去除一些不必要的非线性元素,或者对模型进行优化。

我们可以调整仿真软件的收敛条件,增加迭代次数或调整收敛阈值,以尝试解决收敛问题。

1.2 仿真结果不稳定有时候,我们可能会发现仿真结果不稳定,即使在相同的输入条件下,仿真结果也会有较大的波动。

这可能是因为系统本身存在着不稳定性,或者仿真软件的数值计算精度不够高所导致。

解决方法:针对仿真结果不稳定的问题,我们可以尝试对系统进行稳定性分析,找出系统不稳定的原因所在,并对系统进行改进。

另外,我们还可以通过提高仿真软件的数值计算精度,或者调整相关参数来提高仿真结果的稳定性。

1.3 仿真时间过长在进行大型系统的仿真工作时,常常会遇到仿真时间过长的问题。

这可能是因为系统的复杂性导致仿真计算量过大,或者仿真软件的计算效率不高导致的。

解决方法:针对仿真时间过长的问题,我们可以尝试对系统进行分解,将复杂系统分解为若干子系统进行仿真,以减少计算量。

另外,我们还可以尝试优化仿真软件的计算设置,提高计算效率,从而缩短仿真时间。

2. 解决方法的选择在面对各种仿真问题时,我们需要灵活运用各种解决方法,以便快速解决问题将仿真工作进行下去。

AVR教程系列一(4):AVRStudio仿真调试快速入门

AVR教程系列一(4):AVRStudio仿真调试快速入门

AVRStudio仿真调试快速入门● AVRStudio的安装到 ATMEL 官方网站:/dyn/products/tools_card.asp?tool_id=2725 下载安装。

● AVRStudio之建立、打开相关调试文件--使用汇编语言,软件仿真若使用汇编语言进行源代码的编写,由于AVRSTUDIO自带ASM编译器,可以直接建立、打开。

接着,进行代码编写,之后按进行编译。

--使用ICCAVR,软件仿真若使用C进行编写,由于AVRSTUDIO不带C编译器,所以需要打开相应的调试文件。

打开*.COF(使用ICCAVR编译器编写源代码)或*.D90文件(使用IAR编译器编写源代码)。

这类文件与您需要调试的*.C文件所处同一文件夹。

下面以ICCAVR为例,进行介绍。

接着,保存*.aps文件,改文件将记录目标芯片、文件路径等信息。

在打开项目文件的时候,如下图:选择“AVR Simulator”,右边选择实际使用的器件型号,之后点击“Finish”即可进行软件仿真。

选择完成后,即可进行仿真调试了。

--使用JTAGICE仿真器,硬件仿真与软件仿真不同的是:在打开项目文件的时候,如下图:选择“JTAG ICE”,其它的步骤与软件仿真一致,见上。

--使用JTAG ICE mkII仿真器,硬件仿真与软件仿真不同的是:在打开项目文件的时候,如下图:选择“JTAG ICE”,其它的步骤与软件仿真一致,见上。

● AVRStudio之调试程序下面简单介绍使用AVRStudio进行仿真调试调试控制栏调试控制栏可以控制程序的执行状态,所有的调试控制都可以由菜单,快捷键和调试工具栏实现。

注意!如果在目标文件中含有有效的源码级信息,所有的调试操作将一直继续执行,直到到达第一条用户源代码语句.如果没有遇到用户源代码语句,程序将继续执行。

如果要停止程序的运行,必须在发出停止命令前转换到反汇编模式。

1.开始调试(Start Debugging)此命令将启动调试模式,并使所有的调试控制命令处于有效。

AVRUSBJTAG仿真器使用说明

AVRUSBJTAG仿真器使用说明

AVRUSBJTAG仿真器使用说明AVRUSBJTAG仿真器是一种用于调试、仿真和烧录AVR单片机的工具。

它通过USB接口与计算机进行连接,并通过JTAG接口与目标芯片进行通信。

以下是AVRUSBJTAG仿真器的使用说明,包括连接、驱动安装和软件设置等内容。

1.连接首先,将AVRUSBJTAG仿真器插入计算机的USB接口。

然后,使用一根JTAG线缆将仿真器的JTAG接口与目标芯片的JTAG接口相连。

确保连接稳固可靠,并注意连接方向。

2.驱动安装3.软件设置首先,打开软件,进入设置或选项菜单,找到调试/仿真器设置选项。

选择并启用AVRUSBJTAG仿真器作为调试/仿真器。

然后,选择目标芯片的型号和频率。

这些信息可以在目标芯片的数据手册中找到。

确认设置无误后,保存并关闭设置窗口。

4.调试/仿真完成软件设置后,即可开始调试或仿真。

首先,将目标芯片上电。

然后,选择调试或仿真功能,并设置断点、观察变量等调试选项。

最后,点击启动按钮,开始调试/仿真过程。

在调试/仿真过程中,可以通过软件界面与目标芯片进行交互。

可以单步执行程序、观察变量的值、修改寄存器的内容等。

如果发现问题,可以通过断点、观察点等调试手段进行定位和修复。

5.烧录除了调试和仿真功能外,AVRUSBJTAG仿真器还可以用于烧录程序到目标芯片。

在软件界面中选择烧录选项,选择要烧录的程序文件,并设置烧录选项,例如芯片擦除、校验等。

然后点击开始烧录按钮,开始烧录过程。

在烧录过程中,仿真器将把程序文件中的代码写入目标芯片的Flash存储器中。

完成烧录后,重启目标芯片即可运行新程序。

总结:AVRUSBJTAG仿真器是一种用于调试、仿真和烧录AVR单片机的工具。

使用时需要将其通过USB与计算机连接,并通过JTAG与目标芯片相连。

安装驱动程序后,在相应的调试/仿真软件中进行设置,然后开始调试/仿真或烧录程序。

通过AVRUSBJTAG仿真器,可以方便地进行AVR单片机的开发和调试工作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

之前手头上没有AVR的实物,学AVR一直用的都是proteus仿真,我用的是proteus7.4,拿一个ATMega16出来,用CVAVR编译出来的一些简单的程序,根本不能正常的运行,这把我搞的相当的郁闷,后来在仿真日志中发现原来是看门狗一直都开着,我又没喂狗,因此一直都把处理器复位了,这回我更郁闷,我又没开看门狗,又没配置fuse,为什么自己会开呢,搞了N久后,发现有这个可能,一个CV AVR本身编译之后在proteus仿真中,默认开了看门狗(实际上我并没有开啊!!!而且在实物中,要配置fuse才能开的吧?)经过考究后发现,原来真的是CVAVR给开了,因为我问了其它的师兄说他们的proteus没问题),于是试着手动显式关掉看门狗,关闭的方法如下:
1.先喂狗;
2.把WDTCR寄存器中的WDTOE位先置1,然后在接下来马上把WDE位置0;
3.可以了.
具本的C语言代码可以这样写(CVAVR编译器下通过):
#asm("WDR")
WDTCR=0x10;
WDTCR=0x00;
OK,就可以啦,这回在proteus中的仿真日志中就不会再看到诸如“看门狗溢出,处理器被重置”这样可恶的信息了,如果是在仿真中学习AVR的话,建议在主程序一开始就把看门狗给关掉,毕竟这跟实物不一样的。

希望这能让别的人少走弯路。

以上的情况是在使用CVAVR编译器中出现的,使用ICCAVR貌似没有这个问题。

如有错漏,请各位指正,本人菜鸟一个。

相关文档
最新文档