我初学DSP没多久,所用的芯片是TMS320F2812,在使用SRAM.CMD文件仿真是程序运行正确,我用定时器翻转IO口,周期是1us,一切都正常,但是我将SRAM.CMD文件换成flash.CMD文件下载到FLASH里面运行后发现运行的结果不对,翻转的周期到了2us,会不会是flash.CMD的问题?
YI LI:
FLASH 里面运行程序肯定要比SRAM 慢
所以才导致结果是 周期变长啦
我初学DSP没多久,所用的芯片是TMS320F2812,在使用SRAM.CMD文件仿真是程序运行正确,我用定时器翻转IO口,周期是1us,一切都正常,但是我将SRAM.CMD文件换成flash.CMD文件下载到FLASH里面运行后发现运行的结果不对,翻转的周期到了2us,会不会是flash.CMD的问题?
BlackSword(三寸丁):
回复 YI LI:
楼上正解。F28xx的器件,通常要在Flash里跑程序,如果某些函数要得到与仿真时一样的效率,那么需要一定的技巧的,要将这段代码从Flash里load到RAM空间来运行的,以前当小工程师时专门写会这样的一遍文档,有需要的,每个要许一顿饭出来,我就发给你们。呵呵
我初学DSP没多久,所用的芯片是TMS320F2812,在使用SRAM.CMD文件仿真是程序运行正确,我用定时器翻转IO口,周期是1us,一切都正常,但是我将SRAM.CMD文件换成flash.CMD文件下载到FLASH里面运行后发现运行的结果不对,翻转的周期到了2us,会不会是flash.CMD的问题?
Jones Chen:
Flash的读写速度会比Ram要慢。
可以通过Memcpy将程序copy到Ram中执行,会加快读取速度。