查看: 826|回复: 0
打印 上一主题 下一主题

WIN7下IAR破解安装及IAR使用总结

[复制链接]
跳转到指定楼层
沙发
发表于 2016-4-14 21:25:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
WIN7下IAR破解安装      
      对于学习AVR单片机的人来说,IAR是必不可少的开发软件。IAR以编译效率高著称,相比AVR STUDIO 6.0,它有小巧的体型,这点对于电脑配置不是很高的童鞋来说是很有利的,用过之后就有感受了。废话少说,下面介绍破解过程。
    找到CD-EWAVR-5511文件夹下的autorun.exe,运行,选择第二项,遇到要输License的地方,先停下,看下面的操作:
    进入cmd窗口(开始>运行>输入“cmd”>ENTER)
    1、输入破解文件(CD-EWAVR_keygen)所在的盘符,如D盘,就在cmd窗口输入“d:”(不含引号),按下     ENTER
    2、获取ID,找到IARID.EXE所在路径,如F:\IAR for AVR 5.51\CD-EWAVR_keygen\IARID.EXE,就输入“cd     IAR for AVR 5.51\CD-EWAVR_keygen”,按下ENTER,再输入“IARID”,按下      
        ENTER,此时应生成ID号,如     0x274F5
    3、生成license,输入“IARKG 0x274F5>License.txt”,0x274F5为之前生成的ID,按下ENTER,此时破解     文件夹下出现License.txt
    4、打开License.txt,找到“EWAVR”所对应的Installserial和Key,在安装过程中提示输入时输入,破解完     成
    我用的是WIN7 32位旗舰版系统,亲测成功,祝各位好运!
    文件太大,需要安装包及破解文件的请留邮箱。

IAR使用总结

1、IAR与Dragon连不上
先看驱动,插上DRAGON,打开设备管理器,如果其中有AVR DRAGON,说明已经有驱动了,如果没有,右键“更新驱动程序软件”,选择“浏览计算机以查找驱动程序软件”,选择IAR安装目录下的drivers\dragon,如C:\Program Files\IAR Systems\Embedded Workbench 5.4\avr\drivers\dragon,确定,安装。

装好驱动后,还要设置一下IAR。鼠标右击一个工程,选择OPTIONS,在General Options中选择单片机类型,OK。接下来是重点。 进入Debugger,在Drivers中有许多仿真器可选,注意不要选Dragon,选择JTAGICE mkII,OK。进入JTAGICE mkII>Extra Options,把钩选上,在下面的框中输入“--drv_dragon”(不含引号),OK。

接下来在菜单栏Dragon中选中Fuse Handler,如果能读出熔丝位,恭喜,你的Dragon已经和IAR连上了。


2、如何延时

传统的延时函数

void delay(long t)

{while(t--);}

在IAR中会被优化掉而无法实现延时,但是IAR为我们提供了另一种延时方法

延时头文件<delay.h>定义如下:

#ifndef __IAR_DELAY_H
#define __IAR_DELAY_H
#include <intrinsics.h>
#define F_CPU 11.059200//晶振频率,单位:MHZ。此语句最好定义在c文件开头
#define   delay_us(x)   __delay_cycles ((unsigned long)(x * F_CPU))
#define   delay_ms(x)   __delay_cycles ((unsigned long)(x * F_CPU*1000UL))
#define   delay_s(x)    __delay_cycles ((unsigned long)(x * F_CPU*1000000UL))
#endif

把delay.h文件放入工程文件夹下,c文件开头声明#include"delay.h"

接下来就可以在C文件中直接使用us,ms,s级的延时了。如,延时100ms,就写“delay_ms(100);”,OK。

用这种方式延时应该是相当精确的,我曾用这个延时函数模拟UART通信,成功地实现了通信。


3、如何按位操作

从51转到AVR的人很快会遇到一个烦恼,AVR似乎不能进行位操作了!不用急,来看IAR怎么进行位操作。

对PA0的位操作可以这样写:

PORTA_Bit0=1;

PORTA_Bit0=~PORTA_Bit0 ;

也可以先#define PA0 PORTA_Bit0,就可以写成:

PA0=1;

PA0=~PA0;

4、如何生成Hex文件
打开工程,进入Options,选择linker,在水平菜单中找到Extra Options ,勾选Use command line options,然后再下面输入“-Ointel-extended,(CODE)=.hex”(不包括引号)。以后编译(准确说是make)后就会在工程文件夹下>Debug>Exe中生成Hex文件了

5、包含宏的位定义
看下面程序:
uint8_t usart1_getchar(void)
{
        // Wait for incomming data
        while (!(UCSR1A & (1 << RXC1)));
        // Return the read data
        return UDR1;
}
编译报错是因为RXC1未定义,进入Options>General Options>System,勾选Enable bit definitions in I/O-Include files就行了

6、IAR仿真运行不稳定
根据我使用IAR的经验,发现IAR仿真运行时容易出问题,有时甚至烧片子。大家有知道原因的请指教。我的解决办法是不用仿真,直接ISP下载程序。由于IAR不支持ISP,我是用AVR Studio来下载的。

7、优化问题
编译器会将它认为没有意义的变量忽略掉,如果有些变量不想被优化,可在变量前加volatile
如:volatile char temp=0;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表