搜索
bottom↓
回复: 39

新教程1,2 on AVRStudio5:LGT开发环境 + 编译、烧录、仿真范例

  [复制链接]

出30入25汤圆

发表于 2012-5-16 06:45:55 | 显示全部楼层 |阅读模式
本帖最后由 shamiao 于 2012-5-16 07:08 编辑

最近JTAG下载器新固件支持AVRStudio5,真是个好消息。
不用折腾4.19和工具链,不用改串口,不用装winavr,不用每个project都去繁琐对应...省去很多麻烦。
发现对于新固件+avrstudio5,旧教程有很多不适应之处。所以尝试重写一份,轻拍,多谢。




教程1:LGT开发环境的建立(AVR Studio 5.1)


从ATMEL官网下载AVR Studio 5.1:
http://www.atmel.com/Images/as5installer-stable-5.1.208-full.exe
602MB,完整版,带所有的依赖环境与Jungo USB驱动,一次装完无需联网。无需另外准备WinAVR、AVR工具链或其它软件。
注意AVR Studio 5基于Visual Studio 2010,会自动安装.net 4.0环境。安装请准备一小时以上的时间。



AVR Studio 5的运行慢是个普遍问题,请做以下两个必备优化:
① 如果是XP系统,安装后请手动打系统补丁KB971513并重启,否则AVRStudio5界面会龟速。
http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=cd55456d-9703-42a0-b982-8a8a89ca0aa3
(如果你没打,avrstudio也会提示你打的)

② avrstudio5华丽的动画效果,容易造成软件缓慢(点个菜单要等半天),尤其是集成显卡机器。
打开Tools->Options,去掉"Visual Experience"下的三个勾:


注:时刻注意,AVR Studio 5其实就是Visual Studio 2010。
对付vs2010速度慢,网上有很多加速方法,都可以考虑在AVR Studio 5上试用。有需要请自行搜索。



教程2:LGT编程、编译、烧录、仿真的第一个范例:流水灯

所需设备:
1. LGT 专用 JTAG ICE 仿真下载器(不能使用AVR工具)
2. LGT演示板
3. 外接电源(5V)——必须连接!!!如无连接,会提示目标板未供电(target power has switched on之类提示),无法下载调试!
4. 8个LED。——自行解决,方法随意。可按阿莫教程2所示自制。我用的是马潮AVR-51实验板。



一、刷下载器新固件(仅需一次):

在LGT官网下载JTAG新固件:
http://www.mcugreen.com/LGT8F0XA/tools/SWDICE_mkII_studio5_v1.1.rar
短接下载器J4连上电脑,显示Dev Update专用32Ku盘。copy固件文件,正常弹出u盘即更新好。
仅需刷一次,长期使用不必重刷。



二、新建工程项目,添加代码:

点击File->New->Project新建工程


工程类型默认(AVRGCC C Executable)不必修改;
名称Name随意指定,本演示中为“LGT_test”;
解决方案名Solution name自动与Name一致。不特意理会。
存储位置随意。默认存储位置在“我的文档\AVRStudio 5.1\Solution name\Name”。


设备选择,对于LGT8F08A,选ATmega164A。


