搜索
bottom↓
回复: 31

应用笔记:使用ICCAVR快速开发LGT8F88A - 详细教程

[复制链接]

出0入0汤圆

发表于 2013-12-21 22:25:34 | 显示全部楼层 |阅读模式
文档包含的内容:
1. ICCAVR的安装,配置以及使用方法
2. 与ICCAVR配套使用的程序下载方法
        SWDICE_mkII + LGTMix_ISP的使用方法
        SWDICE_mkII + avrdude的使用方法
3. 如何将avrdude与ICCAVR无缝连接
4. LGT8F88A的系统时钟配置程序示例




本帖子中包含更多资源

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

x

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

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2013-12-21 22:53:16 | 显示全部楼层
太给力了~~

正需要这个,楼主再接再厉

出0入0汤圆

发表于 2013-12-21 22:58:48 | 显示全部楼层
楼主,出一个LGT的时钟和外设配置生成软件吧。就跟ICCAVR的向导一样~~

这样就不需要记住很多寄存器了。

出0入0汤圆

 楼主| 发表于 2013-12-21 23:05:22 | 显示全部楼层
STM32_Study 发表于 2013-12-21 22:58
楼主,出一个LGT的时钟和外设配置生成软件吧。就跟ICCAVR的向导一样~~

这样就不需要记住很多寄存器了。 ...


很早之前就有这种自动生成配置的想法,当时想的是一个大的自动化系统,包括了配置,编译,下载,调试等等,
结果因为太复杂就放弃了, 不过这个想法的确值得好好研究,如果能找到一个好的实现方法,值得去做。

就类似ARM牵头搞的mbed一样,这个值得去做!

出0入0汤圆

发表于 2013-12-21 23:10:32 | 显示全部楼层
LGT 发表于 2013-12-21 23:05
很早之前就有这种自动生成配置的想法,当时想的是一个大的自动化系统,包括了配置,编译,下载,调试等等 ...

我觉得没必要贪多贪全,这样往往最后什么也做不好

就做自动生成配置,这个简单,你们工程师熟悉寄存器,做起来也容易。

编译部分,每个客户选用的都不一样,IAR、GCC、ICC、AVRStudio,这个我觉得没必要再早轮子了。也不会比他们做得更好

下载已经有LGTMix ISP

调试就是编译环节的那几个即可~~

现在最缺的就是自动生成配置。有了这个,新用户才好入门。大家都很忙啊,哪里有那么多时间来学习研究寄存器~~

出0入0汤圆

发表于 2013-12-21 23:12:24 | 显示全部楼层
可以说,自动生成配置的软件框架,稍微懂一点上位机编程的工程师就能做出来的。所以关键在于熟悉寄存器的配置,要做这些逻辑而已

这个对你们原厂来说,难度应该很小的。

出0入0汤圆

发表于 2013-12-22 00:25:38 | 显示全部楼层
支持楼主,再接再厉哦。

出0入0汤圆

发表于 2013-12-22 00:30:00 | 显示全部楼层
08A和88A的使用过程一样吗?现在推出的新教程都在介绍88A,手头有08A下载程序什么的都一样吗?

出0入0汤圆

 楼主| 发表于 2013-12-22 11:31:44 | 显示全部楼层
STM32_Study 发表于 2013-12-21 23:10
我觉得没必要贪多贪全,这样往往最后什么也做不好

就做自动生成配置,这个简单,你们工程师熟悉寄存器, ...

我们的想法也不是要重新设计一套工具,而是想把他们很好的整合起来,简化开发流程。

不过你说的对,工具的功能多了,工具本身的复杂性也需要考虑;

我们会提供一个方便,高效的代码生成工具,敬请期待!

出0入0汤圆

 楼主| 发表于 2013-12-22 11:32:57 | 显示全部楼层
laotui 发表于 2013-12-22 00:30
08A和88A的使用过程一样吗?现在推出的新教程都在介绍88A,手头有08A下载程序什么的都一样吗? ...

08A的稍有区别,这个考虑单独提供一个文档介绍。

出0入0汤圆

 楼主| 发表于 2013-12-22 11:55:38 | 显示全部楼层
laotui 发表于 2013-12-22 00:30
08A和88A的使用过程一样吗?现在推出的新教程都在介绍88A,手头有08A下载程序什么的都一样吗? ...

