fsantanna wrote:Looks impressive!
Do you have test applications for any of these devices?
(I have to admit that I don't know where to start.)
Thanks! First I have to say that for the mass storage devices and the Ethernet controller USPi provides the basic device access on sector or frame level only. You need a separate file system driver or network stack to use it. Once you have an USB host controller driver it doesn't take so much time to write a function driver for a specific device. That's why it can support these devices.
Unfortunately there are currently no test applications to be included in the release. I have tested it with Circle (also recently mentioned in this forum) which provides a C++ environment but also has its own USB driver stack. So it makes not much sense to use it further with USPi.
To start you should first develop some basic functions (frame buffer support, memory allocation, interrupt and timer support). The required functions are declared in the file include/uspios.h. That takes time but it may be fun to get it all running.
I read more then once in this forum that there are ready self-made OS kernels out there which should get USB support. I think this is where USPi could be used well.
Perhaps we will think about making the start easier with it but this will take time and it is not clear what will be the result.