LGT_test.c自动出现,粘贴以下代码
  1. #include <avr/io.h>      //AVR设备头文件
  2. #include "iolgt8f0xa.h"  //LGT设备头文件,请放在与本程序文件同一目录下。
  3. /* 以下两条调用AVR内置延时函数库。延时函数应用于LGT有若干注意事项,
  4.    不影响本演示,可不加注意。如有兴趣,请参见文件末尾的注解。 */
  5. #define F_CPU 4000000UL  
  6. #include <util/delay.h>

  7. int main(void)
  8. {
  9.         unsigned char i=0;          //用来做移动标志
  10.         DDRA = 0XFF;   //设置A为输出模式
  11.         PORTA = 0XFF;  //LED全灭(LED是0点亮,1点亮请自行修改)
  12.         _delay_ms(500);
  13.         
  14.         while(1) {  //无限循环
  15.                 for (i=0; i<8; i++) {  //0号灯到7号灯流水
  16.                         PORTA = ~_BV(i);  //点亮PA的第i个LED。内置符号_BV(x) = (1 << x),代表第x位为1其余为0
  17.                         _delay_ms(500);
  18.                 }
  19.                 PORTA = 0XFF; _delay_ms(500);  //全灭
  20.                
  21.                 for (i=0; i<8; i++) {  //7号灯到0号灯流水
  22.                         PORTA = ~_BV(7-i);
  23.                         _delay_ms(500);
  24.                 }
  25.                 PORTA = 0XFF; _delay_ms(500);  //全灭
  26.                
  27.                 PORTA = 0x00; _delay_ms(500);  //全亮
  28.                 PORTA = 0xF0; _delay_ms(500);  //低四位,0~3号灯亮
  29.                 PORTA = 0x0F; _delay_ms(500);  //高四位,4~7号灯亮
  30.                
  31.                 PORTA = 0XFF; _delay_ms(500);  //全灭
  32.         }
  33. }

  34. /*
  35. 关于如何引用iolgt8f0xa.h:
  36. 通过使用双引号的语法(#include "filename.h"),引用和.c同一目录下的文件,是C的经典方式。
  37. 但如果用AVR Studio 5组织大项目,推荐将iolgt8f0xa.h放在项目目录的任意位置(很可能项目目录下会专门有放include的地方),
  38. 然后用Project->Add Existing Item加入到工程中。这样只要.c文件在项目当中,不论文件位置在项目目录的什么地方,
  39. 都可直接用#include "iolgt8f0xa.h"来引用,无需考虑任何目录层次问题,对于大项目的组织很方便。
  40. 这个小演示不必过分关心此问题,只要.h和.c在同一目录下就够了。
  41. */
  42. /*
  43. 关于延时库:
  44. 1. 延时函数需要已知系统时钟频率F_CPU,通过AVR的指令集,达到特定的延时时间;
  45.    但LGT指令效率高于AVR,所以同样的时种与延时程序下,LGT的延时会明显缩短。
  46.    LGT上电时钟源为RC1MHz。这里定义CPU频率为4MHz,即将LGT的延时时间放大约4倍,保证延时时间不出现明显不一致;
  47. 2. 但即使如此,由于指令执行时间的缩短不定,所以delay的时间并无准确保证。
  48.    由于大致上可以接受,也仅为演示简便,所以如此使用。在实际LGT工程中请勿依赖内置的延时函数。
  49. 3. F_CPU也可以在工程选项中定义,对整个工程有效。位置在Project->XXX Properties,
  50.    Toolchain->AVR/GNU C Compiler->Symbols->Defined Symbols (-D),加入F_CPU=4000000UL。
  51. */
复制代码
代码最后的注释是两点应用要点,不想看就不看。
打上代码之后,会看到AVRStudio5将汉字认为是英文的拼写错,加上大片的红色波浪线,难看。
解决方法:菜单VAssistX->Visual Assist X Options,左侧选Advanced->Underlines,去掉underlines spelling errors in comments and strings前的勾。
(也是只调整一次,以后不必重调)


代码中引用了LGT的头文件iolgt8f0xa.h。这不是AVR Studio自带的,请从LGT官网下载
http://www.mcugreen.com/LGT8F0XA/tools/lgt8f0xa_header_v1.1.rar
请将iolgt8f0xa.h放在LGT_test.c的同一目录下即可。

注:我不推荐修改AVR Studio的原安装,绝对不建议将iolgt8f0xa.h放入AVR Studio安装目录下的任何地方。每个工程copy一下而已,不麻烦。



三、编译,生成仿真与烧录文件

相对于4.19,AVR Studio 5无需各种复杂的选项设置,也无需与WinAVR安装包互动,特别方便。

请插入LGT JTAG下载器。点击工具栏上,设备名ATmega164A右边的No Tool,指定下载与调试工具


下载器选JTAGICE mkII,界面选JTAG就OK


Build->Build LGT_test(LGT_test是你的项目名),编译工程


OK!1 succeeded代表1个工程编译成功,生成了烧录仿真的hex和elf文件,可去项目目录下寻找!



四、烧录(下载)

选Tools->AVR Programming


选择工具设备界面为:JTAGICE mkII, ATmega164A, JTAG,按Apply显示烧录界面。按左侧的Memories进入文件选择画面:


在项目目录下找到hex文件,按Program烧录。下方的状态会显示成功。


注意:烧录成功后,LGT不马上开始执行新程序,看起来像是旧程序“卡死”,这不是故障,请放心。
按Close退出烧录窗口,烧录才显示效果,这时LGT单片机才开始执行新程序。



五、在线仿真

