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.

DRA726: MessageQ Error

Part Number: DRA726

I am testing my CMEM support app between DSP1, IPU1 and Linux and get an error message the first time I run the code

I had an error in the HOST code so I fixed it. I made a few changes in both the DSP and IPU1 code and copied the files on the target

I then rebooted.

On the DSP I do not do much at this point except for the close message. I just got it for the ride right now so I don't get errors on boot not finding the firmware for DSP1

On IPU1 I get this trace

root@actia-gd:~# cat /sys/kernel/debug/remoteproc/remoteproc0/trace0
[0][      0.000] Watchdog disabled: TimerBase = 0x68824000 ClkCtrl = 0x6a005568
[0][      0.000] Watchdog disabled: TimerBase = 0x68826000 ClkCtrl = 0x6a005570
[0][      0.000] 19 Resource entries at 0x3000
[0][      0.000] [t=0x000eefbd] xdc.runtime.Main: --> main:
[0][      0.000] registering rpmsg-proto:rpmsg-proto service on 61 with HOST
[0][      0.000] [t=0x09b960ef] xdc.runtime.Main: NameMap_sendMessage: HOST 53, port=61
[0][      0.000] Watchdog disabled: TimerBase = 0x68824000 ClkCtrl = 0x6a005568
[0][      0.000] Watchdog disabled: TimerBase = 0x68826000 ClkCtrl = 0x6a005570
[0][      0.000] [t=0x09bdec2d] xdc.runtime.Main: --> smain:
[0][      0.000] [t=0x09c0f68b] Server: Server_create: server is ready
[0][      0.000] [t=0x09c1f29f] Server: <-- Server_create: 0
[0][      0.000] [t=0x09c2b8b7] Server: --> Server_exec:
[0][     74.054] [t=0x00000007:152ef551] ti.sdo.ipc.MessageQ: ERROR: line 596: assertion failure: A_unregisteredTransport: transport is not registered
[0][     74.054] ti.sdo.ipc.MessageQ: line 596: assertion failure: A_unregisteredTransport: transport is not registered
[0][     74.054] xdc.runtime.Error.raise: terminating execution
r

After another reboot I get this

root@actia-gd:~# cat /sys/kernel/debug/remoteproc/remoteproc0/trace0
[0][      0.000] Watchdog disabled: TimerBase = 0x68824000 ClkCtrl = 0x6a005568
[0][      0.000] Watchdog disabled: TimerBase = 0x68826000 ClkCtrl = 0x6a005570
[0][      0.000] 19 Resource entries at 0x3000
[0][      0.000] [t=0x000ef74b] xdc.runtime.Main: --> main:
[0][      0.000] registering rpmsg-proto:rpmsg-proto service on 61 with HOST
[0][      0.000] [t=0x01aa40c3] xdc.runtime.Main: NameMap_sendMessage: HOST 53, port=61
[0][      0.000] Watchdog disabled: TimerBase = 0x68824000 ClkCtrl = 0x6a005568
[0][      0.000] Watchdog disabled: TimerBase = 0x68826000 ClkCtrl = 0x6a005570
[0][      0.000] [t=0x01aec239] xdc.runtime.Main: --> smain:
[0][      0.000] [t=0x01b1be01] Server: Server_create: server is ready
[0][      0.000] [t=0x01b2afdf] Server: <-- Server_create: 0
[0][      0.000] [t=0x01b36f47] Server: --> Server_exec:

Is it likely to be the case everytime I change the code? What would be the cause of the failure?

Michel Catudal

ACTIA Corp

  • SDK version ? Have you changed any software ? Please provide patches and/or application code.

    Regards

    Vineet

  • Vineet,

    My yocto is based on the yocto used in SDK 3.04 but using Poky. I use arago's recipes that I need.

    What software are you talking about? It is a custom board, not a TI EVM.

    The test program is based on ex02_messageq example with changes to support CMEM. As I explained in my message, it worked but not the first time.

    The goal is that once the communication between the core works and I can use CMEM for my circular buffers, to add support for 3 external CAN from Microchip.

    The said CAN do not have the main interrupt connected to the DRA726 so I have the choice to either do polling or enable the different interrupt  lines that are connected to the DRA726

    Michel Catudal

    ACTIA Corp.

  • Hi Michel,

    It is not expected to see this error from MessageQ. Are you still facing this issue?

    This error indicates that the MessageQ module is unable to locate a registered transport. Between Linux and BIOS cores TransportRpmsg is supported. The transport for TransportRpmsg is done as part of IpcMgr_ipcStartup, called as a startup function in the ex02_messageq example.

    I noticed in the timestamp that the error comes much later after startup, during MessageQ_put. Is some test triggered during this time? Is that the first time MessageQ_put is called? Do you see error with un-modified ex02_messageq, or only with the updated one?

    Thanks,

    Angela

  • Angela,

    I couldn't use the original one since it conflicts with ipumm with IPU2 and there is no DSP2.

    I haven't seen this yet since my last modifications.

    I did have a test with something almost like it (with IPU2 and DSP2 removed)

    One thing I have noticed is that DSP1 doesn't respond and the code for both DSP1 and IPU1 even when the code of both are almost identical

    How do I find out where the problem is for DSP1?

    I will get back later on this today or tomorrow and show some log.

    I have an emergency right now, kernel support for LCD replacements for our custom boards.

    Michel Catudal

    ACTIA Corp

  • Hi Michel,

    Thanks for the update.

    Yes, please share any logs that you have. The remote core logs as well as the LAD logs and any test app logs will be useful.

    As for debugging the DSP1 issue, here is a document that discusses debugging tools and techniques:

    Thanks,

    Angela

  • Angela,

    Thanks. I plan on moving from user/m4 communication to kernel/m4 communication. Which document would I need to look at for this?

    I am writing code for some external CAN from Microchip and would like to have a linux kernel module that would get the information from the Cortex M4

    Michel Catudal

    ACTIA Corp

  • Hi Michel,

    The method generally recommended for IPC is for User-space to remote core communication via IPC3.x (MessageQ API). For an example of usage in kernel-space, you can check the information here https://processors.wiki.ti.com/index.php/RPMsg_Kernel_Client_Application to see if it helps.

    But regarding the original issue, can you please provide summary of what issue you are still facing? And any associated logs? 

    Thanks,

    Angela