2023-12-01 11:10 AM
I'll try to explain my problem. Don't judge me harshly please.
I will explain in detail so that someone can help me understand my problem or suggest a thought that will help me solve it on my own. The idea came to my mind, and I might be completely wrong and not understanding how it works, but I wanted to implement the following: I wanted to connect the Nucleo-F429ZI via the COM port using FT232R and check at what moment and how the control of the DTR and RST signals occurs from the STM32CubeProgrammer (V.2.15.0) program when the port is connected. This is a necessary measure because I don't have equipment on hand for technical verification.
I took my Nucleo-F429ZI, as well as the YP-05 board (with the FT232R chip), connected as shown in the picture below.
PF12 - CN11.7 - RTS
USART1_TX - CN12.21 - RXD
USART1_RX - CN12.33 - TXD
PF13 - CN8.5 - DTR
GND - CN7.8 - GND
Nucleo-F429ZI is powered through the CN1 connector with a cable that only supplies power (without data transfer). YP-05 connected via a miniUSB-USB cable transmitting data (jumper at 3.3V).
I flashed a program into Nucleo-F429ZI that checks the inputs and shows the state of the DTR and RST signals with LEDs, look here: https://github.com/CepgLLe/FDTI
Drivers are updated, speeds are set to 115200, the COM port is detected in the device manager, and it is also visible in the STM32CubeProgrammer, BUT:
17:48:09 : Port configuration: parity = even, baudrate = 115200, data-bit = 8, stop-bit = 1.0, flow-control = off
17:48:10 : Timeout error occured while waiting for acknowledgement.
17:48:10 : Error: Activating device: KO. Please, verify the boot mode configuration and check the serial port configuration. Reset your device then try again...
However, the connection is not happening. I also tried stm32flash.
Maybe I should definitely configure the microcontroller somehow? Any ideas?
Solved! Go to Solution.
2024-11-18 07:24 AM
Sorry for long delay...
The solution to the problem was simple. I thought that there was no need to modify anything on the Nucleo board, but I was wrong.
By AN2606 this MCU uses:
I tried to check what with this pins on the board:
I connected SB152 and this is the solution to my problem.
2023-12-01 11:37 AM
How do you have set BOOT0 pin on STM32?
UART Rx/Tx pins are those suppored by the bootloader? Check in AN2606.
The UART_Rx/Tx pins on the Nucleo board, aren't they connected to the on-board STLink? Check in Nucleo's manual and/or schematics (under "CAD documents" tab on the Nucleo's web folder).
JW
2023-12-01 01:30 PM - edited 2023-12-04 09:14 AM
The GitHub doesn't show the MSP code initializing the pins for the USART
Would suggest bring the USART up in your application and sending something to a terminal application. Perhaps using HAL_UART_Transmit() to send a "Hello World!" or similar pattern that you can use to confirm the wiring of the FTDI adapter.
Select the 3.3V setting.
2023-12-04 08:01 AM
Thanks for your feedback.
I tried different states of the BOOT0 contact. The board went into bootloader state, which was evidenced by the termination of the internal firmware (the LED is set to blink and the state changes when the button is pressed). At least I think so. Under different conditions, the picture is the same - there is no connection via the COM port.
This should be a simple process: give 1 to BOOT0 and press reset.
Another path followed by UART1 (but I don't use any functions except what I need):
I thought about using UART3 for this purpose (according to the manual I can only use UART1 and UART3), but it just goes to the ST-LINK programmer on the board, I thought that it would interfere with my interaction with the microcontroller. Mb U12 creates problems for me I don't know.
2023-12-04 08:27 AM
Thanks for your feedback.
I'm not sure. I thought that it's what need:
I configured everything through CubeMX. It seemed to me that there should be no problem with this.
But now I look at this:
And don't understand... Is it not OK? This is UART3 for firmware via the built-in ST-LINK programmer. I get the impression that this is also the problem, but should I define the pins of UART1 like this?
2023-12-04 09:23 AM
You could monitor the output of USART3.TX into the FTDI RX. You don't want two things driving the USART3.RX pin.
Pick at USART and pin combination that's not conflicted. Surely there are several on the card.
Pull the schematic https://www.st.com/resource/en/schematic_pack/nucleo_144pins_sch.zip
Pull the data sheet for pins usages https://www.st.com/resource/en/datasheet/stm32f429zi.pdf
PC6/PC7 (USART6) look unconflicted, there's probably others.
2023-12-14 10:58 AM
I decided to try HAL_UART_Transmit.
I downloaded such a program, entered the parameters of my port and everything works great.
look, everythin is fine:
Even the LEDs show me the status of RTS and DTR. It’s strange for some reason that with such a connection they change states. I think I need to look at the FT232R documentation.
But what's the problem with stm32flasher and stm32CubeProgrammer?
Could it be that these are different types of connections and some specific port configuration is expected of me?
2023-12-15 02:22 AM
Try to get a genuine FT232 from reputable source.
JW
2024-11-18 07:24 AM
Sorry for long delay...
The solution to the problem was simple. I thought that there was no need to modify anything on the Nucleo board, but I was wrong.
By AN2606 this MCU uses:
I tried to check what with this pins on the board:
I connected SB152 and this is the solution to my problem.