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.

OMAPL138B-EP: IPC ex02_messageq

Part Number: OMAPL138B-EP

Hi,

Board: OMAPL138LCDK

SDK:06_03_00_106

ARM: linux DSP: sys/bios

The arm can test successfully as a writer, now customer want to relocate writer to DSP, but the arm cannot receive message.

The arm and dsp each created MessageQ_handle, and then the open function () is called by the dsp, and the get function is called by the arm, but the arm end has been waiting.

DSP:

 

ARM:


Arm output waiting....
  • Hi,

    Just to clarify, when your customer built and ran the built-in example ex02_messageq in the Processor-SDK, there was no problem, right? I will look into this but it will likely take some time. Friday is a TI holiday. I should be able to get back to you next week.

    Regards,

    Jianzhong

  • Yes, he built and ran the example ex02_messageq successfully.

  • Thank you for confirmation. I'll get back to you later this week.

  • The arm can test successfully as a writer, now customer want to relocate writer to DSP, but the arm cannot receive message.

    Hi Nancy,

    I looked through the IPC example ex02_messageq which runs the following way:

    1. During Linux kernel booting, DSP image is downloaded and starts running on DSP core:
      1. it creates a slave message queue,
      2. then it waits on MessageQ_get() indefinitely.
    1. When ARM core (host) application runs,
      1. it creates a host message queue,
      2. then it opens the slave message queue created on the DSP.
    1. ARM and DSP start exchanging messages using both host and slave message queues.

    I don't know how your customer runs their application. If the host runs on the DSP core, then a slave message queue needs to be created on the ARM core before DSP core can open it. If the slave message queue creation and opening are out of order, you'll definitely run into problems.

    Regards,

    Jianzhong

  • Hi,

    DSP should always be in the do-while loop and continue to call the open function, if the slave message queue creation and opening are out of order,
    and the ARM subsequently created a slave queue. DSP should be able to open successfully finally.