Open
Description
I'd like to see an exercise for building a fully buffered, interrupt-driven UART, as an extension to the UART exercise.
We should probably do this on a Cortex-M target, as interrupt handling on Cortex-R is not as well handled (the interrupt controllers aren't standardised, and we don't have good drivers for them).
- Make a blocking UART (existing exercise)
- Make it global (needs to be
Mutex<RefCell<Option<Uart>>>
) - Give it a one-byte buffer (an
Option<u8>
) and make it interrupt driven. - Replace the
Option<u8>
with some kind of heapless queue - Use a bbqueue and DMA the data into the UART rather than copying a byte at a time
- Set up a second UART
QEMU probably makes sense (assuming the simulated UART has working interrupts and FIFO and DMA)
Metadata
Metadata
Assignees
Labels
No labels
Activity