mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-19 21:11:57 -04:00
183 lines
9.9 KiB
C
183 lines
9.9 KiB
C
/* 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 "mb96348hs.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 12
|
|
#define MAX_ICR 96
|
|
|
|
#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 = ( (51 & 0xFF) << 8 ) | configKERNEL_INTERRUPT_PRIORITY; /* Reload Timer 0 of MB9634x Series */
|
|
ICR = ( (12 & 0xFF) << 8 ) | configKERNEL_INTERRUPT_PRIORITY; /* Delayed interrupt of 16FX Family */
|
|
|
|
ICR = ( 79 << 8 ) | configKERNEL_INTERRUPT_PRIORITY; /* UART 0 Rx of MB9634x Series */
|
|
ICR = ( 80 << 8 ) | configKERNEL_INTERRUPT_PRIORITY; /* UART 0 Tx of MB9634x Series */
|
|
}
|
|
|
|
/*---------------------------------------------------------------------------
|
|
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 UART0_RxISR( void );
|
|
extern __interrupt void UART0_TxISR( void );
|
|
extern __interrupt void UART0_TraceRxISR( void );
|
|
extern __interrupt void vPortYield( void );
|
|
extern __interrupt void vPortYieldDelayed( void );
|
|
|
|
#if ( INCLUDE_TraceListTasks == 1 )
|
|
extern __interrupt void UART1_RxISR( void );
|
|
#endif
|
|
|
|
/*---------------------------------------------------------------------------
|
|
Vector definiton for MB9634x
|
|
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 /* EXT6 */
|
|
#pragma intvect DefaultIRQHandler 24 /* EXT7 */
|
|
#pragma intvect DefaultIRQHandler 25 /* EXT8 */
|
|
#pragma intvect DefaultIRQHandler 26 /* EXT9 */
|
|
#pragma intvect DefaultIRQHandler 27 /* EXT10 */
|
|
#pragma intvect DefaultIRQHandler 28 /* EXT11 */
|
|
#pragma intvect DefaultIRQHandler 29 /* EXT12 */
|
|
#pragma intvect DefaultIRQHandler 30 /* EXT13 */
|
|
#pragma intvect DefaultIRQHandler 31 /* EXT14 */
|
|
#pragma intvect DefaultIRQHandler 32 /* EXT15 */
|
|
#pragma intvect DefaultIRQHandler 33 /* CAN0 */
|
|
#pragma intvect DefaultIRQHandler 34 /* CAN1 */
|
|
#pragma intvect DefaultIRQHandler 35 /* PPG0 */
|
|
#pragma intvect DefaultIRQHandler 36 /* PPG1 */
|
|
#pragma intvect DefaultIRQHandler 37 /* PPG2 */
|
|
#pragma intvect DefaultIRQHandler 38 /* PPG3 */
|
|
#pragma intvect DefaultIRQHandler 39 /* PPG4 */
|
|
#pragma intvect DefaultIRQHandler 40 /* PPG5 */
|
|
#pragma intvect DefaultIRQHandler 41 /* PPG6 */
|
|
#pragma intvect DefaultIRQHandler 42 /* PPG7 */
|
|
#pragma intvect DefaultIRQHandler 43 /* PPG8 */
|
|
#pragma intvect DefaultIRQHandler 44 /* PPG9 */
|
|
#pragma intvect DefaultIRQHandler 45 /* PPG10 */
|
|
#pragma intvect DefaultIRQHandler 46 /* PPG11 */
|
|
#pragma intvect DefaultIRQHandler 47 /* PPG12 */
|
|
#pragma intvect DefaultIRQHandler 48 /* PPG13 */
|
|
#pragma intvect DefaultIRQHandler 49 /* PPG14 */
|
|
#pragma intvect DefaultIRQHandler 50 /* PPG15 */
|
|
|
|
#pragma intvect prvRLT0_TICKISR 51 /* RLT0 */
|
|
|
|
#pragma intvect DefaultIRQHandler 52 /* RLT1 */
|
|
#pragma intvect DefaultIRQHandler 53 /* RLT2 */
|
|
#pragma intvect DefaultIRQHandler 54 /* RLT3 */
|
|
#pragma intvect DefaultIRQHandler 55 /* PPGRLT - RLT6 */
|
|
#pragma intvect DefaultIRQHandler 56 /* ICU0 */
|
|
#pragma intvect DefaultIRQHandler 57 /* ICU1 */
|
|
#pragma intvect DefaultIRQHandler 58 /* ICU2 */
|
|
#pragma intvect DefaultIRQHandler 59 /* ICU3 */
|
|
#pragma intvect DefaultIRQHandler 60 /* ICU4 */
|
|
#pragma intvect DefaultIRQHandler 61 /* ICU5 */
|
|
#pragma intvect DefaultIRQHandler 62 /* ICU6 */
|
|
#pragma intvect DefaultIRQHandler 63 /* ICU7 */
|
|
#pragma intvect DefaultIRQHandler 64 /* OCU0 */
|
|
#pragma intvect DefaultIRQHandler 65 /* OCU1 */
|
|
#pragma intvect DefaultIRQHandler 66 /* OCU2 */
|
|
#pragma intvect DefaultIRQHandler 67 /* OCU3 */
|
|
#pragma intvect DefaultIRQHandler 68 /* OCU4 */
|
|
#pragma intvect DefaultIRQHandler 69 /* OCU5 */
|
|
#pragma intvect DefaultIRQHandler 70 /* OCU6 */
|
|
#pragma intvect DefaultIRQHandler 71 /* OCU7 */
|
|
#pragma intvect DefaultIRQHandler 72 /* FRT0 */
|
|
#pragma intvect DefaultIRQHandler 73 /* FRT1 */
|
|
#pragma intvect DefaultIRQHandler 74 /* I2C0 */
|
|
#pragma intvect DefaultIRQHandler 75 /* I2C1 */
|
|
#pragma intvect DefaultIRQHandler 76 /* ADC */
|
|
#pragma intvect DefaultIRQHandler 77 /* ALARM0 */
|
|
#pragma intvect DefaultIRQHandler 78 /* ALARM1 */
|
|
|
|
#if ( INCLUDE_TraceListTasks == 1 )
|
|
#pragma intvect UART0_TraceRxISR 79 /* LIN-UART 0 RX */
|
|
#pragma intvect DefaultIRQHandler 80 /* LIN-UART 0 TX */
|
|
#else
|
|
#pragma intvect UART0_RxISR 79 /* LIN-UART 0 RX */
|
|
#pragma intvect UART0_TxISR 80 /* LIN-UART 0 TX */
|
|
#endif
|
|
|
|
#pragma intvect DefaultIRQHandler 81 /* LIN-UART 1 RX */
|
|
#pragma intvect DefaultIRQHandler 82 /* LIN-UART 1 TX */
|
|
#pragma intvect DefaultIRQHandler 83 /* LIN-UART 2 RX */
|
|
#pragma intvect DefaultIRQHandler 84 /* LIN-UART 2 TX */
|
|
#pragma intvect DefaultIRQHandler 85 /* LIN-UART 3 RX */
|
|
#pragma intvect DefaultIRQHandler 86 /* LIN-UART 3 TX */
|
|
#pragma intvect DefaultIRQHandler 87 /* MAIN FLASH IRQ */
|
|
#pragma intvect DefaultIRQHandler 88 /* SATELLITE FLASH IRQ (not on all devices) */
|
|
#pragma intvect DefaultIRQHandler 89 /* LIN-UART 7 RX (not on all devices) */
|
|
#pragma intvect DefaultIRQHandler 90 /* LIN-UART 7 TX (not on all devices) */
|
|
#pragma intvect DefaultIRQHandler 91 /* LIN-UART 8 RX (not on all devices) */
|
|
#pragma intvect DefaultIRQHandler 92 /* LIN-UART 8 TX (not on all devices) */
|
|
#pragma intvect DefaultIRQHandler 93 /* LIN-UART 9 RX (not on all devices) */
|
|
#pragma intvect DefaultIRQHandler 94 /* LIN-UART 9 TX (not on all devices) */
|
|
#pragma intvect DefaultIRQHandler 95 /* RTC (not on all devices) */
|
|
#pragma intvect DefaultIRQHandler 96 /* CAL (not on all devices) */
|
|
|
|
#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 */
|
|
}
|
|
}
|