Some typical issues related to the management of a coprocessor are listed below. Solutions or debugging methods are proposed for these issues.
If your issue is not listed, try looking at in the articles in the Category:Coprocessor management Linux, or troubleshooting grids categories.
1. firmware loading and control[edit source]
Symptom | Resolution |
---|
2. Inter processor communication[edit source]
Symptom | Resolution |
---|---|
Deadlock in OpenAMP during IP communication withe the main processor. |
rpmsg_virtio_rx_callback and rpmsg_virtio_send_offchannel_raw (rpmsg_virtio.c) are using the lock in rpmsg_device struct when they access to the index of the virtio queue index. Theses functions have to not be used in interrupt context, to avoid a double mutex lock between the normal and interrupt contexts. |
Linux kernel trace: stm32-ipcc 4c001000.mailbox: Try increasing MBOX_TX_QUEUE_LEN
|
This message occurs when the Linux generates an overflow on the IPCC mailbox, which is used to inform the co-processor than a new RPMsg is available. This should not affect the transfer as RPMsg are not discarded but should be interpreted as the coprocessor reachs its capacity to treat the received messages in time. |
Linux kernel trace: timeout waiting for a tx buffer |
This message means that there is no more TX buffer available to transmit a message to the remote processor.
on coprocessor (refer toIPCC_internal_peripheral for detail on the peripheral).
the coprocessor firware is busy, freeze, or crashed. |
Linux kernel trace: No memory for tty_prepare_flip_string |
This message means that there is no more space in the TTY temporary buffer in reception. The root cause is probably that the Linux application does not read the tty device in time to treat the incoming tty stream. |