点击工具栏的Start Debugging and Break按钮,进入在线仿真,可以进行单步调试、断点等功能。
.


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-5-16 08:03:42 | 显示全部楼层
帮顶,楼主辛苦了,确实花了不少心思,因为都知道截图很费事。我的老机不敢装5,现在还是用4.13凑合,反正我不怎么会用仿真

出0入0汤圆

发表于 2012-5-16 08:53:54 | 显示全部楼层
顶~~~学习~~~楼主辛苦~~~

出0入0汤圆

发表于 2012-5-16 09:28:32 | 显示全部楼层
一直用的Studio4,下载时有些问题晚上回去下载个5的折腾一下,谢谢LZ。                           

出0入0汤圆

发表于 2012-5-16 09:28:58 | 显示全部楼层
之前我还在eclipse上搭建了LGT-AVR 的开发平台,也想出个教程,看样子没必要了

我一直想用STUDIO 5 /6 但是当我安装到笔记本后就出现双击代码想要复制代码时就蹦出一个错误,
单击选择代码时也出错,然后就自动退出程序了
在论坛上发帖求助就是没人帮忙,不知道楼主能帮我看下么?
求助贴:
http://www.ourdev.cn/thread-5470084-1-1.html

出0入0汤圆

发表于 2012-5-16 11:02:41 | 显示全部楼层
很详细的教程。

出0入0汤圆

发表于 2012-5-16 13:24:03 | 显示全部楼层
安装请准备一小时以上的时间。
--------------------------------------------------------------------------------
studio4再怎么装,也要不了几分钟。

出0入0汤圆

发表于 2012-5-16 13:28:05 | 显示全部楼层
谢谢楼主的教程,终于可以了,中间还出了个问题,折腾一翻才发现原来是因为中文路径的问题。改在英文的就完全没有问题了,另外才发现TKstudio也支持KII的,不过芯片没有164A型号,不知道怎么添加

出0入0汤圆

发表于 2012-5-16 13:28:33 | 显示全部楼层
曾今装过5,由于速度太慢就卸掉了,还是装回了4

出0入8汤圆

发表于 2012-5-16 19:45:59 | 显示全部楼层
楼主的教程的确很详细,谢谢了,回头下载安装试试

出0入0汤圆

发表于 2012-5-16 21:53:45 | 显示全部楼层
收藏看看

出0入0汤圆

发表于 2012-5-23 12:37:38 | 显示全部楼层
我用4.19怎么MKII连不上呢?
设备管理器已经出来串口了。

出0入0汤圆

发表于 2012-5-23 12:54:30 | 显示全部楼层
fsclub 发表于 2012-5-23 12:37
我用4.19怎么MKII连不上呢?
设备管理器已经出来串口了。

MKII 不是串口,是USB设备。  你更新下固件试试.

出0入0汤圆

发表于 2012-5-23 13:59:07 | 显示全部楼层
jianghu-00091 发表于 2012-5-23 12:54
MKII 不是串口,是USB设备。  你更新下固件试试.

哦,我设置错了,一直看论坛上的都在讨论MKII,我设置成MKII了,其实是JTAGICE。

设置成JTAGICE后可以正常连接了,但我连接MINI DEMO板却不成功,不知道哪里有问题。
我没有连接外部电源,直接用JTAGICE板子供电,实测DEMO板的VCC上只有2V电压。

出0入0汤圆

发表于 2012-5-23 14:29:56 | 显示全部楼层
fsclub 发表于 2012-5-23 13:59
哦,我设置错了,一直看论坛上的都在讨论MKII,我设置成MKII了,其实是JTAGICE。

设置成JTAGICE后可以正 ...

如果你想用JTAG调试板供电的话应该把R26焊上0欧姆的电阻。

出0入0汤圆

发表于 2012-5-23 15:13:42 | 显示全部楼层
jianghu-00091 发表于 2012-5-23 14:29
如果你想用JTAG调试板供电的话应该把R26焊上0欧姆的电阻。

多谢!回家再试!!!

出0入0汤圆

发表于 2012-5-23 20:11:24 | 显示全部楼层
不错,整理成PDF就更好了

出0入0汤圆

发表于 2012-5-24 11:54:38 | 显示全部楼层
LZ,我的一下载就出错,怎么解决呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-5-24 13:18:40 | 显示全部楼层
原来的工程在中文路径下,把它移到根目录就可以下载了,但是程序下了跑步起来啊,晕!

出0入0汤圆

