cancel
Showing results for 
Search instead for 
Did you mean: 

NUCLEO U575ZI Q: move from ST-LINK to J-LINK: failed to transmit data on USART1

PatriceL
Associate III

Hi happy people,

Until we receive the prototype from our electronic designer, I work on the NUCLEO 144 U575IZ dev board, from IAR workbench, and via ST-LINK facilities. In this condition I can execute a minimalist shell (I send command from PC, the board execute and answer,)  on USART1 via the VCP mounted by ST-LINK. Everything works fine this way.

 

Now I need to prepare myself to work on the real hardware.

 

First step: I move the Nucleo from ST-LINK to Segger J-Link, by following this from the Nucleo user manual UM2861

  • move JP6 on pins 7-8, so I power the Nucleo from USB-C
  • set JP1
  • unset JP2

PatriceL_0-1731685099751.png

PatriceL_1-1731685110256.png

PatriceL_2-1731685126116.png

All of this works fine, I can upload binary to the board and debug step by step from IAR Workbench, no problem.

 

Second step: I want to get rid of the VCP mounted by ST-LINK and directly use USART1 on CN12 connector, that is I need PA9 (TX) & PA10 (RX) + a gnd on this connector and on this connector I wire a FTDI USB-RS232 cable.

  • remove solder bridge SB32 and SB34 : no more connection to ST-LINK

PA9 & PA10 are already available on CN12, nothing to do (note: adding SB31 and SB33 are needed if you want to redirect USART1 to a Arduino. Not my case)

PatriceL_3-1731685484553.png

I wire the FTDI as per the manual: I'm only interested in the MCU TX (PA9) so I only wire yellow (TX of the board to RX of the FTDI) and black:

PatriceL_4-1731685585832.png

 

When I power the setup, a VCP is available, no problem:

PatriceL_5-1731685699987.png

 

Now, I execute my app, but the only thing I receive on my terminal emulator is garbage (I'm supposed to receive a welcome message readable for a human). I double checked terminal configuration: good speed, size, parity and stop, no flow control, all is good.

PatriceL_6-1731685740688.png

I checked million times my gpio and usart configuration, I cannot figure what to do:

PatriceL_7-1731685826496.png

PatriceL_8-1731685836673.png

 

The only hardware issue I can see is that without ST-LINK there is potentially a floating signal because of this:

 

gpio_init_struct.Pull      = GPIO_NOPULL;

 

So I tried both:

 

gpio_init_struct.Pull      = GPIO_PULLUP;

 

and

 

gpio_init_struct.Pull      = GPIO_PULLDOWN;

 

without more success.

Also, since I'm not very good at hardware, I also tried to move from "alternate push pull" for the GPIO to "alternate open drain": in this case the FTDI cable receive nothing at all.

 

I'm lost here, and do not know what to check for the USART communication part. My fellow hardware guy is not available these days, I'll have to wait.

If you have any idea on what is missing from hardware point of view on the Nucleo, if something may have an influence on the TX signal, I'm all ears.

 

Thank you in advace

P.

1 ACCEPTED SOLUTION

Accepted Solutions
PatriceL
Associate III

The problem is fixed: Unfortunately I was using the wrong FTDI cable. I used one that needs RS-232 levels where obviously it's TTL that goes out of the MCU. Once I used a good TTL/USB cable, everything is working fine.

 

Thank you for supporting me ;)

View solution in original post

3 REPLIES 3
Roger SHIVELY
ST Employee

Hello @PatriceL 

This post has been escalated to the ST Online Support Team for additional assistance.  We'll contact you directly.

 

Regards,

Roger

Hi, thank you for this

 

I bet my issue will be obvious when my hardware guy will be back, it's certainly a question of signal level or something like that, I certainly did not wire correctly my ftdi cable.

PatriceL
Associate III

The problem is fixed: Unfortunately I was using the wrong FTDI cable. I used one that needs RS-232 levels where obviously it's TTL that goes out of the MCU. Once I used a good TTL/USB cable, everything is working fine.

 

Thank you for supporting me ;)