08A的话,如果是用SWDICE_mkII,基本上和88A的开发流程是一样的, 不同点有两处:
1. 如果是LGT8F08A, Target device选择:ATMega162
2. 如果是用avrdude下载,命令为:avrdude -F -cjtag2isp -pm162 -Pusb -Uflash:w:Project.hex:i

需要注意的是,SWDICE_mkII只能读写LGT8F08A的FLASH内容,如果要修改熔丝位和E2PROM的内容,需要用08A的专用ISP烧写器:

出0入8汤圆

发表于 2013-12-24 15:13:46 | 显示全部楼层
好资料,谢谢楼主分享。

出110入12汤圆

发表于 2013-12-24 15:54:15 | 显示全部楼层
STM32_Study 发表于 2013-12-21 23:10
我觉得没必要贪多贪全,这样往往最后什么也做不好

就做自动生成配置,这个简单,你们工程师熟悉寄存器, ...

绝对同意!

出110入12汤圆

发表于 2013-12-24 15:57:06 | 显示全部楼层
LGT 发表于 2013-12-22 11:55
08A的话,如果是用SWDICE_mkII,基本上和88A的开发流程是一样的, 不同点有两处:
1. 如果是LGT8F08A, T ...

LGT8有两种ISP?我记得有一种ISP和一种仿真器啊。顺便简单介绍下仿真器和下载器吧,我理解的是下载器只能下载+写熔丝,仿真器能仿真+下载+写熔丝,对吗?

出0入0汤圆

 楼主| 发表于 2013-12-24 21:31:38 | 显示全部楼层
hall 发表于 2013-12-24 15:57
LGT8有两种ISP?我记得有一种ISP和一种仿真器啊。顺便简单介绍下仿真器和下载器吧,我理解的是下载器只能 ...

基本正确:

ISP烧写器只有一种,而是是给LGT8F08A专用的。
调试器也只有一种,所有LGT 8位MCU通用。

LGT8F08A由于历史原因,没有做到让调试器也可以作为完整的ISP烧写器使用,所以只能用那个专用的ISP工具烧写FLASH,E2PROM和熔丝
后面的MCU,包括LGT8F88A, 只要一个调试器就够了,可以调试用,也可以做ISP下载器用。

出0入0汤圆

发表于 2013-12-24 21:40:48 | 显示全部楼层
LGT 发表于 2013-12-22 11:31
我们的想法也不是要重新设计一套工具,而是想把他们很好的整合起来,简化开发流程。

不过你说的对,工具 ...

真心期待,小工具解决大问题。。。。。。

出110入12汤圆

发表于 2013-12-24 23:10:31 | 显示全部楼层
LGT 发表于 2013-12-24 21:31
基本正确:

ISP烧写器只有一种,而是是给LGT8F08A专用的。

明白了 非常感谢

出0入0汤圆

发表于 2013-12-25 09:58:42 | 显示全部楼层
LGT 发表于 2013-12-24 21:31
基本正确:

ISP烧写器只有一种,而是是给LGT8F08A专用的。

“基本正确” “没有做到让调试器也可以作为完整的ISP烧写器使用,所以只能用那个专用的ISP工具烧写FLASH,E2PROM和熔丝”  这两句话不是冲突吗? 调试器到底能不能用来烧写FLASH,E2PROM和熔丝?

出0入0汤圆

发表于 2013-12-25 10:15:53 | 显示全部楼层
天语 发表于 2013-12-25 09:58
“基本正确” “没有做到让调试器也可以作为完整的ISP烧写器使用,所以只能用那个专用的ISP工具烧写FLASH ...

E2P和FLASH可以用SWD写。FUSE只能用ISP写。

出0入0汤圆

发表于 2013-12-25 10:32:17 | 显示全部楼层
xwkm 发表于 2013-12-25 10:15
E2P和FLASH可以用SWD写。FUSE只能用ISP写。

这样啊,那就是说88A系列的可以配置熔丝位了。

出0入0汤圆

 楼主| 发表于 2013-12-25 10:45:28 | 显示全部楼层
天语 发表于 2013-12-25 10:32
这样啊,那就是说88A系列的可以配置熔丝位了。

