TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28388D: 调试板中例程程序在线仿真与离线结果不一致。

Part Number:TMS320F28388D

1.F28388d,运行例程中的代码程序,在线仿真闪灯结果没有问题,但是烧录FLASH后,结果不正确,即灯不做反应,这是为什么?

2.利用F28388D,调试单核自己的程序,发现在线仿真与离线仿真结果不一样,调用DEVICE_DELAY_US函数,在线闪灯100ms,结果无误,但是离线后时间明显长于100ms,这是什么原因,其中软硬件配置如下图所示:

按照例程中,也Initflash,但是结果依然不正确;

硬件上BOOT mode也选择了FLASH

Green Deng:

1、这里因为涉及到双核烧写,不知道你的烧写过程是否有问题,是否真正的烧写进芯片了?

2、确实ram运行和flash运行本身在执行时间上就有差别,flash会比ram慢很多。但是一般加上memcpy函数后一些对时间要求较高的程序会被搬移到ram运行,也就不会存在这么明显的区别了。你的#ifdef _FLASH部分程序是完全复制例程的吗?工程中有做什么修改吗?

,

Nana Tang:

1.你好,我通过load方式烧录程序,我可以通过什么方式来检查我是否已经烧录到芯片呢?

2.我是直接将例程的程序加入到我自己的工程里了,但是还是有差异,这是因为什么呢?

,

Nana Tang:

补充下:1. 我按照例程 我可以确认我程序已经烧录成功:具体现象是:点击运行后两个灯正常闪烁,但是下电重启后灯不亮不做任何反应。

2. 完全复制  我是直接将device.c文件加入我的工程里的

,

Green Deng:

跟device.c可能关系不大。例程中#ifdef _FLASH之后在CCS中有设置预定义,你看看你的工程里面有没有类似如下图的设置:

,

Nana Tang:

你好,我的宏定义没有问题,就是按照你的截图所示,但是我发现我这边注释了device.c中判断时钟的代码,就可以了,这是为什么?

如果按照注释所说,我将USE_20MHZ_XTAL也是不可以的,只有注释掉这段判断才可以,总结现象如下:

1)使用默认25Mhz,并不注释上图所示判断,可以在线debug,上电重启异常,具体表现为灯不反应;

2)使用USE_20MHZ_XTAL改为20Mhz,并不注释上图所示判断,在线debug和上电重启均异常,即灯的状态不反应;

3)不论使用20M还是25M,只有注释掉上述判断代码,在线debug与掉电重启,效果一样。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28388D: 调试板中例程程序在线仿真与离线结果不一致。
分享到: 更多 (0)