RTEMS 6.3
Loading...
Searching...
No Matches
interrupt.c File Reference
#include <rtems.h>
#include <rtems/libio.h>
#include <bsp.h>
#include <libcpu/cecRegs.h>
#include <libcpu/sicRegs.h>
#include <string.h>
#include <bsp/interrupt.h>

Data Structures

struct  [struct].vectors

Macros

#define SIC_IAR_COUNT_SET0   4
#define SIC_IAR_BASE_ADDRESS_0   0xFFC00150

Functions

void bfin_interrupt_init (void)
rtems_status_code bfin_interrupt_register (bfin_isr_t *isr)
rtems_status_code bfin_interrupt_unregister (bfin_isr_t *isr)
void bfin_interrupt_enable (bfin_isr_t *isr, bool enable)
void bfin_interrupt_enable_all (int source, bool enable)
void bfin_interrupt_enable_global (int source, bool enable)

Detailed Description

  • This file implements interrupt dispatcher. Most of the code is taken from the 533 implementation for blackfin. Since 52X supports 56 line and 2 ISR registers some portion is written twice.

Target: TLL6527v1-0 Compiler:

COPYRIGHT (c) 2010 by ECE Northeastern University.

The license and distribution terms for this file may be found in the file LICENSE in this distribution or at http://www.rtems.org/license

Author
Rohan Kangralkar, ECE, Northeastern University (kangr.nosp@m.alka.nosp@m.r.r@h.nosp@m.usky.nosp@m..neu..nosp@m.edu)

LastChange:

Function Documentation

◆ bfin_interrupt_init()

void bfin_interrupt_init ( void )

Initializes the interrupt module

blackfin interrupt initialization routine. It initializes the bfin ISR dispatcher. It will also create SIC CEC map which will be used for identifying the ISR.

The bf52x has 8 IAR registers but they do not have a constant pitch.

◆ bfin_interrupt_register()

rtems_status_code bfin_interrupt_register ( bfin_isr_t * isr)

This routine registers a new ISR. It will write a new entry to the IVT table

Parameters
isrcontains a callback function and source
Returns
rtems status code

◆ bfin_interrupt_unregister()

rtems_status_code bfin_interrupt_unregister ( bfin_isr_t * isr)

This function unregisters a registered interrupt handler.

Parameters
isr