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/TMS320C6678:在最新 SDK 中集成 NDK 和 OMP

Guru**** 2538960 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/801298/ccs-tms320c6678-ndk-and-omp-integration-in-latest-sdk

器件型号:TMS320C6678

工具/软件:Code Composer Studio

我使用以下环境。
- CCS 8.3.1
- TI-processor-SDK-RTOS-c667x-EVM-05.03.00.07

  ;CGT 8.3.2

  ;EDMA3 2.12.5

  ;IPC 3.50.3.05

  ;NDK 6.75.2.0

  ;SYS/BIOS 6.75.2.00

  ;UIA 2.30.1。 02

  ;OMP 2.0.13

  ;XDC 3.51.1.18_core


- NIMU_emacExample_EVMC6678C66BiosExampleProject
 其他 openmp_dsp_c667x_2_06_03_00
 更改平台... ti.runtime.openmp.platforms.evm6678
-修改 HelloWorld.c  e2e.ti.com/.../0552.helloWorld.c

-修改 HelloWorld.cfg  e2e.ti.com/.../7080.helloWorld.cfg

修改>> Program.sectMap[".far:NDK_PACKETMEM"]={loadSegment:"DDR3"、loadAlign:128};

添加了与 OMP 相关的 CFG 文件

//##################

  (笑声) 添加了部件...

//##################

在最新的 SDK 中、我们正在开发一个使用 OpenMP 和 NDK 的项目。
但是,main()函数不会输入。   如 上所示、已进行修改。
内核在函数 c_int00()中运行。

>>我们希望在最新的 SDK 基础上使用 NDK 和 OpenMP。
   我们需要合并两个示例。
   但是,此集成不会进入 main()函数。
   我们如何进行集成?

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

    是否"启用--openmp 编译器选项(在高级选项‣高级优化下)"?

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

    已设置上述选项。

    我制作并试验了一个 OMP 项目。
    我还尝试了 Helloworld 项目。

    我正在尝试合并这两个项目。 请帮帮我。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    请在此处附上您的 CCS 项目吗? 让我尝试重现您所观察到的问题...

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

    您好、Garrett。

    我的项目是 NIMU_emacExample_EVMC6678C66BiosExampleProject。
    此项目是使用 pdkProjectCreate.bat 文件创建的。
    -文件夹:C:\ti\pdk_c667x_2_0_13\packages\MyExampleProjects\Nimu_emacExample_EVMC6678C66BiosExampleProject

    并修改了 HelloWorld.c 和 helloworld.cfg、openmp 选项设置、更改平台等

    当前项目和修改后的文件如下所示。

    e2e.ti.com/.../2845.NIMU_5F00_emacExample_5F00_EVMC6678C66BiosExampleProject.zip

    e2e.ti.com/.../5582.helloWorld.c

    e2e.ti.com/.../1362.helloWorld.cfg


    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我可以导入您的项目并更新 helloworld.c 和.cfg 文件、以查看 C6678 EVM 上的故障、并与 OpenMP 团队一起查看详细信息并更新您的情况。

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

    你(们)好

    谢谢您的回复。

    我希望有一个好的计划。

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

    您好!

    您为 OpenMP 示例和 NDK 示例串联了 RTSC cfg 文件–这还不够、可能导致问题/冲突。
    例如,使用 OpenMP 时,Memory.defaultHeapInstance 由 HeapOMP.xs 中的 OpenMP 运行时设置。 但是、包含的配置文件将其设置在第334行(从 NDK 示例中)。 此外、.text、.data 等也有重复的设置

    该线程可以帮助您集成 OpenMP + NDK - e2e.ti.com/.../2219784 如果您仍然发现最新版本和工具集存在 CCS ROV 问题、我们可以继续研究它。

    此致、
    Garrett