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
Using ST's USB middleware on Chibios
- 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
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
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
Re: Using ST's USB middleware on Chibios
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
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
- 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
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
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
Who is online
Users browsing this forum: No registered users and 36 guests