You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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)
The text was updated successfully, but these errors were encountered:
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).
Mutex<RefCell<Option<Uart>>>
)Option<u8>
) and make it interrupt driven.Option<u8>
with some kind of heapless queueQEMU probably makes sense (assuming the simulated UART has working interrupts and FIFO and DMA)
The text was updated successfully, but these errors were encountered: