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.

[参考译文] 66ak2h14:压缩 IPC 测试"dual_transports"使用 CCS 会导致测试失败

Guru**** 2589265 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/608629/66ak2h14-comped-ipc-test-dual_transports-using-ccs-causes-the-test-to-fail

器件型号:66AK2H14
主题中讨论的其他器件:TCI6636K2HTCI6638K2K

我正在尝试设置一个简单的测试、其中 Linux ARM <->DSP 和 DSP <->DSP 之间存在 IPC MessageQ 通信。  我在目录~/ti/ipc_3_44_01_01/packages/ti/ipc/tests 中找到了"dual_transports"示例、该示例完全符合我的要求(ARM 向 DSP0发送命令、然后将其发送到其他 DSP)。

我的设置:

  • CCS v7.1.000016
  • 处理器 SDK Linux RT K2HK EVM 03.03.00.04
  • 处理器 SDK RTOS K2HK 3.03.00.04
  • EVM K2H 从 Processor SDK Linux RT K2HK EVM 03.03.00.04中加载了库存映像

我正在运行该示例、方法是使用 mpmcl 加载具有相同映像的所有 DSP (复位、加载、运行)、然后运行 MessageQApp。

如果我使用构建文件通过 CLI 编译测试(在目录~/ti/processor_sdk_rtos_k2hk_3_03_00_04中为"make IPC_BIOS")并加载测试、则一切都正常(可执行文件位于 IPC_3_44_01_01/packages/ti/IPC/tests/bin/ti_platforms_evmTCI6638K2K_core0/dual_transports.xe66中)。

如果我按照以下步骤通过 CCS 编译工程、DSP 内核0和 ARM 永远不会建立连接(MessageQApp 等待打开 CORE0队列、而 DSP0只等待来自 ARM 的消息)。  我没有看到要导入 CCS 的工程、例如其他工程(甚至通过 PDK 的 pdkProjectCreate.sh 脚本创建了所有示例)。

  • 在 CCS 中创建一个空的 RTSC 项目
    • Devive 设置为"TCI6636K2H"
    • 编译器为"TI v8.1.3"
    • 目标为"ti.targets.elf.c66"
    • 平台是"ti.platforms.evmTCI6636K2H"
    • 编译配置文件为"发布"
    • XDCtools 更改为3.32.1.22_core (3.50.1.12_core 不会生成)
    • 选择的产品
      • IPC (3.44.1.01)
      • SYS/BIOS (6.46.4.53)
      • k2hk PDK (4.0.5)
      • Target_content_BASE (CCS_base)
  • 将文件从示例复制到我的项目
    • DUAL_transports.c
    • dual_transports.cfg
    • MessageQ_common.cfg
  • 生成(我收到有关折旧 tci6638.NotifyCircSetup 和 ti.ipc.family.tci6638.Interrupt 的警告、但编译为 dual_transports.out)
  • 将文件复制到电路板并在所有 DSP 内核上运行 vai mpmcl (复位、加载、运行)
  • 运行"MessageQApp"(默认情况下安装在文件系统上的/usr/bin 中)

我还尝试将器件更改为 TCI6638K2K"、并根据我通过 make 编译时看到的输出将平台更改为"ti.platforms.evmTCI6638K2K"。  这会得出相同的结果。

在 CCS 中构建该项目时缺少什么?  在这个示例之后、我尝试对我的真实代码建模、并且希望这个示例在 CCS 中工作(因为这是我开发代码的地方)。

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

    我已通知软件团队。 他们的反馈将在此处发布。

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

    Anthony、

    您是否仍然通过 CLI makefile 和 CCS 拥有"dual_transports"工程的编译日志和内存映射文件?

    此致、
    Garrett

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

    e2e.ti.com/.../dual_5F00_transport_5F00_logs_5F00_and_5F00_maps.zip

    这是一个包含构建日志和映射的 zip 文件。  希望我正确添加了该文件。

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

    您似乎已经正确构建了项目。 我在构建日志和存储器映射文件中看不到明显的线索、需要设置 EVM 并尝试重现此处的问题。

    此致、Garrett
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我还尝试更新到最新的处理器 SDK (4.00.00.04)和最新的 CCS (7.2)、看看是否修复了任何问题、但没有修复。 它的行为方式相同(SDK 提供的 dual_transports.xe66工作正常、但使用 CCS 构建的 dual_transports.out 不工作)。

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