Problem in bidirectional IPC comunication with C2000
12 views (last 30 days)
I'm trying to use IPC with TI C2000 Delfino F28379D Launch pad, following the example in documentation.
1) Starting form it (Ref IPC example), I can run
WORKING_00_c2837xd_ipc_cpu2_ORIGINAL on CPU 1 in Build mode
WORKING_00_c2837xd_ipc_cpu2_ORIGINAL on CPU2 in External mode
withou any problem receiving (scalar and vector) in the correct way on CPU2.
2) Then I "swapped" some blocks from the two model in order to have some data flowing from CPU2 to 1, so I kept
- Channel 0 and 1 sending scalar data to CPU2
- Channel 3 sending vector data to CPU2
- Channel 2 sends vector from CPU2 to CPU1
- Channel 4 sends scalar from CPU2 to CPU1
I test running (sending data from CPU1 to CPU2 and viceversa but looking results on CPU2)
NOTWORKING_00_c2837xd_ipc_cpu1_PartialSWAP on CPU 1 in Build mode
NOTWORKING_00_c2837xd_ipc_cpu2_PartialSWAP on CPU2 in External mode
and I get correct values on CPU2 (changing values even it seem to have some repetition pattern).
3) unfortunately If I run (sending data from CPU1 to CPU2 and viceversa but looking results on CPU1)
NOTWORKING_00_c2837xd_ipc_cpu2_PartialSWAP on CPU2 in Build mode
NOTWORKING_00_c2837xd_ipc_cpu1_PartialSWAP on CPU 1 in External mode
Scalar are receved on CPU1 correctly
BUT vector data receved on Channel 2 are strange non-sense number!
4) if I change vector sent on channel 2 (CPU2) to a scalar, I receive CORRECT data on CPU1.
I replicated the problem in similar model, I can't succed in having vector to and from different CPUs. Where I'm wrong?
Any Suggestion is welcome
Michael Zauner on 27 Apr 2021
I had a very similar problem to what you described with your IPC communication and vectors.
I am using Matlab 2021a, and when I upgraded the "Embedded Coder Support Package for Texas Instruments C2000 Processors" Toolbox to Version 21.1.1 the problem went away.
Don't forget to setup your toolbox after the upgrade and use the correct CCS version!
I have a quesiton about IPC Transmit and IPC Recevie. So, After creating separate models for both IPC Transmit and IPC Receive in Simulink, how do I upload them to the TMS320F28379D Board at the same time?