<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>MCUXpresso General中的主题 Re: Multi Processor RPMSG Communication Failure</title>
    <link>https://community.nxp.com/t5/MCUXpresso-General/Multi-Processor-RPMSG-Communication-Failure/m-p/1516387#M4692</link>
    <description>&lt;P&gt;Thanks for the question.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am writing between 8 and 18 bytes in a single write.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Tyler&lt;/P&gt;</description>
    <pubDate>Fri, 02 Sep 2022 15:17:45 GMT</pubDate>
    <dc:creator>tgrubb_sancsoft</dc:creator>
    <dc:date>2022-09-02T15:17:45Z</dc:date>
    <item>
      <title>Multi Processor RPMSG Communication Failure</title>
      <link>https://community.nxp.com/t5/MCUXpresso-General/Multi-Processor-RPMSG-Communication-Failure/m-p/1505220#M4671</link>
      <description>&lt;P&gt;Having an intermittent issue with multiprocessor RPMSG communication between Linux and M4.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;DART-MX8M-MINI&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;MCUXpresso 2.8.0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;M4 side:&lt;/P&gt;&lt;P&gt;- FreeRTOS&amp;nbsp;&lt;/P&gt;&lt;P&gt;- NXP RPMSG Lite&lt;/P&gt;&lt;P&gt;- Creates RPMSG endpoint 35&lt;/P&gt;&lt;P&gt;- RPMSG receive task receives a message, processes the message, sends a response, repeat&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;A53 (Linux) side:&lt;/P&gt;&lt;P&gt;- Uses imx_rpmsg_tty driver&lt;/P&gt;&lt;P&gt;- RPMSG endpoint connected to ttyRPMSG35&lt;/P&gt;&lt;P&gt;- C program opens ttyRPMSG35 and gets a file descriptor&lt;/P&gt;&lt;P&gt;- C program then writes an RPMSG to the file descriptor and awaits a response&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This process of sending RPMSG from Linux to M4 fails occasionally and cannot be recovered without power cycling the device.&lt;/P&gt;&lt;P&gt;Once in the errored state, activity can still be seen through the serial port on the M4, so the M4 is still running. However, the C program on the Linux side will get an error (timeout) when trying to write() to the&amp;nbsp;ttyRPMSG35 file descriptor and it will get a 0 bytes response when trying to read() from the file descriptor.&lt;/P&gt;&lt;P&gt;Once in the errored state, from the Linux side, dmesg shows:&lt;/P&gt;&lt;P&gt;"imx_rpmsg_tty virtio0.rpmsg-virtual-tty-channel-1.-1.35: timeout waiting for a tx buffer"&lt;/P&gt;&lt;P&gt;"imx_rpmsg_tty virtio0.rpmsg-virtual-tty-channel-1.-1.35: rpmsg_send failed: -512"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Let me know what other information I can provide to help debug this issue.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Has anyone else experienced this or can offer any suggestions?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Aug 2022 21:33:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-General/Multi-Processor-RPMSG-Communication-Failure/m-p/1505220#M4671</guid>
      <dc:creator>tgrubb_sancsoft</dc:creator>
      <dc:date>2022-08-11T21:33:25Z</dc:date>
    </item>
    <item>
      <title>Re: Multi Processor RPMSG Communication Failure</title>
      <link>https://community.nxp.com/t5/MCUXpresso-General/Multi-Processor-RPMSG-Communication-Failure/m-p/1515998#M4691</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/204972"&gt;@tgrubb_sancsoft&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope you are doing well.&lt;/P&gt;
&lt;P&gt;How much characters you are sending in single write?&lt;/P&gt;
&lt;P&gt;Thanks &amp;amp; Regards&lt;/P&gt;
&lt;P&gt;Sanket Parekh&lt;/P&gt;</description>
      <pubDate>Fri, 02 Sep 2022 05:43:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-General/Multi-Processor-RPMSG-Communication-Failure/m-p/1515998#M4691</guid>
      <dc:creator>Sanket_Parekh</dc:creator>
      <dc:date>2022-09-02T05:43:11Z</dc:date>
    </item>
    <item>
      <title>Re: Multi Processor RPMSG Communication Failure</title>
      <link>https://community.nxp.com/t5/MCUXpresso-General/Multi-Processor-RPMSG-Communication-Failure/m-p/1516387#M4692</link>
      <description>&lt;P&gt;Thanks for the question.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am writing between 8 and 18 bytes in a single write.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Tyler&lt;/P&gt;</description>
      <pubDate>Fri, 02 Sep 2022 15:17:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-General/Multi-Processor-RPMSG-Communication-Failure/m-p/1516387#M4692</guid>
      <dc:creator>tgrubb_sancsoft</dc:creator>
      <dc:date>2022-09-02T15:17:45Z</dc:date>
    </item>
    <item>
      <title>Re: Multi Processor RPMSG Communication Failure</title>
      <link>https://community.nxp.com/t5/MCUXpresso-General/Multi-Processor-RPMSG-Communication-Failure/m-p/1516696#M4696</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/204972"&gt;@tgrubb_sancsoft&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for the response.&lt;/P&gt;
&lt;P&gt;Once your A-side TX buffers are exhausted, RPMSG will fall asleep for 15 seconds… I guess you see just that, not complete death of RPMSG but this 15 seconds pause.&lt;/P&gt;
&lt;P&gt;How to not unexpectedly waste your buffers and so not face this 15 seconds pause. Having a lot of data to send, don’t sent a byte or few bytes at a time. Instead send as much as you can up to 496 bytes at a time in one write() call. 496 comes from max buffer size 512 minus 16 bytes for RPMSG header. Both sides, Cortex-A and -M should follow this rule. One transfer triggers one interrupt. High interrupt rate is performance killer for every CPU. Sending by single byte instead of burst of bytes you multiply interrupt events. Interrupt rate is not so big problem for Cortex-M, but there are delivery to CM interrupts which are sent back to CA.&lt;/P&gt;
&lt;P&gt;Thanks &amp;amp; Regards&lt;/P&gt;
&lt;P&gt;Sanket Parekh&lt;/P&gt;</description>
      <pubDate>Mon, 05 Sep 2022 03:54:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-General/Multi-Processor-RPMSG-Communication-Failure/m-p/1516696#M4696</guid>
      <dc:creator>Sanket_Parekh</dc:creator>
      <dc:date>2022-09-05T03:54:40Z</dc:date>
    </item>
  </channel>
</rss>

