uc_c++ 发表于 2012-4-20 10:00:31

LGT开发环境选IAR优势

本帖最后由 uc_c++ 于 2012-4-20 10:11 编辑

LGT开发环境选IAR:
1.型号选择
    IAR型号可直接选通用型型号,这样不必去选型号为164,而实际上并非164。

2.寄存器头文件。
IAR寄存器头文件制作,维护非常简单(寄存器定义就靠两三个宏),可完全脱离164,独立头文件。
而且IAR寄存器寄存器位操作更方便。
IAR寄存器头文件 已经写出了初稿(没有校验)。

3.连接脚本
IAR可自定义连接脚本,可按实际FLASH,RAM,EEPROM容量配置连接脚本。不必担心FLASH,RAM超容量,而编译器不报警。

4.调试
IAR可自定义寄存器调试文件。调试的时候,可看到LGT每个寄存器的值,包括LGT独有而164没有的寄存器。

5.EEPROM操作。
从IAR STM8上得到的经验,IAR EEPROM操作的库可以自己重写。这样可利用IAR __eeprom关键字,直接操作EEPROM。
(没在LGT上亲身试验,估计可行。)
如:
__eeprom int i;
   i=0;   //写eeprom
   int j ;
   j=i;   //读eeprom
非常容易,而且与原有avr操作eeprom方法一致。

Excellence 发表于 2012-4-20 11:28:03

帮顶。。。。。。。。

uc_c++ 发表于 2012-4-20 11:38:18

准备下单买个LTG套件,倒时来个IAR开发LGT例子。

wszyjsw2 发表于 2012-4-20 12:23:39

期待中 到时候再来看看

dingxmhan 发表于 2012-4-20 12:31:41

帮顶楼主,做好了给我们分享哦

inter_zhou 发表于 2012-4-20 14:14:38

在性价比面前这些都不是问题。你说呢!

logicgreen 发表于 2012-4-20 14:36:54

uc_c++ 发表于 2012-4-20 11:38 static/image/common/back.gif
准备下单买个LTG套件,倒时来个IAR开发LGT例子。

不要光说不练哟。

agnd 发表于 2012-4-20 14:42:43

我也准备用IAR环境。
只是邮购的芯片和开发板还没“检”完货迟迟发不来,真郁闷。

airbox 发表于 2012-4-20 14:45:08

5.EEPROM操作
这种方式不赞成,虽然方便,新手试试功能也不错
但是万一哪天忘形了,忘记了那是个eeprom,来个for(i=0;i<1000;i++) 那不惨了?

uc_c++ 发表于 2012-4-20 14:50:38

airbox 发表于 2012-4-20 14:45 static/image/common/back.gif
5.EEPROM操作
这种方式不赞成,虽然方便,新手试试功能也不错
但是万一哪天忘形了,忘记了那是个eeprom, ...


IAR,CVAVR,EEPROM大家一直都是这么用的。

chenerbox2 发表于 2012-4-20 15:34:58

我还是喜欢cvavr ,方便

guolun 发表于 2012-4-20 20:34:48

我喜欢用IAR。更重要的是IAR支持C++。

1ongquan 发表于 2012-4-20 21:09:20

MikroC for AVR 也可以玩玩,带有常用的函数库

uc_c++ 发表于 2012-4-21 10:22:16

本帖最后由 uc_c++ 于 2012-4-21 10:35 编辑

先上几个图:

korren 发表于 2012-4-21 13:17:10

用imagecraft ICCAVR更方便!

xsh2005105326 发表于 2012-4-22 10:14:02

korren 发表于 2012-4-21 13:17 static/image/common/back.gif
用imagecraft ICCAVR更方便!

有时候不报错,刚刚体验过{:lol:}

armok 发表于 2012-4-22 10:15:32

xsh2005105326 发表于 2012-4-22 12:45:04

armok 发表于 2012-4-22 10:15 static/image/common/back.gif
IAR 的正版授权好像是万元级别的 :)

免费的,你懂的{:lol:}

uc_c++ 发表于 2012-4-24 11:58:06

LGT板子到手。

与预计的有点出入,IAR调试不能选通用型号,而是必须选择一个实际型号,一般用162。
其他暂未发现有啥问题。

xsh2005105326 发表于 2012-4-24 12:07:50

uc_c++ 发表于 2012-4-24 11:58 static/image/common/back.gif
LGT板子到手。

与预计的有点出入,IAR调试不能选通用型号,而是必须选择一个实际型号,一般用162。


我也是选择162,头文件包含的是LGT完整的头文件

vivalite 发表于 2012-4-24 12:12:50

