0

I am running multiple applications on a cortex armv7 CPU running Linux. All running apps are C++ embedded. my std::cout (and printf) are outgoing to my serial COM.

Occasionally I have noticed that after a while, the COM port will be blank. I am able to connect and disconnect but will always see the black screen. I am also able to disconnect the USB cable and reconnect but will again see the black screen.

Only when I press "CTRL C" inside the screen I see my prints again. Attached is a photo containing my running apps CPU % and Mem % showing that no ONE app is jamming up the UART line.

Note: I am running a dual CPU meaning I can have up to 200% of CPU usage.

enter image description here

I am printing once every 100 [mS]

Any idea why the COM would suddenly freeze? Any idea where I can start to check?

Nic3500
  • 8,144
  • 10
  • 29
  • 40
  • Sounds like it is freezing because of a bug in the code... Also like always, check silicon errata for known hardware bugs. – Lundin Jun 02 '23 at 11:05
  • Not sure what this screen print is, I do not see cpu or mem % data in there... Without code we can't do much, see [mcve]. – Nic3500 Jun 02 '23 at 14:54
  • My guess is data you're sending is triggering software flow control XON/XOFF (https://en.wikipedia.org/wiki/Software_flow_control). If you're sending binary data, then you need to escape these characters – Russ Schultz Jun 02 '23 at 22:14

0 Answers0