Dual CDC did not work properly on SAME7

1 post / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Dear all,

 

I managed to setup a ASF3 project with 2CDC and 1MSD on a SAME70. I did some tests in sending data from a terminal and follow 'breakpoint by breakpoint' the data flow from my host computer to the serial peripheral and back. I can verify that I can send and receive to two UART or two USART or one of each and they are responding as expected. However, the final way back to my host computer works only for one serial line. This one is very stable as I can say after a couple of hours of testing. Even flash/programming software for external devices on my custom board work with no problem over that USB-Serial bridge. However, only one of them. The other is not receiving data and sending it back but it gets lost somewhere. The last thing I can confirm that I always come to the point where I start udi_cdc_multi_putc(0,value); As soon as I change the first parameter to something different then 0 (port number) it fails. However udi_cdc_multi_getc(1,&value) works perfectly fine. It seems to me that the problems is somewhere in the buffer management of the tx buffers. I already tried to change the buffer size but with no success.

 All the examples I found in the internet are only using 1 CDC. There is an example in the ATMEL softpack with two CDCs. However, I try to avoid this because the software architecture is something completely different to ASF3 (that comes with AtmelStudio). Anyone has successfully used two CDC serial lines at the same point in time?

Any hint will be appreciated. 

 

Best Regards

Markus