搜索
bottom↓
回复: 7

请教LGT8F88A 在IAR环境下使用的各种文件(.inc .ddf .sfr .xcl)

[复制链接]

出0入0汤圆

发表于 2014-3-1 22:12:54 | 显示全部楼层 |阅读模式
如题求LGT8F88A 在IAR环境下使用的各种文件(.inc .ddf .sfr .xcl),不知道官网上的8F0XA的文件是否适用于8F88A?
求指导!谢谢!如果有DEMO工程更好。

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2014-3-2 10:57:36 | 显示全部楼层
用IAR开发LGT8F88A, 选择ATMega88作为目标器件就可以了。
如果使用到LGT8F88A特有的功能,源代码再包含特有寄存器定义的头文件即可:
LGT8F88A特有功能寄存器定义头文件(配合AVR/IO.H使用)

出0入0汤圆

 楼主| 发表于 2014-3-2 15:00:42 | 显示全部楼层
本帖最后由 Joinj 于 2014-3-2 15:59 编辑
LGT 发表于 2014-3-2 10:57
用IAR开发LGT8F88A, 选择ATMega88作为目标器件就可以了。
如果使用到LGT8F88A特有的功能,源代码再包含特 ...


我现在用的lgt8f88a_full.h这个头文件,没什么问题吧?  刚刚发现PE0   PE2  PE6  三个IO口不能操作,PE1   PE3   PE4  PE5能够正常操作,麻烦问一下 这几个口有什么特别么?   烧完程序后拔掉调试器   也还是无法操作。
另外(.inc .ddf .sfr .xcl)用MEGA88的默认文件就可以了对吧?

还有,调试时  寄存器栏里找不到PORTE寄存器。

置位SWDD后  PE0   PE2   可以操作了,但是PE6依旧不能操作····

看来是看PDF不够仔细啊····置位RVIO_EN后    PE6可以用了···

出0入0汤圆

发表于 2014-3-2 17:45:52 | 显示全部楼层
Joinj 发表于 2014-3-2 15:00
我现在用的lgt8f88a_full.h这个头文件,没什么问题吧?  刚刚发现PE0   PE2  PE6  三个IO口不能操作,PE1 ...

用lgt8f88a_full.h没有问题, 这里包含了全部的寄存器定义,不需要编译器提供的io.h了

出0入0汤圆

 楼主| 发表于 2014-3-2 18:44:55 | 显示全部楼层
LGT 发表于 2014-3-2 17:45
用lgt8f88a_full.h没有问题, 这里包含了全部的寄存器定义,不需要编译器提供的io.h了 ...

非常感谢!
顺便再问一下,IAR下LGT的中断说明头的格式是怎样的?

#pragma vector = TIMER0_OVF_vect
__interrupt  void TIMER0_OVF_Server(void)
{
    TCNT0 = 0xff;
    if(PORTD&0x10)
          PORTD &= 0xef;
        else
          PORTD |= 0x10;
}

编译器提示:
Error[Pe020]: identifier "_VECTOR" is undefined F:\MyWorkSpace\MyProjectLib\GraduationDesign\AutomaticTemperatureControl\AutomaticTemperatureControlProgramByIAR\User\main.c 48
Error[Pe059]: function call is not allowed in a constant expression F:\MyWorkSpace\MyProjectLib\GraduationDesign\AutomaticTemperatureControl\AutomaticTemperatureControlProgramByIAR\User\main.c 48

不知道怎么破了···

出0入0汤圆

发表于 2014-3-3 17:42:16 | 显示全部楼层
本帖最后由 LGT 于 2014-3-3 17:58 编辑
Joinj 发表于 2014-3-2 18:44
非常感谢!
顺便再问一下,IAR下LGT的中断说明头的格式是怎样的?


官网上的lgt8f88a_full.h是给avr-gcc以及avr studio用的,系统里面有_VECTOR()宏定义;

IAR编译器里面没有这个, 你在lgt8f88a_full.h的前面定义一下这个宏就可以了:
#define _VECTOR(x)         x*2


为了避免和AVR-GCC混乱,建议将修改后的头文件改名:lgt8f88a_iar_full.h

出0入0汤圆

 楼主| 发表于 2014-3-3 20:37:38 | 显示全部楼层
本帖最后由 Joinj 于 2014-3-3 21:28 编辑
LGT 发表于 2014-3-3 17:42
官网上的lgt8f88a_full.h是给avr-gcc以及avr studio用的,系统里面有_VECTOR()宏定义;

IAR编译器里面没 ...


谢谢!
我在IAR下使用调试器时出现BUG,刚开始几次DEBUG还是正常的,后来就出现这个提示:
Mon Mar 03, 2014 20:20:12: Failed to read one or more register values (busy).
就再也不能用了,拔掉调试器   关掉IAR重新试都不得···
过一段时间,然后莫名其妙的又能用几次···然后就又只能当下载器用了···
是IAR编译器设置的问题么?  

在一次DEBUG中出现:
Mon Mar 03, 2014 21:00:07: The stack pointer for stack 'CStack' (currently DATA:0x000000) is outside the stack range (DATA:0x000100 to DATA:0x000140)
Mon Mar 03, 2014 21:00:07: The stack pointer for stack 'RStack' (currently DATA:0x000000) is outside the stack range (DATA:0x000140 to DATA:0x000180)
之后就不能用了···好像是堆栈溢出?

我把CSTACK、RSTACK  调大一倍再试也还不行。

发现用LGTMix_ISP下载一次后程序正常运行,然后再掉电一次, 就可以恢复正常了···但这样有点麻烦···

出0入0汤圆

发表于 2014-12-15 03:18:11 | 显示全部楼层
>CSTACK、RSTACK  调大一倍再试也还不行。

IAR AVR is poor in performance.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-22 23:41

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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