USB Mass Storage Device with HPS Stack

Hans Petter Selasky hselasky at
Thu May 1 18:24:04 UTC 2008

On Thursday 01 May 2008, Xiaofan Chen wrote:
> On Thu, May 1, 2008 at 12:30 AM, Hans Petter Selasky <hselasky at> 
> >  Try and find out. I know that many structures can be optimized for
> > minimal memory usage. Currently I reserve space for 128 USB devices and
> > 32 endpoints and interfaces. If you reduce those numbers then you will
> > save a lot of memory.
> I am a bit confused now. So your USB stack now can be used for
> Device side which does not require FreeBSD OS support. Is this
> true?

There you got it! My new USB stack is completely symmetric. You use the same 
callback API in USB Host mode and USB Device mode!

> I thought your device side stack is like Linux Gadget which runs
> some kind of Linux and then act as an usb function device (slave)
> to a USB host.

Nope, it is fully symmetric.

> I am getting two new USB development boards from Microchip,
> PIC24 16bit and PIC32 32 bit (MIPS based) USB, both with OTG, both
> will not be able to run FreeBSD or Linux or even uClinux due to memory
> constraint. I have the Olimex LPC-P2148 (ARM7 based) as well which
> could not run FreeBSD/Linux either.
> Do you think any of them can run your stack's device side?

With a little work it will not be a problem. You need to support mutexes and a 
few other things that are specific to USB.

> What is your test platform for your stack's device side? Does
> it run FreeBSD?


AT91RM9200 (KB9202B from Kwikbyte)


More information about the freebsd-usb mailing list