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: Comped IPC test "dual_transports" using CCS causes the test to fail

Part Number: 66AK2H14
Other Parts Discussed in Thread: TCI6636K2H

I'm trying to setup a simple test where there is IPC MessageQ communication between Linux ARM <-> DSP and DSP <-> DSP.  I found the example "dual_transports" in the directory ~/ti/ipc_3_44_01_01/packages/ti/ipc/tests that does exactly what I want (ARM send command to DSP0, then sends it around to the other DSPs).

My Setup:

  • CCS v7.1.000016
  • Processor SDK Linux RT K2HK EVM 03.03.00.04
  • Processor SDK RTOS K2HK 3.03.00.04
  • EVM K2H loaded with stock images from Processor SDK Linux RT K2HK EVM 03.03.00.04

I am running the example by loading all DSPs with the same image using mpmcl (reset, load, run), and then running MessageQApp.

If I compile the test using the build files via the CLI ("make ipc_bios" when in the directory ~/ti/processor_sdk_rtos_k2hk_3_03_00_04) and load it everything works fine (executable is placed in ipc_3_44_01_01/packages/ti/ipc/tests/bin/ti_platforms_evmTCI6638K2K_core0/dual_transports.xe66).

If I build the project via CCS following the steps below, DSP core 0 and the ARM never establish a connection (MessageQApp sits waiting to open CORE0 queue, and DSP0 just waits for message from ARM).  I didn't see a project to import to CCS like some of the others (even created all examples via the pdk's pdkProjectCreate.sh script).

  • Create an empty RTSC project in CCS
    • Devive set to "TCI6636K2H"
    • Compiler is "TI v8.1.3"
    • Target is "ti.targets.elf.C66"
    • Platform is "ti.platforms.evmTCI6636K2H"
    • Build-profile is "release"
    • XDCtools changed to 3.32.1.22_core (3.50.1.12_core won't build)
    • Products selected
      • IPC (3.44.1.01)
      • SYS/BIOS (6.46.4.53)
      • k2hk PDK (4.0.5)
      • TARGET_CONTENT_BASE (ccs_base)
  • Copy the files from the example to my project
    • dual_transports.c
    • dual_transports.cfg
    • messageq_common.cfg.xs
  • Build (I get warnings about depreciated tci6638.NotifyCircSetup and ti.ipc.family.tci6638.Interrupt, but it compiles to dual_transports.out)
  • Copy the file to board and run vai mpmcl (reset, load, run) on all DSP cores
  • Run "MessageQApp" (was installed in /usr/bin on the filesystem by default)

I've also tried changing the device to TCI6638K2K" and the Platform to "ti.platforms.evmTCI6638K2K" based on output I see when I compiled via make.  This gives the same result.

What am I missing to get this project to build in CCS?  I'm trying to model my real code after this example and would like the example to work in CCS (because that's where I'm developing my code).