This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TMS320F28335:什么是#include "C28x_Fpu_FastRTS.h"用于?

Guru**** 2112355 points
Other Parts Discussed in Thread: CONTROLSUITE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/784513/ccs-tms320f28335-what-is-include-c28x_fpu_fastrts-h-for

器件型号:TMS320F28335
Thread 中讨论的其他器件:controlSUITE

工具/软件:Code Composer Studio

尊敬的 TI 专家:

我将查看 controlSUITE 提供的 FastRTS 示例。

C:\ti\controlSUITE\libs\math\FPUfastRTS\V100\examples_ccsv4\2833x_fastRTS

//$TI 发行版:FastRTS 库 V1.00$
//$Release Date:2010年6月15日$

一切正常、下面的.map 文件显示它使用 FastRTS 而不是正常 RTS。

部分分配映射
 输出                                 属性/
段  页   原点     长度      输入段
----  --------   ------   --------
codestart
*         0   00000000   00000002     
                 00000000   00000002    CodeStartBranch.obj (codestart)
.cinit    0   00008000   0000001a     
                 00008000   0000000e    rts2800_fpu32.lib:exit.c.obj (.cinit)
                 0000800e   00000005                      :_lock.c.obj (.cinit:_lock)
                 00008013   00000005                      :_lock.c.obj (.cinit:__unlock)
                 00008018   00000002    --hole --[填充= 0]
FPUmathTables
*         0   003febdc   000006a0    NoLoad 部分
                 003febdc   000006a0    rts2800_fpu32_fast_补 码.lib:FPUmathTables.obj (FPUmathTables)
.text     0   00009000   0000030e     
                 00009000   00000134    fastrts_sample.obj (.text)
                 00009134   00000056    rts2800_fpu32.lib:boot28.asm.obj (.text)
                 0000918a   0000004a    rts2800_fpu32_fast_f늹 훺.lib:atan_F32.obj (.text)
                 000091d4   00000034                                      :Cos_F32.obj (.text)
                 00009208   00000034                                      :Sin_F32.obj (.text)
                 0000923c   00000029    rts2800_fpu32.lib:exit.c.obj (.text)
                 00009265   00000024                      :cpy_tbl.c.obj (.text)
                 00009289   00000021    rts2800_fpu32_fast_finc补.lib:sqrt_F32.obj (.text)
                 000092aa   0000001e    rts2800_fpu32.lib:memcpy.c.obj (.text)
                 000092c8   00000019                      :args_main.c.obj (.text)
                 000092e1   00000019    rts2800_fpu32_fast_addr.lib:div_F32.obj (.text)
                 000092fa   00000009    rts2800_fpu32.lib:_lock.c.obj (.text)
                 00009303   00000008    CodeStartBranch.obj (.text)
                 0000930b   00000002    rts2800_fpu32.lib:pre_init.c.obj (.text)
                 0000930d   00000001                      :startup.c.obj (.text)
但是,根据文档(C28x 浮点单元 fastRTS 库模块用户指南 C28x 基础软件 V1.00 SPRCA75 2010年6月16日):
"使用与标准 RTS 库相同的头文件。 对于不属于标准 RTS 库的函数、请使用包含的 C28x_FPU_FastRTS.h 头文件。"
因此、我注释掉主文件中的行(#include "C28x_Fpu_FastRTS.h")、它似乎不会影响.map 文件。
我的问题是:
(1)如果我将 fastRTS 用于我自己的项目、我是否需要包含文件(C28x_Fpu_FastRTS.h)? 似乎没有必要?
(2)在哪种情况下有必要列入?
(3)描述是什么("使用与标准 RTS 库相同的头文件。 对于不属于标准 RTS 库的函数、请使用包含的 C28x_FPU_FastRTS.h 头文件。") 是什么意思? 这是否意味着如果我在项目中只需要 sin ()、cos ()、tan ()和 atan ()、 我不需要包含 该文件(C28x_Fpu_FastRTS.h)?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ivan、

    "C28x_Fpu_FastRTS.h"包含标准头文件中找不到的函数的原型(非定义)、如"math.h"。 因此、如果您查看 C28x_Fpu_FastRTS 标头、则只有两个函数原型、即"isqrt (float32 X)"、"sincos (float32 radan、float32* PtrSin、float32* PtrCos)"

    现在来回答您的问题:

    (1)如果我将 fastRTS 用于我自己的项目、我是否需要包含文件(C28x_Fpu_FastRTS.h)? 似乎没有必要?

    ANS:只有当您计划使用“isqrt”或“sincos”函数时,才有必要,其余的都被视为标准数学函数。

    此致

    Himanshu