[求助] 大家使用什么仿真器和编译器来开发LM3S2793?

wq5551291   2012-8-11 09:42 楼主
我现在用的仿真器是JLINK V8(山寨),编译器KEIL4.12,KEIL4.22,KEIL4.54,IAR6.3.0.1,IAR6.4(都试过),老是出现各种各样的问题,最主要的问题是烧写能烧进去,就是不能正常仿真。PS:需要使用片内FLASH进行编程。

    用KEIL的话,都是按JLINK V8用户指南配置的仿真器,编译器配置的也没问题(与用户手册一致),但是点击Download and Debug后,程序有时候能跑到main处,有时候就停在启动文件里调用main的地方(B   __main)不动了。用例程也是一样的效果,试过就编写几句话的main函数,也不行,所以应该不是程序的问题。PS:启动文件就改了中断向量表。别的没动。编译都没问题的,但一旦下载调试就会出现这个问题。后来转向IAR.....

    用IAR的话,配置好JLINK V8和编译器,编译也没问题,但烧写进去后,程序会跑飞...而且明明已经使能了PA口,从寄存器查看仍是锁定的,郁闷....在使用IAR的时候,下载的时候有一个警告:target inconsistency detected in memory range 0x0000 0000-0x0000 0C8B.从网上查了一下,应该是仿真器用的地址和程序下载的地址有冲突,可是重新配置了连接器配置文件后(直接从0x0000 1000开始,绕过出问题的这段初始地址,警告变成了两个,一个是 target inconsistency detected in memory range 0x0000 1000-0x0000 1C8B,另一个就是好像堆栈地址不对,应该是溢出了)。不管这个警告框,点确定后进入调试状态,前面初始化的几句能走,但是时钟初始化和端口初始化不正常,特别是端口初始化:SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);这句根本就没执行(PS:最开始调试的时候,出现过一个警告说没发现C:\cygwin\sandbox\DriverLib\build\DriverLib.test\driverlib\sysctl.c,先是重新指定了一个电脑里有此文件的地址,让它使用这个地址的文件,发现还会弹出,没有办法就在c盘下自己建了一个这样的文件夹,把文件加进去之后,没出现警告了,但是还是觉得就是因为这个 sysctl.c的问题造成时钟初始化和端口初始化异常。但是自我觉得根本问题不是这个 sysctl.c的问题,因为本来觉得这个路径就很诡异,会不会就是仿真器的临时调试用的?(不清楚...)

    鉴于出现以上情况,基本断定应该不是烧写口的问题(用J-FLASH也烧过);外面的硬件部分片子本身应该也不会出现问题(中间锁住过一次,解锁了),测试供给的外部时钟还比较稳定,供给的3.3V电源纹波也比较小,很稳定;换过较多编译器,破解,时间限制的版本都试过,应该也不是编译器的问题;初端和终端基本都没问题,问题应该出在中间仿真器的问题上(下载连接的时候),用的JLINKV8仿真器(山寨版),RDI驱动从4.22g,4.34,4.4,4.52都用过。发现在4.22g的CPU选项里没有要用的LM3S2793,选择了LM3S2739,发现它的ROM和RAM的初始地址及尺寸都与 LM3S2793的一致,操作中间仿真器固件自动更新过一次,发现不行,又把原固件又烧回来了,还是出错,别的设置都与JLINKV8的使用手册一致。因此,我自己的观点是,仿真器内部程序临时使用LM3S2793内部存储器的地址与片子本身启动配置和应用的地址有冲突,造成片子内部系统控制异常,程序没法正常运行与仿真,因此会出现即使是官方给出的例程也异常的情况。
      以上只是我的分析,还劳烦大家能给出建设性意见和建议,因此也想问问大家使用什么仿真器和编译器来开发LM3S2793?万分感谢!

回复评论 (4)

楼主写了这么多,
应该是仿真器质量的问题。
我用的比较多的是两种,一个是和 Keil 配套用的 ULINK2,感觉下程序和仿真速度都还不错,最主要的是稳定,没有那些莫名其妙的问题。
另一个是 TI M3 专用的板子上的那个 ICDI,感觉速度较慢,但是也还稳定,毕竟不是专业的。
点赞  2012-8-11 10:51

回复 沙发 Study_Stellaris 的帖子

谢谢啊。哎,ULINK2最开始也想买啊,最后看同事用JLINKV8挺好用的就买了JLINKV8,D版。知道ULINK2与KEIL,JLINK与IAR是绝配。又查了下,基本上是由JINLK驱动引发的血案,里面有个擦写FLASH的选项没有LM3S2793,用LM3S2739代替的,驱动版本是4.22g(本身这个版本评价挺好的),即使勉强烧写进去,也会出现单步调试假死的想象,就是根本没法调试仿真,升级到最新的JINK驱动(4.52),被告知JLINK是clone的,直接把commander给关了,昨天已经又买了个ULINK2,也是D版,希望能用。。。实在不行,只能买正版的JLINK了。
点赞  2012-8-11 15:03
楼主可以DIY一个,LM3S专门的仿真调试工具可以参考LM3S811小板,集成仿真调试功能的
点赞  2012-8-29 17:34

回复 4楼 hansonhe 的帖子

谢谢啊,ULINK2配上最新的KEIL用着挺好的,项目进展的也比较顺利
点赞  2012-10-9 21:51
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复