/* THIS SAMPLE CODE IS PROVIDED AS IS AND IS SUBJECT TO ALTERATIONS. FUJITSU */ | |
/* MICROELECTRONICS ACCEPTS NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR */ | |
/* ELIGIBILITY FOR ANY PURPOSES. */ | |
/* (C) Fujitsu Microelectronics Europe GmbH */ | |
/*--------------------------------------------------------------------------- | |
VECTORS.C | |
- Interrupt level (priority) setting | |
- Interrupt vector definition | |
-----------------------------------------------------------------------------*/ | |
#include "mb96356rs.h" | |
#include "FreeRTOSConfig.h" | |
/*--------------------------------------------------------------------------- | |
InitIrqLevels() | |
This function pre-sets all interrupt control registers. It can be used | |
to set all interrupt priorities in static applications. If this file | |
contains assignments to dedicated resources, verify that the | |
appropriate controller is used. | |
NOTE: value 7 disables the interrupt and value 0 sets highest priority. | |
-----------------------------------------------------------------------------*/ | |
#define MIN_ICR 11 | |
#define MAX_ICR 93 | |
#define DEFAULT_ILM_MASK 7 | |
void InitIrqLevels(void) | |
{ | |
volatile int irq; | |
for (irq = MIN_ICR; irq <= MAX_ICR; irq++) | |
{ | |
ICR = (irq << 8) | DEFAULT_ILM_MASK; | |
} | |
ICR = ( (54 & 0xFF) << 8 ) | configKERNEL_INTERRUPT_PRIORITY; /* Reload Timer 0 */ | |
ICR = ( (12 & 0xFF) << 8 ) | configKERNEL_INTERRUPT_PRIORITY; /* Delayed interrupt of 16FX Family */ | |
ICR = ( (24 & 0xFF) << 8 ) | configKERNEL_INTERRUPT_PRIORITY; /* INT8 */ | |
ICR = ( (25 & 0xFF) << 8 ) | configKERNEL_INTERRUPT_PRIORITY; /* INT9 */ | |
} | |
/*--------------------------------------------------------------------------- | |
Prototypes | |
Add your own prototypes here. Each vector definition needs is proto- | |
type. Either do it here or include a header file containing them. | |
-----------------------------------------------------------------------------*/ | |
__interrupt void DefaultIRQHandler( void ); | |
extern __interrupt void prvRLT0_TICKISR( void ); | |
extern __interrupt void vPortYield( void ); | |
extern __interrupt void vPortYieldDelayed( void ); | |
extern __interrupt void vExternalInt8Handler( void ); | |
extern __interrupt void vExternalInt9Handler( void ); | |
/*--------------------------------------------------------------------------- | |
Vector definiton for MB9635x | |
Use following statements to define vectors. All resource related | |
vectors are predefined. Remaining software interrupts can be added here | |
as well. | |
NOTE: If software interrupts 0 to 7 are defined here, this might | |
conflict with the reset vector in the start-up file. | |
-----------------------------------------------------------------------------*/ | |
#pragma intvect DefaultIRQHandler 11 /* Non-maskable Interrupt */ | |
#pragma intvect vPortYieldDelayed 12 /* Delayed Interrupt */ | |
#pragma intvect DefaultIRQHandler 13 /* RC Timer */ | |
#pragma intvect DefaultIRQHandler 14 /* Main Clock Timer */ | |
#pragma intvect DefaultIRQHandler 15 /* Sub Clock Timer */ | |
#pragma intvect DefaultIRQHandler 16 /* Reserved */ | |
#pragma intvect DefaultIRQHandler 17 /* EXT0 */ | |
#pragma intvect DefaultIRQHandler 18 /* EXT1 */ | |
#pragma intvect DefaultIRQHandler 19 /* EXT2 */ | |
#pragma intvect DefaultIRQHandler 20 /* EXT3 */ | |
#pragma intvect DefaultIRQHandler 21 /* EXT4 */ | |
#pragma intvect DefaultIRQHandler 22 /* EXT5 */ | |
#pragma intvect DefaultIRQHandler 23 /* EXT7 */ | |
#pragma intvect vExternalInt8Handler 24 /* EXT8 */ | |
#pragma intvect vExternalInt9Handler 25 /* EXT9 */ | |
#pragma intvect DefaultIRQHandler 26 /* EXT10 */ | |
#pragma intvect DefaultIRQHandler 27 /* EXT11 */ | |
#pragma intvect DefaultIRQHandler 28 /* EXT12 */ | |
#pragma intvect DefaultIRQHandler 29 /* EXT13 */ | |
#pragma intvect DefaultIRQHandler 30 /* EXT14 */ | |
#pragma intvect DefaultIRQHandler 31 /* EXT15 */ | |
#pragma intvect DefaultIRQHandler 32 /* CAN1 */ | |
#pragma intvect DefaultIRQHandler 33 /* CAN2 */ | |
#pragma intvect DefaultIRQHandler 34 /* PPG0 */ | |
#pragma intvect DefaultIRQHandler 35 /* PPG1 */ | |
#pragma intvect DefaultIRQHandler 36 /* PPG2 */ | |
#pragma intvect DefaultIRQHandler 37 /* PPG3 */ | |
#pragma intvect DefaultIRQHandler 38 /* PPG4 */ | |
#pragma intvect DefaultIRQHandler 39 /* PPG5 */ | |
#pragma intvect DefaultIRQHandler 40 /* PPG6 */ | |
#pragma intvect DefaultIRQHandler 41 /* PPG7 */ | |
#pragma intvect DefaultIRQHandler 42 /* PPG8 */ | |
#pragma intvect DefaultIRQHandler 43 /* PPG9 */ | |
#pragma intvect DefaultIRQHandler 44 /* PPG10 */ | |
#pragma intvect DefaultIRQHandler 45 /* PPG11 */ | |
#pragma intvect DefaultIRQHandler 46 /* PPG12 */ | |
#pragma intvect DefaultIRQHandler 47 /* PPG13 */ | |
#pragma intvect DefaultIRQHandler 48 /* PPG14 */ | |
#pragma intvect DefaultIRQHandler 49 /* PPG15 */ | |
#pragma intvect DefaultIRQHandler 50 /* PPG16 */ | |
#pragma intvect DefaultIRQHandler 51 /* PPG17 */ | |
#pragma intvect DefaultIRQHandler 52 /* PPG18 */ | |
#pragma intvect DefaultIRQHandler 53 /* PPG19 */ | |
#pragma intvect prvRLT0_TICKISR 54 /* RLT0 */ | |
#pragma intvect DefaultIRQHandler 55 /* RLT1 */ | |
#pragma intvect DefaultIRQHandler 56 /* RLT2 */ | |
#pragma intvect DefaultIRQHandler 57 /* RLT3 */ | |
#pragma intvect DefaultIRQHandler 58 /* PPGRLT - RLT6 */ | |
#pragma intvect DefaultIRQHandler 59 /* ICU0 */ | |
#pragma intvect DefaultIRQHandler 60 /* ICU1 */ | |
#pragma intvect DefaultIRQHandler 63 /* ICU4 */ | |
#pragma intvect DefaultIRQHandler 64 /* ICU5 */ | |
#pragma intvect DefaultIRQHandler 65 /* ICU6 */ | |
#pragma intvect DefaultIRQHandler 66 /* ICU7 */ | |
#pragma intvect DefaultIRQHandler 71 /* OCU4 */ | |
#pragma intvect DefaultIRQHandler 72 /* OCU5 */ | |
#pragma intvect DefaultIRQHandler 73 /* OCU6 */ | |
#pragma intvect DefaultIRQHandler 74 /* OCU7 */ | |
#pragma intvect DefaultIRQHandler 77 /* FRT0 */ | |
#pragma intvect DefaultIRQHandler 78 /* FRT1 */ | |
#pragma intvect DefaultIRQHandler 81 /* RTC0 */ | |
#pragma intvect DefaultIRQHandler 82 /* CAL0 */ | |
#pragma intvect DefaultIRQHandler 83 /* I2C0 */ | |
#pragma intvect DefaultIRQHandler 84 /* ADC */ | |
#pragma intvect DefaultIRQHandler 85 /* LIN-UART 2 RX */ | |
#pragma intvect DefaultIRQHandler 86 /* LIN-UART 2 TX */ | |
#pragma intvect DefaultIRQHandler 87 /* LIN-UART 3 RX */ | |
#pragma intvect DefaultIRQHandler 88 /* LIN-UART 3 TX */ | |
#pragma intvect DefaultIRQHandler 89 /* LIN-UART 7 RX */ | |
#pragma intvect DefaultIRQHandler 90 /* LIN-UART 7 TX */ | |
#pragma intvect DefaultIRQHandler 91 /* LIN-UART 8 RX */ | |
#pragma intvect DefaultIRQHandler 92 /* LIN-UART 8 TX */ | |
#pragma intvect DefaultIRQHandler 93 /* MAIN FLASH IRQ */ | |
#pragma intvect vPortYield 122 /* INT #122 */ | |
/*--------------------------------------------------------------------------- | |
DefaultIRQHandler() | |
This function is a placeholder for all vector definitions. Either use | |
your own placeholder or add necessary code here. | |
-----------------------------------------------------------------------------*/ | |
__interrupt void DefaultIRQHandler( void ) | |
{ | |
__DI(); /* disable interrupts */ | |
while( 1 ) | |
{ | |
__wait_nop(); /* halt system */ | |
} | |
} |