intermittent missing newline in UART output during PLL init #49

Open
opened 2020-07-20 19:49:42 +08:00 by sb10q · 6 comments
[     0.028013s] DEBUG(libboard_zynq::clocks::source): Set ARM_PLL to 1600000000 Hz
[     0.009565s] DEBUG(libboard_zynq::clocks::source): Set IO_PLL to 1000000000 Hz[     0.016701s] DEBUG(libboard_zynq::clocks::source): Set DDR_PLL to 1333333332 Hz
[     0.024161s] DEBUG(libboard_zynq::ddr): DDR 3x/2x clocks: 666666660/444444440
[     0.031279s] DEBUG(libboard_zynq::ddr): DDR DCI clock: 10582010 Hz
```text [ 0.028013s] DEBUG(libboard_zynq::clocks::source): Set ARM_PLL to 1600000000 Hz [ 0.009565s] DEBUG(libboard_zynq::clocks::source): Set IO_PLL to 1000000000 Hz[ 0.016701s] DEBUG(libboard_zynq::clocks::source): Set DDR_PLL to 1333333332 Hz [ 0.024161s] DEBUG(libboard_zynq::ddr): DDR 3x/2x clocks: 666666660/444444440 [ 0.031279s] DEBUG(libboard_zynq::ddr): DDR DCI clock: 10582010 Hz ```

Most probable reason:

  • we wait for the UART TX FIFO to be flushed
  • now the last byte ('\n') is in transmission
  • we reset the UART because we just reconfigured the IO PLL
  • the last byte isn't being fully transmitted

Add a delay? Add another dummy byte?

Most probable reason: - we wait for the UART TX FIFO to be flushed - now the last byte ('\n') is in transmission - we reset the UART because we just reconfigured the IO PLL - the last byte isn't being fully transmitted Add a delay? Add another dummy byte?
Poster
Owner

Delay would be ok - I suppose the transmission time is deterministic.

Delay would be ok - I suppose the transmission time is deterministic.
astro was assigned by sb10q 2020-08-13 15:46:22 +08:00

Although I cannot reproduce the problem right now, b268fe015a should fix it for everyone.

Can you confirm?

Although I cannot reproduce the problem right now, b268fe015af2f100aaad470d6c6b4a3ab0f8bb82 should fix it for everyone. Can you confirm?

I still encounter this occasionally.

I still encounter this occasionally.
Poster
Owner

Happened on the NIST board as well.

Happened on the NIST board as well.

I haven't seen this in a while. Is it always happening to you when the IO PLL is reconfigured, or should we look for something else?

I haven't seen this in a while. Is it always happening to you when the IO PLL is reconfigured, or should we look for something else?
Sign in to join this conversation.
No Label
No Milestone
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: M-Labs/zynq-rs#49
There is no content yet.