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

28335基本运算语句执行效率

请问各位大侠,为什么我的基本指令(如除法、开方、sin运算)在RAM上运行的时间是手册里的两倍呢?

补充:当我把所有代码都写入ram里运行,时间基本和手册一致;而是程序烧到内部FLASH将代码,然后Boot到ram中,则除法、开方、sin、cos的执行时间变成2倍了。加法和乘法运算都正常。

想不通啊,急急急,求大侠指点~

dirtwillfly:

你是全部boot到ram中,然后再执行?还是用到时boot到ram中?如果是后者,肯定会影响运行速度

请问各位大侠,为什么我的基本指令(如除法、开方、sin运算)在RAM上运行的时间是手册里的两倍呢?

补充:当我把所有代码都写入ram里运行,时间基本和手册一致;而是程序烧到内部FLASH将代码,然后Boot到ram中,则除法、开方、sin、cos的执行时间变成2倍了。加法和乘法运算都正常。

想不通啊,急急急,求大侠指点~

dsper1:

回复 dirtwillfly:

你好,肯定不是全部boot到ram中,因为程序比较大,只把关键的算法部分boot到ram里了。不过不是用的时候才boot吧?因为上电就会boot到ram里啊。

具体影响原因是什么呢,为何乘法和加法没有影响呢?

请问各位大侠,为什么我的基本指令(如除法、开方、sin运算)在RAM上运行的时间是手册里的两倍呢?

补充:当我把所有代码都写入ram里运行,时间基本和手册一致;而是程序烧到内部FLASH将代码,然后Boot到ram中,则除法、开方、sin、cos的执行时间变成2倍了。加法和乘法运算都正常。

想不通啊,急急急,求大侠指点~

mangui zhang:

回复 dsper1:

如果全部搬移     代码量过大肯定是无法全部搬移的 

部分搬移要确保合理性

建议你在flash中跑跑看   是不是两倍的关系

请问各位大侠,为什么我的基本指令(如除法、开方、sin运算)在RAM上运行的时间是手册里的两倍呢?

补充:当我把所有代码都写入ram里运行,时间基本和手册一致;而是程序烧到内部FLASH将代码,然后Boot到ram中,则除法、开方、sin、cos的执行时间变成2倍了。加法和乘法运算都正常。

想不通啊,急急急,求大侠指点~

dsper1:

回复 mangui zhang:

我在flash中也测了一下,发现所有运算比boot到ram跑的还要慢一些,也就是全部在ram跑的时间两倍还要多些。这个是比较合理的。因为flash中程序执行效率本来就会慢20%-30%。仍然无法解释为什么boot之后会慢大概两倍时间呢?补充:乘法加法则无影响。继续等。。。。。。

请问各位大侠,为什么我的基本指令(如除法、开方、sin运算)在RAM上运行的时间是手册里的两倍呢?

补充:当我把所有代码都写入ram里运行,时间基本和手册一致;而是程序烧到内部FLASH将代码,然后Boot到ram中,则除法、开方、sin、cos的执行时间变成2倍了。加法和乘法运算都正常。

想不通啊,急急急,求大侠指点~

dsper1:

回复 BIN YAO1:

调用了啊,因为运行到sin cos 除法时就会跳转到一个页面提示说缺少函数原型,这些是在库函数里,应该是汇编编写的。

至于库函数无论在flash与ram里运行之间都一样,也就sin与cos有细微的变化 几个clock吧。。。所以不是库函数位置的问题。。。

有人跟我一起做过测试吗?结果如何?帖出来吧,讨论下啊~~~~继续等

请问各位大侠,为什么我的基本指令(如除法、开方、sin运算)在RAM上运行的时间是手册里的两倍呢?

补充:当我把所有代码都写入ram里运行,时间基本和手册一致;而是程序烧到内部FLASH将代码,然后Boot到ram中,则除法、开方、sin、cos的执行时间变成2倍了。加法和乘法运算都正常。

想不通啊,急急急,求大侠指点~

dsper1:

回复 BIN YAO1:

非常感谢 BIN YAO1的提醒,我查看map文件之后,发现fast库中的函数并未boot到ram里。通过修改cmd文件,目前程序执行效果很好

,代码的性能得到了显著提高,多谢 BIN YAO1~~

赞(0)
未经允许不得转载:TI中文支持网 » 28335基本运算语句执行效率
分享到: 更多 (0)