Keil™, An ARM® Company

ULINK®2 User's Guide

Interfacing Custom Hardware

The Real-Time Agent uses Debug Communication Channel (DCC) interrupts on the target device. If your target device is not supported, you can add your own interrupt controller hardware support by following these steps:

  • Using the Configuration Wizard, select Hardware Type — Custom in the RTA_Config.c file.
  • Add your custom hardware header file to, and implement the C hardware MACROs in the RTA Hardware Specific Section / Custom Hardware section of RT_Agent.c.

The C hardware MACROs must be implemented as follows:

  • TX_IRQ_INIT(): Initialize the DCC transmit interrupt to call RTA_tx_word() when it is triggered.
  • TX_IRQ_ACK(): Perform actions to acknowledge DCC transmit interrupt.
  • TX_IRQ_ENABLE(): Enable the DCC transmit interrupt.
  • TX_IRQ_DISABLE(): Disable the DCC transmit interrupt.
  • RX_IRQ_INIT(): Initialize the DCC receive interrupt to call RTA_rx_word() when it is triggered.
  • RX_IRQ_ACK(): Perform actions to acknowledge DCC receive interrupt.
  • RX_IRQ_ENABLE(): Enable the DCC receive interrupt.
  • RX_IRQ_DISABLE(): Disable the DCC receive interrupt.
  • DEF_IRQ_INIT(): Initialize the default IRQ interrupt to call RTA_def_irq() when it is triggered. This handles unexpected interrupts that can occur with some interrupt controllers.
  • DEF_IRQ_ACK(): Perform actions to acknowledge default IRQ interrupt.
  • TX_WORD(): This is for future use. Currently, it must read:
    __asm { MCR p14, 0, tx_word, c1, c0 }
    
  • RX_WORD(): This is for future use. Currently, it must read:
    __asm { MRC p14, 0, rx_word, c1, c0 }