Hi,
Based on the multicore message demo program provided in ipc package(1.22.03.23),
I try to implement data transferring between cores of c6678evm. In my application, core0
has 2 tasks, one task create the messageQ and looped to read message from the queue,
the other task of core0 run application as well as core1 to produce output data and then put
the message to the queue.
When I test the message queue subsystem isolately, it can work correctly. But after I
insert my application code, tast0 of core0 can only get the message send by task1 of core0.
And then it is blocked by the function:
status = MessageQ_get(messageQ, &msg, MessageQ_FOREVER);
From the console of core1, I can see that the message has been generated by core1 and
send out successfully. And also, I find that after I uncomment one "memcpy" in my application,
core0 can get the message send by core1 then . The memory copy is from 0x90200000(DDR3)
to 0x00844048(L2SRAM) with size is 0x80C. And I observed from ROV that the Ipc msgQ
address is 0x00848a88. And the reply queue address of core0 is 0x00848b80, the reply queue
address of core1 is 0x00844a08. So I wonder what is the possible reason that cause core0 can
not get the message send by core1 correctly? How can I debug this issue?
Thanks a lot!
B.R.
Sunzhao