Enable interrupts for both USART ports in STM32 Cube configurator (put checkboxes on usart1/2/.. global interrupt/etc. on relevant tabs). HAL driver algorithms use interrupts.
I would save input capture values for each arriving byte to second circular DMA buffer and calculate inter-byte time gaps by substracting adjacent elements. It is better to avoid non-DMA approach or setting highest USART interrupt priorities.update: ...
In most cases timers should not be used for UART operation. The best way is to use circular DMA receiving buffer. You start DMA single time and any data received will be written to circular buffer guaranteed. Amount of data need to be parsed is calcu...
It does not look like RDP2 to me. Please show option bytes page.Possible solution:1) Try to uncheck write protectionor 2) From option bytes page set "RDP level 1" and then "RDP level 0".
1) Make sure that firmware you place at 0x8008000 compiled with FLASH ORIGIN = 0x80080002) Try de-initialize peripherals at the beginning of go2APP() function, something like this:HAL_UART_DMAStop(&huart1);
HAL_UART_DeInit(&huart1);
HAL_DeInit();