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.

[FAQ] [参考译文] 【常见问题解答】AM275-FREERTOS-SDK:如何在 CCS 20.x 工程内导入或运行 DSPLIB 示例?

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1598973/faq-am275-freertos-sdk-how-do-i-import-or-run-a-dsplib-example-inside-of-a-ccs-20-x-project

器件型号:AM275-FREERTOS-SDK

FreeRTOS SDK 和 MCUPlus SDK 都包含附加库、例如 DSPLIB。 默认情况下、这些库并不是为了直接在 CCS 工程中运行、而是使用 cmake 进行编译。

可以将 DSPLIB 示例代码导入 CCS 工程以简化调试、或将库拉入更大的工程。

这将假设没有现有工程、因此我们将从“empty"工程“工程示例开始(“empty"是“是 C 工程)。 如果您需要 C++、则应改为选择 C++ hello world 示例代码,以下步骤将是相同的)、并使用 CCS 20.x 来执行此操作。 但在较旧版本的 Code Composer 中、步骤几乎相同。

1) 打开 CCS 20.x、然后转到“File"->"Import Project"“ Project"</s>“ “
2) 浏览至 FREERTOS/MCUPlus SDK 位置(在 Windows 上、通常为 C:\ti\freertos_SDK_xxxxxx。 对于 Linux、没有默认设置、但公共位置是~/ti/freertos_sdk_xxxxxx。 转到“Examples"->"Empty"并“并选择“选择所“所需文件夹。
3) 由于 DSPLIB 旨在在 C7x 内核上运行、建议选择其中一个 C7 内核。 在我的 AM275x EVM 示例中、我要选择“empty_am275x-evm_c75ss0-0_freertos_ti-c7000"工程“工程。 导入示例工程
4) 在工作区中、您应该会看到刚刚导入的工程。 选择该工程(左键点击)、转到 Project 下拉菜单-> Properties(或在工作区中右键点击工程并转到 Properties)。
5) 首先、我们需要依次转到“Build"->"Tools"->"C7000 Compiler"->"Advanced“ Compiler"->"Advanced Options"->"Diagnostic“ Options"->"Diagnostic Options"“ Options",“,将“将警告“警告作为“作为错误“错误禁用“禁用。、。 向下滚动并取消选中“将警告视为错误“复选框

6) 现在添加 DSPLIB 源代码文件。 在相同的属性对话框中、转到 Build -> Tools -> C7000 Compiler -> Include Options、在“Add Dir to #include search path“文件中、通过点击框右上角的“+"添加“添加 src 并粘贴“${MCU_PLUS_SDK_PATH}/source/dsplib /SDK“而不带引号。 点击“确定“将此路径添加到搜索路径中。

7) 现在将 DSPLIB 编译的库文件添加到链接器中。 在相同的属性对话框中、转到“Build"->"Tools"->"C7000 链接“ 链接器“器"->"File“"->"File Search“ Search Path"“ Path"。“。</s>“
8) 我们需要添加库路径和库文件名。 首先、我们单击“Add

至库搜索路径“窗口。 添加不带引号的“${MCU_PLUS_SDK_PATH}/source/dsplib/lib/Release、然后点击“OK"。“。

9) 现在我们必须在“包含库文件或命令文件作为输入“窗口中添加 2 个库。 点击该窗口的“+",“,添加、添加不带引号的“DSPLIB_C7524.lib"。“。 忽略有关其未解析的警告、然后按 OK(确定)。 然后再次点击+、添加“DSPLIB_COMMON_C7524.lib",“,不、不带引号。 再次忽略该错误、然后按 OK。

10) 现在我们应该为某些内核使用的 C7524 添加一个定义。 在相同的属性对话框中、转到“Build"->"Tools"->"C7000 编译“ 编译器“器"->"Predefined“"->"Predefined Symbols"“ Symbols",“,在“在"Predefined“"Predefined Name"、 Name"窗口“窗口中“中、点击+按钮并添加“_C7524__"而“而不加引号(这特定于 AM275x CPU、如果您的处理器具有不同的 C7x 内核,则应将正确的版本放入)。 点击 OK。

11) 我们完成了初始项目设置。 点击“Save and Close“关闭工程属性窗口。

现在、您可以导入相关的示例文件并对 FreeRTOS 进行一些修改、以便调用。

以一个简单的示例为例、我们导入 MUL 内核。

1) 打开要导入的示例文件。 在本示例的路径中、我们将导航到 /source/dsplib/examples/DSPLIB_mul/DSPLIB_mul_example.cpp (在 Windows 上、这通常为 C:\ti\freertos_sdk_xxxxxx。 对于 Linux、没有默认设置、但公共位置是~/ti/freertos_sdk_xxxxxx)
2)“空“工程是一个 C 工程,而不是 cpp,因此我们不能直接使用.cpp 文件。 我们只需将其用作参考。 查看此文件中的 main 函数、只有几项功能使其成为 cpp 文件。 因此我们可以将 DSPLIB 示例文件的内容复制到 empty.c 的 empty_main() 函数中、并纠正这些问题。
3) 需要修改“//打印结果“注释下的 for 循环,使 size_t c;置于 for 循环上方,我们将 for 循环更改为下面,以便在 C 中编译

   size_t c;
   for (c = 0; c < size; c++) {
      printf("%10g * %10g = %10g\n", in0[c], in1[c], out[c]);
   }

4) 不要忘记将 dsplib.h include 添加到 empty.c 文件中。
#include "dsplib.h"
#include <stdint.h>

5) 构建工程

这样就可以在 CCS 中运行 mul_example 代码。 我为 CCS 20.4 附加了一个示例 DSPLIB 工程(编写时最新)

dsplib_example_am275x-evm_c75ss0-0_freertos_ti-c7000.zip 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    上述示例代码是上述步骤的结果。 它适用于大多数 DSP Lib 示例。