Hi,
I was run srioIpcChipToChipExample example code,but have below warning message:
[C66xx_2] ti.sdo.ipc.family.c647x.MultiProcSetup: line 62: assertion failure: A_invalidProcessor: This core is not present in the MultiProc name list
[C66xx_2] xdc.runtime.Error.raise: terminating execution
[C66xx_3] ti.sdo.ipc.family.c647x.MultiProcSetup: line 62: assertion failure: A_invalidProcessor: This core is not present in the MultiProc name list
[C66xx_3] xdc.runtime.Error.raise: terminating execution
and I can't receiver producr message.
CCS: 5.0.3
BIOS:bios_mcsdk_02_00_04_16_setupwin32
MCSDK:pdk_C6670_1_0_0_16
Can you tell me why?
Thank You.
Best Best Regards.
Your logs indicate that you are executing the code on Core 2 and Core 3,. This demo is specifically built to run on Core 0 and Core 1.
You can refer the consumer/producer_srio.cfg file, "procNameList", to see how it is setup to run on CORE0 and Core1.
Please follow the README that comes in the same directory as this test and hopefully you should be able to quickly get this running.
Regards,
Varada
---------------------------------------------------------------------------------------------------------
Kindly click the Verify Answer button on this post, if it answers your question.
I have run the program, but board1 and board2 can't sync, have below messagr:
[C66xx_0] Local Core ("CORE0") starting
[C66xx_0] Local Core ID: 0
[C66xx_0] Global Core ID: 0
[C66xx_0]
[C66xx_0] -----------------------Initializing---------------------------
[C66xx_0] Core 0 : L1D cache size 4. L2 cache size 0.
[C66xx_0] Core 0 : Memory region 0 inserted
[C66xx_0] Port 0 did not initialize
[C66xx_0] Port 1 did not initialize
[C66xx_0] Port 2 is okay
[C66xx_0] Port 3 did not initialize
[C66xx_0] Core 0: SRIO Driver has been initialized
[C66xx_1] Local Core ("CORE1") starting
[C66xx_1] Local Core ID: 1
[C66xx_1] Global Core ID: 1
[C66xx_1] Core 1: Waiting for SRIO to be initialized.
[C66xx_1] Core 1: SRIO can now be used.
[C66xx_1] localQueueName=CORE1
[C66xx_1] remoteQueueName=CORE3
[C66xx_1] Core 1: tsk0 starting
[C66xx_0] localQueueName=CORE0
[C66xx_0] remoteQueueName=CORE2
[C66xx_0] Core 0: tsk0 starting
[C66xx_0] Global Core 0: Sending packets to an off-chip core.
[C66xx_0] Global Core 0 attempting to open remote board Queue CORE2
[C66xx_1] Global Core 1: Sending packets to an off-chip core.
[C66xx_1] Global Core 1 attempting to open remote board Queue CORE3
[C66xx_0] ti.sdo.ipc.heaps.HeapBufMP: line 619: E_noBlocksLeft: No more blocks left in buffer (handle = 0x845618, requested size = 112)
[C66xx_0] ti.sdo.ipc.nsremote.NameServerMessageQ: line 227: E_outOfMemory: MessageQ_alloc faild from heap: 0
[C66xx_0] ti.sdo.ipc.MessageQ: line 383: assertion failure: A_invalidMsg: Invalid message
[C66xx_0] xdc.runtime.Error.raise: terminating execution
[C66xx_1] ti.sdo.ipc.heaps.HeapBufMP: line 619: E_noBlocksLeft: No more blocks left in buffer (handle = 0x845618, requested size = 112)
[C66xx_1] ti.sdo.ipc.nsremote.NameServerMessageQ: line 227: E_outOfMemory: MessageQ_alloc faild from heap: 0
[C66xx_1] ti.sdo.ipc.MessageQ: line 383: assertion failure: A_invalidMsg: Invalid message
[C66xx_1] xdc.runtime.Error.raise: terminating execution
I currently do not have 2 EVMS to run this test. In the meanwhile, I shall loop in the experts for this "Out of memory" error.
Are you running the example project as is or did you modify it? This is the producer side, did the consumer start up without memory errors?
Also, how did you reboot the boards between attempting to run the examples? Try a hard reset of the board before running the example projects. Assuming you're using the c6670 Advantech EVM, you can do this by pressing the switch closest to the Ethernet port.
Justin
____________________Don't forget to verify answers to your forum questions by using the green "Verify Answer" button.
I just noticed that "Port 2 is okay" for you. Try rewiring your SRIO connections so that you use Port 0. I think the application requires Port 0 be used. If so, this may be why you're seeing the out of memory error. IPC keeps allocating buffers to send open queue messages to the remote device over Port 0. Since Port 0 is down the messages are dropped and not cleaned up correctly. This would result in an out of memory error.
Dear :
I also run the example code ,but one side of the DSP is C6670, and the other side is C6455
Whatever I run the Producer or the Consumer example , the four ports still can't initialize:
1.Could you tell me how to solve this problem?
2.Due to this example is based on message passing mode, did you have the direct IO type
example between Offchip communication?
Thanks a lot~
[C66xx_0] Local Core ("CORE0") starting[C66xx_0] Local Core ID: 0[C66xx_0] Global Core ID: 2[C66xx_0] [C66xx_0] -----------------------Initializing---------------------------[C66xx_0] Core 2 : L1D cache size 4. L2 cache size 0.[C66xx_0] Core 2 : Memory region 0 inserted[C66xx_1] Local Core ("CORE1") starting[C66xx_1] Local Core ID: 1[C66xx_1] Global Core ID: 3[C66xx_1] Core 3: Waiting for SRIO to be initialized.[C66xx_0] Port 0 did not initialize[C66xx_0] Port 1 did not initialize[C66xx_0] Port 2 did not initialize[C66xx_0] Port 3 did not initialize[C66xx_0] Core 2: SRIO Driver has been initialized[C66xx_1] Core 3: SRIO can now be used.
Best Regards,
W.T.
Spann,
1. I can't vouch for how the example will behave if you're attempting to run with something other than a c6670. The producer/consumer example delivered with the c6670 PDK is meant to be executed on two c6670 platforms. Likewise, the producer/consumer example delivered with the c6678 PDK is meant to be executed on two c6678 platforms.
2. The IPC SRIO transport was implemented using the Type 11 message passing configuration. The Direct I/O configuration of the SRIO LLD was not implemented.
Dear Justin:
Thanks for your reply, but I still have some questions:
1.Do you know why Port 0 can not initialize? And what settings may I try?
2. The version of SRIO in C6474 is RapidIO 2.1.1, in C6670 is RapidIO 1.2 ,
are they compatible and can communicate to each other?
3. If I don't consider the IPC SRIO transport,
but want to use Direct I/O mode to offchip communication,
I try to modify the SRIO_LoopbackDioIsrexample project-->device_srio_loopback.c --->
CSL_SRIO_SetLoopbackMode(hSrio, 0) to CSL_SRIO_SetNormalMode(hSrio,0),
but the program can't run successfully like the following:
Do you know what is wrong?
[C66xx_0] Executing the SRIO DIO example on the DEVICE[C66xx_0] Debug(Core 0): System Initialization for CPPI & QMSS[C66xx_0] Debug(Core 0): Queue Manager and CPPI are initialized.[C66xx_0] Debug(Core 0): Host Region 0x827a80
HI,
I have the same problems following:
[C66xx_0] ti.sdo.ipc.MessageQ: line 383: assertion failure: A_invalidMsg: Invalid message[C66xx_0] xdc.runtime.Error.raise: terminating execution
I want to QMSS with 8cores ,my chip is 6678 ,how did you resolve the problems of these?
thanks,
regards.