This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

CMSIS UART driver Infineon XMC4800 IRQ not registered

I'm using RTX on the new XMC devices and I discovered a problem with sending over UART.

The KEIL UART driver defines the TX IRQ in uart.c as

#if (RTE_UART0 != 0)
#if (UC_SERIES == XMC14)
  void IRQ9_Handler() {
    UART_IRQHandler (uart[0],USIC0_0_IRQn );
  }
        void IRQ10_Handler() {
    UART_IRQHandler (uart[0],USIC0_1_IRQn);
  }
#else
  void USIC0_0_Handler() {
    UART_IRQHandler (uart[0],USIC0_0_IRQn );
  }
        void USIC0_1_Handler() {
    UART_IRQHandler (uart[0],USIC0_1_IRQn);
  }
#endif
#endif

But in the xmc4800.h and startup_xmc4800.s file (from the pack) the IRQ handlers are named different:

#define IRQ_Hdlr_84  USIC0_0_IRQHandler

EXPORT  USIC0_0_IRQHandler      [WEAK]

This leads to an unhandled IRQ exception.

Is this a bug in the pack's files or what am I doing wrong?
Should the xmc4800.h file be modified by µVision after I have configured the UART?
Of course I can disable the write protection of xmc4800.h and add the correct IRQ handler,
but that's not the best way in my opinion.

Any help is appreciated.

Michael

Parents Reply Children
No data