zqy 发表于 2012-7-29 12:21:35

CV LGT, 使用 cvavr2.03.4编译LGT成功,但是用LGT JTAG调试时发现....

CV LGT, 使用 cvavr2.03.4编译LGT成功,用的是SSOP24封装,先上个图片。

但是用LGT JTAG调试时发现两个问题:
1,如下图SPerror.jpg,SP虽然指向高地址0x4FF,但是发现程序在调用io_init()后返回地址00A0是同时压入RAM的0x0004FE、0x0004FF和0x0002FE、0x0002FF,正确应该是0x0004FE、0x0004FF和0x0003FE、0x0003FF吧?是否内部SP偏移地址被改变了?因为我调试时好像看到过正确的情况,做了RAM清除的动作,即下面第二个问题。
2,如下图clearRAM.JPG,我用LGT JTAG调时执行下面RAM清除程序时,发现居然它是从000100和000300位置同时写入00,这个问题太奇怪了,这样当0x0100~0x3FF写完,然后0x0300~0x05FF也同样写入00了。但是我用studio模拟仿真是没有问题的如图clearRAM2.JPG。

   #asm
   //clear R2 to R14
   CLR       R30
   LDI       R24,0x0D       //Load immediate
   LDI       R26,0x02       //Load immediate
   CLR       R27            //Clear Register
   ST      X+,R30         //Store indirect and postincrement
   DEC       R24            //Decrement
   BRNE      PC-0x02      //Branch if not equal
   //clear RAM 0x0100 ~ 0x3FF,
   //X = R27R26
   //start address R27R26 = 0x0100,total R25R24 = 0x0300
   //0x0300-0x0100 = 0x200(512)
   //SER       R30            //Set Register
   CLR       R30
   LDI       R24,0x00       //Load immediate
   LDI       R25,0x03       //Load immediate
   LDI       R26,0x00       //Load immediate
   LDI       R27,0x01       //Load immediate
   ST      X+,R30         //Store indirect and postincrement
   SBIW      R24,0x01       //Subtract immediate from word
   BRNE      PC-0x02      //Branch if not equal
   #endasm

zqy 发表于 2012-7-29 12:29:31

zqy 发表于 2012-7-30 12:06:59

LGT技术支持在吗?怎么没有人帮忙看看我说的问题?是否我写得不清楚?

zqy 发表于 2012-7-30 16:03:54

http://www.amobbs.com/thread-5476633-1-1.html
看了这个第一个问题终于明白了,给datasheet的0x3FF搞糊涂了,原来最高是0x2FF。不过写0x100~0x2FF时,0x300~0x4FF也一起写了,好像双重RAM一样。

ylei12 发表于 2012-7-31 20:17:58

楼主能写个简单的教程么,我也想用这个芯片,用的也是cvAVR编译器

zqy 发表于 2012-8-1 16:49:44

CV LGT 教程
附件为使用cvavr2.03.4写的DEMO例程,希望能给像我一样喜欢用CV的人有帮助。
LTG24\smaple\LGT24L.prj      
attach://38266.rar
其实很简单,只要将头文件换成LGT的(不过头文件要用我按CV格式修改的这个附件LTG24\include\systemiolgt8f0xa_fullZHOU1.h)
,然后按附图CVConfigure1.JPG不要选择Clear Global Variables at Program Startup选项,因为选了这
个CV会自动生成清除RAM的ASM代码加到程序开始,不选的原因是LGT和M164的RAM size不同。
使用这个demo要注意设置头文件的路径如下图CVConfigure2.jpg
附上原理图

shoot_123 发表于 2012-8-1 16:53:34

嗯,关注着

zqy 发表于 2012-8-1 16:56:17

怎么好像有点乱?而且没看到附件?attach://38290.rar

shoot_123 发表于 2012-8-1 17:03:06

别着急,慢慢来

chenerbox2 发表于 2012-8-2 10:13:20

不错 感谢楼主

logicgreen 发表于 2012-8-2 11:38:28

LGT8F08A的SRAM是512字节,SP的最高指针要设为0x2FF。
页: [1]
查看完整版本: CV LGT, 使用 cvavr2.03.4编译LGT成功,但是用LGT JTAG调试时发现....