发表于 2012-5-24 13:36:44 | 显示全部楼层
重启电脑,放英文路径也不能下载了

出0入0汤圆

发表于 2012-5-24 16:39:06 | 显示全部楼层
装了之后电脑启动和关闭超级的慢。

出0入0汤圆

发表于 2012-5-24 18:24:21 | 显示全部楼层
回家的台式机(WIN7旗舰版)还是用不了,见贴图,楼主可以帮忙看看吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-5-24 21:02:39 | 显示全部楼层
哈哈,仔细对照 《(教程8) LGT官方仿真器散件包的焊接与安装、升级》 终于找到问题了,原本焊接在R3的10K上拉电阻被焊在R26的位置上,将其移到R3位置上就可以下载了,从这事反应我的仿真应该没有出厂测试的,一不小心中奖了浪费上面的套套,呵呵。希望阿莫敦促一下安装人员,注意检查,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-5-24 21:03:19 | 显示全部楼层
本帖最后由 oste_ 于 2012-5-25 13:27 编辑

照片模糊,水平有限,呵呵

出0入0汤圆

发表于 2012-5-25 09:44:32 | 显示全部楼层
remark a mark

出0入0汤圆

发表于 2012-5-25 11:22:03 | 显示全部楼层
... 真的, 我买的JTAG(成品) 也是R26上焊了10K, 当初我就看在 质检合格amo 的标签份上, 测试了三天, 上来才看到原来是这问题...
PS: 打扰了几位高人真不好意思

出0入0汤圆

发表于 2012-5-25 12:46:59 | 显示全部楼层
楼主辛苦了,谢谢共享!CVAVR能开发吗?

出0入0汤圆

发表于 2012-5-25 13:26:25 | 显示全部楼层
leon11hk 发表于 2012-5-25 11:22
... 真的, 我买的JTAG(成品) 也是R26上焊了10K, 当初我就看在 质检合格amo 的标签份上, 测试了三天, 上来才 ...

由此看来应该是批量出问题了

出0入0汤圆

发表于 2012-6-6 19:44:13 | 显示全部楼层
不知道LGT怎么样,先留名吧,如果公司换MCU,也考虑考虑LGT

出425入0汤圆

发表于 2012-6-16 10:30:26 | 显示全部楼层
studio5是不是集成了GCC的?如果是的话,相当于GCC的哪个版本?用法跟GCC有不同吗?

出0入0汤圆

发表于 2012-7-19 00:43:57 | 显示全部楼层

出0入0汤圆

发表于 2012-7-28 11:09:59 | 显示全部楼层
哭了,邮购部说,只有33个人可以买

出0入0汤圆

发表于 2012-7-30 16:10:24 | 显示全部楼层
请问studio5频率较正参数在那儿读?就是OSCCAL的值怎么读写?

出0入0汤圆

发表于 2013-2-25 23:34:50 | 显示全部楼层
这个一定要顶才行啊

出0入0汤圆

发表于 2013-5-30 19:55:07 | 显示全部楼层
mark!我的电脑安装avr studio 5.0安装的上,avr studio 5.1和atmel studio 6.0就死活安装不上,不知道有没有人遇到过这种问题。

出0入0汤圆

发表于 2013-11-20 15:31:26 | 显示全部楼层
谢谢啦  我的4.17版本不能用JTAG    按你提供的试试看

出0入0汤圆

发表于 2013-11-20 19:29:09 | 显示全部楼层
Atmel Studio 6.1 update 2.0 (build 2730) Installer – Full
(786MB, updated August 2013)
This installer contains Atmel Studio 6.1 update 2 with Atmel Software Framework 3.11.0 and Atmel Toolchain. Update from Atmel Studio 6.1 update 1 to get support for SAMD20 with JTAGICE 3.
This installer also contains MS Visual Studio Shell and .NET 4.0. Select this installer if you need to install Atmel Studio on a computer not connected to the internet.

6.1能用不?

出0入0汤圆

发表于 2013-12-6 22:18:09 | 显示全部楼层
悲剧,64bitWin7死活没法装……

出0入0汤圆

发表于 2014-2-27 15:18:02 | 显示全部楼层
这个必须顶

出0入0汤圆

发表于 2014-3-9 04:35:53 | 显示全部楼层
文中提供的as5installer-stable-5.1.208-full.exe  在WIN7 64位下安装报错,换成 as5installer-5.0.1163-full.exe 安装后正常。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-1 05:25

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

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