Keil Logo

Introduction 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 }
    
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.