Part Number:TMS320F28034
大家好,最近我看到一篇文档 Fast Integer Division – A Differentiated Offering From C2000 Product Family,里面介绍了用内联函数实现快速除法,具体函数和对应执行的时间如下图:
我用的芯片是28034,我在stdlib.h里只找到了__euclidean_div_i32byu32,用了一下发现指令周期为59个clk,我直接用/进行除法运算,反而41个clk(这个应该是编译器进行了优化,我用的是V20.2.5)
我想问一下表中写的使用内联函数执行除法只需要十几个clk,为啥我在实际测试时需要59个,是不是我哪里没有搞好?
麻烦用过的大佬指导一下,谢谢
Yale Li:
您好,TI有提供相关的例程,例程中有详细的用法供您参考:
(spracn6_Fast Integer Division – A Differentiated Offering From C2000 Product Family 3.1 Software Examples)
,
user4612577:
你好,我是参考例程中的用法使用的,如下图所示:
实测该函数的执行时间为59clk
这个函数实在stdlib.h中找到的,只有这一种可以使用,表中其他函数都被条件编译屏蔽了
,
Yale Li:
FASTINTDIV是针对f2838x、f28002x以及f28003x的。