主题中讨论的其他器件:TCI6636K2H、 TCI6638K2K
我正在尝试设置一个简单的测试、其中 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 中工作(因为这是我开发代码的地方)。