2021-06-24 03:55 AM
I am using the STM32F407 and I correctly configured the pins for boot mode, I am using USART3 in boot mode for downloading the code into the flash memory of this MCU. I used ST flash loader demonstrator GUI for downloading the code into the MCU using USB to TTL cable. I can successfully download the code using this cable with USART3 in boot mode, but I am unable to do so using the serial to ethernet converter.
I first defined a virtual COM port using HW virtual serial port software, this virtual COM port has the IP address of the converter. Then I made the correct connections for example TX of converter goes to the RX of the MCU and vice versa. Then I opened the flash loader demonstrator GUI, opened this virtual COM port that I created using the IP address of the converter, but when I click next I get errors from the demonstrator "saying that the device is not recognized please reset and try again" after resetting and entering boot mode I still get the same errors.
Then I used Hercules terminal in serial mode (using the virtual COM port I created with the IP address of the converter) to send read and write commands serially to the MCU in boot mode defined in AN3155 application notes, to my surprise, I was getting correct and expected responses from the MCU, but not always sometimes the MCU was sending weird hex values.
Then to debug further, this time I used usb to ttl cable to connect to Hercules terminal serially and sent read and write commands and this time each command I sent was accepted by the MCU and replied correctly always.
When I use the serial to ethernet converter and open the virtual COM port on hercules to send serial commands, before I am able to send anything the MCU sends a string of hex values that don't make sense, I don't see these hex values when I connect with usb to ttl cable.
If someone knows how to configure the serial to ethernet converter correctly with STM32F407, kindly help me with this problem.
Thank You!
2021-06-24 06:57 AM
If the chip is sending values, something is sending values to it. You could monitor the TX/RX lines to figure out what it is.
The answer is likely going to be specific to the ethernet to serial adapter you're using and not anything STM32 specific.