Application Firmware Update via USART Port

Hello,

We have a custom board that uses STM32F427ZIT6 MCU. We want to use USART1 assigned to PA9 (USART1_TX) & PA10 (USART1_RX) pins to upload the application firmware instead of USB. Below are the relevant options in hw_config file.

/ USART1 GPIO /
#define GPIO_USART1_TX GPIO9 / PA9 /
#define GPIO_USART1_RX GPIO10 / PA10 /
#define RCC_AHB1ENR_GPIOAEN (1 << 0) / Bit 0: IO port A clock enable /

# define BOARD_USART USART1
# define BOARD_USART_CLOCK_REGISTER RCC_APB2ENR
# define BOARD_USART_CLOCK_BIT RCC_APB2ENR_USART1EN

# define BOARD_PORT_USART GPIOA
# define BOARD_PORT_USART_AF GPIO_AF7
# define BOARD_PIN_TX GPIO_USART1_TX
# define BOARD_PIN_RX GPIO_USART1_RX
# define BOARD_USART_PIN_CLOCK_REGISTER RCC_AHB1ENR
# define BOARD_USART_PIN_CLOCK_BIT RCC_AHB1ENR_GPIOAEN

I use the following command to upload the code:

python Tools/px_uploader.py application.px4 --port=/dev/ttyUSB0 --baud-bootloader=115200 --baud-flightstack=115200 --force

But I am not having any luck to make this thing work and I have exhausted my resources. I really need some information/resources to make this work. I appreciate your time and effort and thanks in advance.

Regards,
Archit