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.
您好,出口
我想在 CLA 任务中使用执行 sqrt 计算。 在 CLA 数学库 UG 中、我发现有两个实现:
1.装配功能2. 内联函数。
在基准测试中、这两种方法的效率似乎相似。
这是否意味着我只能包含 clamath.h 并调用内联函数而不包含库?
(我在 UG 中发现了这一点:内联函数只能用于后台任务? 但在该示例中、它看起来不是。
内联 C 函数提供与汇编函数相同的 CLA 数学运算、但实际上是这样
以内联 C 语言编写、以便在2类 CLA 后台任务中使用它们。)
由于我不使用任何三角函数、我是否需要 在 工程中包含 ROM_symbols_lib?
另一个问题是、在 clamath.h 中、它展示了 TMU、FPU、INLINE、.lib 对 sqrt 的几种实现、
我想知道、它们在 CLA 代码中都是可用的吗? 谢谢。
林纳
Linna、
[引用 user6283973]UG 中存在此问题:内联函数只能用于后台任务? 但在示例中、似乎没有。
它应该说、在后台任务中、只能使用内联函数。 后台任务不允许调用函数。
在其他任务中、可以使用内联函数或被调用函数。
user6283973 说:这是否意味着我只能包含 clamath.h 并调用内联函数而不包含库?
是的、但是 、如果包含非内联版本但未使用、则不会占用 codespace。 您是否在执行此操作时遇到了困难?
[引用 user6283973"]由于我不使用任何三角函数,我是否需要 在 项目中包含 ROM_symbols_lib?
你不是。 但如果不使用它们、它们就不占用任何空间。
[引用 user="user6283973"]
另一个问题是、在 clamath.h 中、它展示了 TMU、FPU、INLINE、.lib 对 sqrt 的几种实现、
我想知道、它们在 CLA 代码中都是可用的吗? 谢谢。
[/报价]
CLAmath.h 中的#defines 将 C28x FPU/TMU 内在函数转换为 CLA 函数。 这是针对从 C28x FPU/TMU 迁移到 CLA 的代码。
例如:
// //针对 CLA2的 TMU 内在函数 // #define __DIVf32 CLAdiv_inline #define __sqrt CLAsqrT_inline #define __sin CLAsin_inline #define __cos CLACOS_INLINE #define __atan CLAatan_inline #define _atan2 CLAatan2_inline #define __sinpuf32 CLAsinpu_inline #define _cospuf32 CLAcosPU_INLINE
你(们)好、Lori
非常感谢。 您完全回答了我的所有问题。
林纳