IAR 4KB以内是免费用的。
不少电动车控制器是ATMEGA48V来的,4KB内存可以写电动车/电摩控制器了。

Gorgon_Meducer 发表于 2012-4-24 12:28:19

IAR效率很高的,4K的代码差不多相当于ICC的6~8K了~

90999 发表于 2012-4-24 12:35:40

1ongquan 发表于 2012-4-20 21:09 static/image/common/back.gif
MikroC for AVR 也可以玩玩,带有常用的函数库

这个我也用哦,不过我是B款......

pang123hui 发表于 2012-4-30 11:39:56

armok 发表于 2012-4-22 10:15 static/image/common/back.gif
IAR 的正版授权好像是万元级别的 :)

呵呵,一直用IAR,这个大家都不会有压力,确实好用,尤其是对EEPROM操作,爽

rifjft 发表于 2012-4-30 12:58:14

自从用了IAR,这牙不酸了,腰板直了,连放屁也越来越有劲了。
IAR实在是居家旅行必备的软件{:lol:}

xwkm 发表于 2013-3-28 13:25:19

gcc还得继续增强啊。

zhuisuoji 发表于 2013-5-24 01:31:25

Gorgon_Meducer 发表于 2012-4-24 12:28 static/image/common/back.gif
IAR效率很高的,4K的代码差不多相当于ICC的6~8K了~

冲这句话,IAR真的很不一般哟..

minier 发表于 2013-5-24 08:12:03

对于AVR还是强烈支持GCC

zouyf12 发表于 2013-5-24 14:05:59

IAR有没有可以整段代码前面加TAB的功能?就是选择两行以上的代码同时往右移动N个TAB的功能

wcg6268 发表于 2013-5-24 17:05:18

我对GCC代码能力表示怀疑,基本相同程序本来IAR5K多的程序GCC是7K多

zhuisuoji 发表于 2013-5-30 08:14:11

zouyf12 发表于 2013-5-24 14:05 static/image/common/back.gif
IAR有没有可以整段代码前面加TAB的功能?就是选择两行以上的代码同时往右移动N个TAB的功能 ...

有的,只是编缉起来没有Atmel Studio 6.0那么智能化~~~

zhuisuoji 发表于 2013-5-30 08:21:12

wcg6268 发表于 2013-5-24 17:05 static/image/common/back.gif
我对GCC代码能力表示怀疑,基本相同程序本来IAR5K多的程序GCC是7K多

还真是那么回事,不过也是有条件的,如果只考虑压缩代码+最高优化的话,就是这样厉害.
但如果是速度优先+最高优化的话相对会差得少些,但还是优于GCC的不少

foxpro2005 发表于 2013-5-30 12:11:30

IAR的效率是公认的。另,也比较喜欢它的仿真调试功能..

zhuisuoji 发表于 2013-5-31 05:57:42

foxpro2005 发表于 2013-5-30 12:11 static/image/common/back.gif
IAR的效率是公认的。另,也比较喜欢它的仿真调试功能..

IAR以前没用过,刚玩没几天,还不怎么会用

Joinj 发表于 2014-3-2 18:34:03

本帖最后由 Joinj 于 2014-3-2 18:37 编辑

请问 大神,LGT在IAR下 中断的说明头是怎样的?
我的一直编译出错误:Error: identifier "_VECTOR" is undefined F:\MyWorkSpace\MyProjectLib\GraduationDesign\AutomaticTemperatureControl\AutomaticTemperatureControlProgramByIAR\User\main.c 48

#pragma vector = TIMER0_OVF_vect
__interruptvoid TIMER0_OVF_Server(void)
{
    TCNT0 = 0xff;
    if(PORTD&0x10)
          PORTD &= 0xef;
      else
          PORTD |= 0x10;
}
这样有问题么?
头文件用的#include "lgt8f88a_full.h"


文件里面是这样写的:
#define iv_TIMER0_OVF                17
#define TIMER0_OVF_vect                _VECTOR(16)
#define SIG_OVERFLOW0                _VECTOR(16)

qxc16b 发表于 2014-10-22 13:51:24


学习中。。。

funnynypd 发表于 2014-12-12 22:56:43

>IAR效率很高的,4K的代码差不多相当于ICC的6~8K了~

It depends, I recently have a project with Attiny26. In the beginning IAR generate the smallest Flash code but used lots of RAM. As the code size increasing, IAR is out due to Running out of RAM. ICC is poor in Flash usage. And the winner is GCC AVR, which has a balance performance for both RAM and Flash. So for Attiny26 Level of AVR MCU, the first choice is GCC.

If a MCU has lots of RAM, then take IAR since it generates the smallest Flash image.
页: [1]
查看完整版本: LGT开发环境选IAR优势