PINE64
[Article] Fixed the UART Interrupt and Platform-Level Interrupt Controller (Ox64) - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: General (https://forum.pine64.org/forumdisplay.php?fid=1)
+--- Forum: General (https://forum.pine64.org/forumdisplay.php?fid=74)
+--- Thread: [Article] Fixed the UART Interrupt and Platform-Level Interrupt Controller (Ox64) (/showthread.php?tid=18935)



[Article] Fixed the UART Interrupt and Platform-Level Interrupt Controller (Ox64) - lupyuen - 12-09-2023

Last week we walked through the Serial Console for Pine64 Ox64 BL808 64-bit RISC-V Single-Board Computer. And we hit some illogical impossible problems on Apache NuttX RTOS (Real-Time Operating System)...

(1) Console Input is always empty. (Can’t enter any Console Commands)
(2) Interrupt Claim is forever 0. (Ox64 won’t tell us which Interrupt was fired!)
(3) Leaky Writes are mushing up adjacent Interrupt Registers. (Or maybe Leaky Reads?)

Today we discover the One Single Culprit behind all this rowdy mischief: Weak Ordering in the MMU! (Memory Management Unit)

Here’s how we solved the baffling mystery:
Fixed the UART Interrupt and Platform-Level Interrupt Controller (Ox64 BL808)

Lup