cancel
Showing results for 
Search instead for 
Did you mean: 

MCU to MCU USB CDC (VCP) Connection

MKara.2
Associate

Hello folk, 

I hope you are just fine and safe at this unusual time.

I am working on a project but I am stuck in its USB VCP Host section. I have a Proxmark3 board which probably you are familiar with. It has an Atmel microcontroller AT91SAM7s265 that is in charge of connecting the board to the PC through a USB VCP. The AT91SAM7s265 has been programmed as a VCP device and when it is connected to the PC it is recognized as a virtual com port. It receives commands from the PC (Host). I want to eliminate the PC and substitute it with an STM32F407G Discovery board. I tried to make the STM32F407G Discovery board as a VCP host but it did not work. I followed this on the STMicroelectronics Youtube channel to program STM32F407G Discovery as a VCP host, but no luck. The board is successfully programmed but it did not recognize the Proxmark3 (the host). The application status remains in APPLICATION_START and  USB Enumeration is not taken place. I'm wondering what is wrong and what should I do to get it working.

1. Am I missing some steps such as setting some IDs and parameters that are not presented in this training?

2. Is the fact that to microcontroller is not from the same company a problem? Can we make a VCP connection between an ST micro (Host) and an Atmel micro(Device)? 

3. Are there any detailed sources for doing this?

Thank you very much in advance for your time and consideration. I highly appreciate your help. Stay well. 

PS: I have attached the schematic of the Proxmark3 board. 

2 REPLIES 2
Ozone
Lead

> It has an Atmel microcontroller AT91SAM7s265 that is in charge of connecting the board to the PC through a USB VCP.

This involves a specific driver on the PC side, probably installed with the board setup.

At the very least, you would need one for the STM32.

> The AT91SAM7s265 has been programmed as a VCP device and when it is connected to the PC it is recognized as a virtual com port. It receives commands from the PC (Host).

I think this is just half of the truth.

The SAM7 device has also a debug link to the FPGA target (FPGA_***).

I don't have experience with the XC3S50 FPGA, so I don't know what conditions are required to get the target up.

I suppose your STM32 firmware would need to emulate that as well, not only a VCP.

> I hope you are just fine and safe at this unusual time.

Unsafe are only those who believe every scary story told on TV ... :-J

Yes, you are right. The SAM7 function is not limited only to work as a VCP device. However, I did not want to make confusion and be focused on the target.

Gladly, I have not watched TV since almost 9 years ago :)). I don't trust any kind of Media.

Back to my probelm. Yes the PC use a driver. But can you please elaborate how can I set up a driver on ST MCU for VCP host USB?

Is there a ready-to-use driver for VCP host USB for ST MCUs?