STM ROM Bootloader on STM32F217VGT
I'm working with a STM32F217VGT that has Bootloader version 3.1. I'm experiencing issues with the ROM'ed bootloader provided by ST. The issue is the Bootloader is unresponsive to UART1, the desired interface to communicate with the bootloader. We know UART1 works properly as it's a comms interface we use and get correct TX/RX from. I'm able to initiate the Bootloader in 2 ways.
Method 1: power device off, configure BOOT0 such that it'll be HIGH on power up and BOOT1 will be LOW on power up, then power ON the device. With this approach the device usually is successful at communicating over UART1 while in the Bootloader and has been able to write a new firmware image and jump to it, when we have our main boards running separately from our production unit. When we have our main board running within our production unit this method only works ~10-25% of the time.
Method 2: jump into the System Memory address from our firmware during run time. Way 2 is successful at entering the Bootloader, as specific buttons that should illuminate LEDs in our firmware do NOT illuminate the LEDs after we command our FW to jump to the System Memory address. However, though we're in the Bootloader ~99% of the time we're unable to talk to the Bootloader from UART1, whether our main board is running separately from our production unit or if it's running within our production unit.
This leads us to think that there's noise on the other interfaces that could be used to communicate to the Bootloader and that the noise on those interfaces produces the 0x7F byte that initiates Bootloader communication with that port, ultimately preventing us from communicating via UART1 interface.
Is there a way to force ST's ROM'ed Bootloader to only listen to 1 comms interface while in Bootloader?
