With stlink-v3 attached to stm32h753 eval2, software does not get interrupts from uart1
Hello: I have an stm32h753 eval2 board. I recently purchased an stlink-v3set. Connecting to board using CN9, everything works: programming, CPU information, memory dump, etc.
However, embedded instrumentation shows that uart1 is asserting a tx empty interrupt which is never serviced. With stlink-v3 unplugged and USB attached to the embedded stlink USB port on the board, uart1 runs fine; interrupts are serviced. Enabling FIFO mode does not change symptoms. I have embedded instrumentation in the uart driver and ISR.
When STLINK-V3 is attached, when stuck:
CR1 = 0x2000_80ad
CR2 = 0x0000_2000
CR3 = 0x0000_0000
ISR is 0x08e0_00d0.
tx empty flag is 0x0000_0080.
Why does connecting CN9 (or, disconnection of the USB for the embedded STE_LINK) have an effect on servicing interrupts from UART1? When in this state, the processor is getting and servicing interrupts from a timer at a 100Hz rate, and has set up FMC SDRAM, and is otherwise running fine. (Also, this serial driver runs fine on an stm327f demo card).
Any thoughts/insights are appreciated. Thanks!
More information: Under these conditions, it appears the NVIC is not presenting the interrupt. UART1 uses interrupt 37. NVIC_ISER1 reads as 0x0000_0020, indicating 37 is enabled. NVIC_ISPRO1 is 0x0000_0020, indicating the interrupt is pending. But, NVIC_IABR1 is 0x0000_0000, indicating the interrupt is NOT active. I can, through STMcube programmer, manipulate the UART registers so that no interrupt is asserted and to assert a new interrupt; the interrupt active register in NVIC does not change. Again, this only happens when the STLINK-V3 is connected to CN9.
