USB support
Offer support for USB device and host.
Define a coherent USB HAL + a reference driver. Rp2040 or SAM3x seem good candidates.
The USB HAL would ideally make a TinyUSB port to picoRTOS easy
After studying the problem, here are a few options.
Option 1 is to do nothing and people who want usb support have to use tinyusb, which provides its own drivers. Maybe a port to picoRTOS must be done in a similar fashion it's been made for FreeRTOS.
This is mildly satisfying as tinyusb is almost an OS in itself and the requirements differ by a lot, but people using any external source should be aware it taints the system and code safety is not warrantied anymore.
Another option is cherryusb, the problem is now memory allocation and the extensive use of libc functions.
The last option would be to take cherryusb as a reference model, as it's more of a stack than a complete system, and develop our own stack and Hal accordingly.
This seems a little out of scope for the system and hard to maintain as a non specialist.