When working at home I connect my work laptop to my router and then use my desktop as a terminal over RDP. On my desktop (currently running Ubuntu 18.04) I use the xfreerdp command-line tool from the FreeRDP-project and this setup has been working quite well for a while …
When running multiple tasks simultaneously on an embedded system using cooperative task scheduling you might run into situations (at least I did 😁) where these tasks might need to access the same hardware peripheral. Not all peripherals can be shared easily due to their configuration or some other kind of internal …
Recently I was working on a project using a SiLabs EFM8 LaserBee microcontroller. These parts have a very rich set of peripherals and come at a rather low price.
When implementing communication with a host over UART I stumbled upon on issue with the UART1's FIFO: to relax timing requirements …