cancel
Showing results for 
Search instead for 
Did you mean: 

SBSFU integration with stm32f407g-disc1 (stm32f407vgt6u)

AArzo.1
Associate

Hello,

The mentioned board utilizes usb otg communication through the USB connector. DM and DP pins are PA11 and PA12 which are directly connected from the mcu to the USB connector (no available GPIO pins). There is no usart or uart connected to the DP and DM pins. Every SBSFU example including the most similar one - stm32F413H - uses usart/uart interface. For example the stm32F413H uses usart6 which is connected to the DP and DM pins.

Possible solutions (?) :

1) Swaping the uart interface with usb otg interface in sbsfu project;

2) Directly connecting USB DM and DP pins to one of the available usart/uart interfaces;

The first solution requires extra changes in the project files, by extra I mean, that the files that need to be updated are more than the mentioned default files in the documentation e.g. low level services files. And I dont know if this will not break anything else...

The second solution requires soldering the uart/usart GPIO (or the mcu) pins to the usb connector pins.

Are the solutions logical and potentially accomplishable? If not is there any other possible solutions that I could try out?

Respectfully,

Audris

1 ACCEPTED SOLUTION

Accepted Solutions
Bubbles
ST Employee

Hello @AArzo.1​ ,

I believe the best solution depends on what you want to accomplish in the end - if the final product will use a different interface (like USB), you can't avoid eventually modifying the communication code. It's clearly separated from the rest and shouldn't break any other functionality.

Easiest solution is described in UM1472, chapter 6.1.3. Simply solder two wires to the disco board and VCP is ready to use.

J.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

2 REPLIES 2
Bubbles
ST Employee

Hello @AArzo.1​ ,

I believe the best solution depends on what you want to accomplish in the end - if the final product will use a different interface (like USB), you can't avoid eventually modifying the communication code. It's clearly separated from the rest and shouldn't break any other functionality.

Easiest solution is described in UM1472, chapter 6.1.3. Simply solder two wires to the disco board and VCP is ready to use.

J.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Thanks for the information. I will try the solution you proposed. Talking about the code modifications - of course I will have to modify the code but from the perspective of using only usb cdc I had the assumption that the modifications required would be much more deeper than using another usart interface and that is why I thought that it could potentially break something because it is not clearly separated and there could be some problems.