Using ST's USB middleware on Chibios

Discussions and support about ChibiOS/HAL, the MCU Hardware Abstraction Layer.
Al B
Posts: 24
Joined: Thu Jun 09, 2016 4:01 am
Been thanked: 2 times

Using ST's USB middleware on Chibios

Postby Al B » Thu Jul 28, 2016 10:56 pm

Hi,

ST has an extensive set of USB Host and Device Classes implemented, and they appear to be working and well done (although I have not verified this).

Has anyone ported or considered porting this library to Chibios? I couldn't find much in my searching of this forum, hence my post.

In looking at it there seems to be a fairly well defined interface between ST USB library and ST HAL/LL through a PCD (Peripheral Control driver) layer. In looking at this, the ST HAL functions called seem to map pretty well to the Chibios HAL usb/usb_lld/OS interfaces.

The way I see it, this would provide a very extensive set of new capabilities to Chibios, and build on Chibios high quality HAL layer and OS.

Thoughts or suggestions appreciated.

Thanks
Al

User avatar
Giovanni
Site Admin
Posts: 14457
Joined: Wed May 27, 2009 8:48 am
Location: Salerno, Italy
Has thanked: 1076 times
Been thanked: 922 times
Contact:

Re: Using ST's USB middleware on Chibios

Postby Giovanni » Fri Jul 29, 2016 7:49 am

Hi,

In the past several developers integrated the ST USB stack with ChibiOS, both device and host. Note that we have an USB host implementation already, not official yet but with good feedback.

I don't know how well defined those interfaces really are but I prefer to stick with our USB LL implementation. On the other hand having ChibiOS/RT working with ST HAL would be nice but I have yet to find clear RTOS interfaces there, something like OSAL.

Giovanni

Al B
Posts: 24
Joined: Thu Jun 09, 2016 4:01 am
Been thanked: 2 times

Re: Using ST's USB middleware on Chibios

Postby Al B » Fri Jul 29, 2016 9:16 pm

Hi Giovanni,

In terms of using ST's HAL entirely and only Chibios OS/RT, that is NOT what I was considering, but if you look at ST's interfaces for FreeRTOS.
It is a pretty thin interface, so likely would not be a huge effort.

However in my opinion, the value of Chibios is in its HAL plus RT, so I was also considering to stick with Chibios LL HAL implementations.
i.e. using full Chibios RT, sdc.c, usb.c, malloc, LL, etc. to support their STM32_USB_Host_Library and STM32_USB_Device_Library implementations of CDC, HID, MSC, Audio, DFU, MPT ...

Their USB middleware library seems to be of high quality, stable and extensive.
I did a inspection between their Jun 2014 v2.2.0 and Dec 2015 v2.4.2 for MCS and CDC and there were only 3 minor enhancements that I spotted.
Now I realize that could mean that they don't support it very well, but it doesn't seem that way since they continue to roll out different processors using it or slightly improved versions of this middleware.

Going this ST middleware/Chibios HAL/OS route I think would add significantly to Chibios, particularly DEVICE MSC / HID in addition to existing CDC.

Pointers to others that may have considered this route would be appreciated.

Thanks,
Al

User avatar
Giovanni
Site Admin
Posts: 14457
Joined: Wed May 27, 2009 8:48 am
Location: Salerno, Italy
Has thanked: 1076 times
Been thanked: 922 times
Contact:

Re: Using ST's USB middleware on Chibios

Postby Giovanni » Fri Jul 29, 2016 9:45 pm

It would interesting to try to put the middleware on top of HAL drivers if it is such a good thing. I doubt it would be an easy adaption, the interface are quite different even conceptually.

Note that MSC and HID have been implemented already, there are demos posted here on the forum. HID is not a big deal, it is mostly defined by the application.

Giovanni


Return to “ChibiOS/HAL”

Who is online

Users browsing this forum: No registered users and 36 guests