cancel
Showing results for 
Search instead for 
Did you mean: 

USB Video Class device on L4 HAL library

dgiovanelli
Associate III

Hello,

I'm working on a DCMI to USB Video Class Device converter for a project of my organization. The image sensor is a ultra low power custom design grayscale level with 640x480 resolution (8 bit per pixel).

The DCMI acquisition is working and now I'm moving into the USB development.

I want to clarify that I'm aware of the bandwidth limitation of the embedded USB FS PHY, however for now, few frames per second are enough, moreover I might consider to down sample the image in order to increase the frame rate.

I found a github project holding an implementation of the USB Video Class Device for the STM32F4, I just turned it into makefile project (originally it was for IAR toolchain) and it works, which means that it streams a fixed image at low frame rate (8fps if I'm not wrong). This project is based on the Standard Peripheral Library for the F4 family.

For RAM constraints I'm not using the f407, but the STM32L496 (however I might switch to another MCU if needed), then, to make the USB Video Class work, what I would probably need to do is porting the USB Video Class Device from the abandoned SPL to the new HAL, and then move it from F4 to L4.

I don't have much experience in USB development and this task might be a pain, even if I start from a working example. What I ask you is some suggestion on how to address this.

Does ST provide training material to develop a new USB Cass on top of HAL? I went through some general overview of the USB protocol, however as you know, moving from a theoretical description to real development is not trivial.

Alternatively, can I run the the SPL (for the USB) while simultaneously I run the HAL for the other peripherals? And eventually, does an SPL implementation exists for the L4 family?

I'm also considering the SPL2LL Converter, however in the docs the USB seems not to be supported.

Thank you,

Davide.

1 ACCEPTED SOLUTION

Accepted Solutions
KnarfB
Principal III

Take a look at a more recent implementation using HAL: https://github.com/duvitech/ST-NUCLEO-F429ZI-CAM

View solution in original post

2 REPLIES 2
KnarfB
Principal III

Take a look at a more recent implementation using HAL: https://github.com/duvitech/ST-NUCLEO-F429ZI-CAM

dgiovanelli
Associate III

Great! That was exacting what I was looking for. Thank you.