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.

[参考译文] RTOS:TDA2X &CCS:使用 EDMA LLD 构建 EDMA 示例时出现问题

Guru**** 2551110 points
Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/602210/rtos-tda2x-ccs-problem-building-edma-example-with-edma-lld

Thread 中讨论的其他器件:SYSBIOS

工具/软件:TI-RTOS

大家好、

我正在 Win7 x64上使用 CCS 7.1.0.00016、并且尝试构建一个使用 EDMA3 LLD 的 EDMA 示例。 对于此项目、我将使用 SYS/BIOS 6.50.1.12、XDCTools 3.50.0.10和 EDMA3 LLD 2.12.0 (从此处下载: software-dl.ti.com/.../index.html)

我要运行的示例可在此处找到: https://gforge.ti.com/gf/project/lld_examples/frs/ LLDExamples ZIP 下(我在 EDMA LLD 编程的主 wiki 页面上找到此链接(processors.wiki.ti.com/.../Programming_the_EDMA3_using_the_Low-Level_Driver_(LLD))。

它们是为 C64x 编写的、但我需要在 TDA2x 的 DSP C66x 内核上构建和运行它。 我正在尝试从 to_LLD_6455.zip 运行名为"TTO_LLD_example1_async_6455的文件。

我将 C 代码导入到了一个新的 SYS/BIOS > TI 目标示例>最小项目(因此只有.h 和.c 文件)。 接下来、我查阅了由 CCS 帮助中的 LLD 包提供的 EDMA3驱动器数据表、并将项目配置为链接以下库:

在 EDMA.c 中、有一个必须由 SYS/BIOS 提供的信号量的引用、因此我编辑了随 SYS/BIOS 最小项目一起提供的.cfg、并添加了以下行:

var semaphore0Params = new semaphore.Params ();
semaphore0Params.instance.name ="Ossem";
program.global.OsSem = Semaphore.create (1、Semaphore0Params);

参考是这样解决的。

但是、下一个构建会产生链接错误、我无法解决这些错误、需要帮助。 这些是:

 未定义                                                                          第一个参考                                                                                          
 符号                                                                                                     文件中                                                                                               
 ------                                                                            --------                                                                                          
 TI_SYSBIOS_family_c64p_EventCombiner_disableEvent__E        ……/Libraries/edma3_lld_drv_sample.ae66
 TI_SYSBIOS_family_c64p_EventCombiner_enableEvent__E         ……/Libraries/edma3_lld_drv_sample.ae66

我希望在这个问题上能提供任何帮助、因为我必须尽快拥有一个具有 LLD 功能的 EDMA。 理想情况下、如果有人有一个工作示例、愿意分享或有一个有关如何构建的指南、那就很好了。

提前感谢。

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

    它是否包含以下内容?
    xdc.useModule('ti.sysbios.family.c64p.EventCombiner');

    要获得清晰的图片,是否还可以包括“项目”->“属性”->“常规”->“主”和“产品”窗口的快照?

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

    我已将您的问题转交给专家以提供帮助。

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

    Todd、您好、感谢您的关注、

    我的 cfg 文件内容可在以下位置找到: https://pastebin.com/eUBLdP7N。 它不包含上述行。 我将尝试添加它、看看会发生什么情况。 请求的快照如下:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Todd、感谢100万人、他们解决了我的问题、并成功构建了该计划。 我想知道为什么这个模块的名称中有 c64p 当我链接 C66库时、我想在 C66x 内核上运行它。 当然、我将尝试此程序、但想了解有关 LLD 库以及是否正确设置项目的更多信息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    如果您想获得有关为 C66x 使用设置 LLD 的答案、这意味着使用为 C66x 执行构建的库。 C64p 出现在许多模块名称中这一事实让我感到困扰。

    提前感谢您。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    C64p 和 C66的中断管理是相同的。 C64p 最先出现、因此 EventCombiner 被放置在内核特定系列目录的 C64p 目录中。 我们不是通过移动代码来复制代码或破坏兼容性、而是仅使用相同的位置来实现 C66。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Todd、

    感谢您的澄清。