88A并没有熔丝需要设置的:
1. 88A使用了默认加密的方式,不需要LOCK位,所以使用时不需要考虑加密的设置,芯片烧写程序后,下次上电就是已经加密的。
2. 88A的时钟配置是通过PMCR寄存器,与熔丝无关,(具体可以参考本贴一楼的文档中最后一章节)
3. 88A的RC校准是出厂校准的,也不需要重新设置
4. 88A的BOR的配置,是可以通过熔丝的方式设置的,但是也可以通过寄存器设置,具体可以参考:LGT8F88A databook中【系统控制与复位】章节关于VDTCR寄存器的介绍。

因此,使用88A完全可以不考虑熔丝的问题。 目前LGTMix_ISP工具中,没有开放对88A熔丝的设置功能,如果后面开放,应该也只有在通过熔丝设置BOR时才需要。

出0入0汤圆

发表于 2013-12-25 10:46:27 | 显示全部楼层
早就应该给了。。。。

出0入0汤圆

发表于 2013-12-25 15:56:41 | 显示全部楼层
LGT 发表于 2013-12-25 10:45
88A并没有熔丝需要设置的:
1. 88A使用了默认加密的方式,不需要LOCK位,所以使用时不需要考虑加密的设置 ...

明白.后续产品应该也是这样的。

出0入0汤圆

发表于 2013-12-26 00:33:07 | 显示全部楼层
搞下来,研读一下···

出0入0汤圆

发表于 2014-1-8 10:48:01 | 显示全部楼层
void delays(unsigned int cy)
{
        unsigned int i;
         
        for(i = 0; i < cy; i++) {
                NOP(); NOP(); NOP(); NOP();
                NOP(); NOP();                    
        }
}


// cm : clock source select
// CLK_32MRC : internal 32MHz RC
// CLK_32KRC : internal 32KHz RC
// CLK_MOSC : external 400K~32MHz crystal
// CLK_KOSC : external 32K~400K crystal
// cps : clock per-scalar
// CLK_DIV0 : no scalar
// CLK_DIV2 : clk/2
// CLK_DIV4 : clk/4
// CLK_DIV8 : clk/8
// ...
// CLK_DIV256: clk/256
void clock_init(unsigned char cm, unsigned char cps)  
{
volatile unsigned char ctmp;
PMCR = 0x80; // PMCE enable
PMCR |= cm; // enable clock source
delays(32);
ctmp = PMCR;
ctmp &= 0x9f;

if(cm == CLK_MOSC)
ctmp |= 0x20;

PMCR = 0x80; // PMCE enable
PMCR = ctmp; // set clock source
delays(1);
// configure clock pre-scalar
CLKPR |= 0x80;
CLKPR |= cps;
delays(1);
}


我想把时钟改为外部的12M晶振,可总是有问题,能帮我看一下问题出在那吗?

出0入0汤圆

 楼主| 发表于 2014-1-9 10:27:55 | 显示全部楼层
han88889 发表于 2014-1-8 10:48
void delays(unsigned int cy)
{
        unsigned int i;

如果只是切换到外部高速晶振,可以用下面更简洁的代码,
你用这个代码测试下,测量下晶振有没有起振:

void clock_init(unsigned char cps)  
{
PMCR = 0x80; // PMCE enable
PMCR |= 0x4; // enable external high speed crystal i/o
delays(32);

PMCR = 0x80; // PMCE enable
PMCR = 0xA5; // set clock source
delays(1);

// configure clock pre-scalar
CLKPR |= 0x80;
CLKPR = cps;
delays(1);
}

出0入0汤圆

发表于 2014-1-9 14:41:42 | 显示全部楼层
谢谢,问一下,因为莫老大这没有放LGT8F88A的片子,我在你们淘宝上买的是量产的片子,还是工程样片?

出0入0汤圆

发表于 2014-1-9 22:03:46 | 显示全部楼层
han88889 发表于 2014-1-9 14:41
谢谢,问一下,因为莫老大这没有放LGT8F88A的片子,我在你们淘宝上买的是量产的片子,还是工程样片? ...

是量产的片子。

出0入0汤圆

发表于 2014-4-24 12:43:24 | 显示全部楼层
mark。。。。。

出0入0汤圆

发表于 2014-7-1 13:50:13 | 显示全部楼层
Nice controller , can we get 32K ROM in this model

出0入0汤圆

发表于 2014-12-17 01:40:56 | 显示全部楼层
LGT啥时能出双串口的片子呀。

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-4-26 17:01

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

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