]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_R4_RM48_CCS5/startup/sys_vim.h
Added initial RM48 project files. These are not in the correct directory structure...
[freertos] / FreeRTOS / Demo / CORTEX_R4_RM48_CCS5 / startup / sys_vim.h
1 /** @file sys_vim.h\r
2 *   @brief Vectored Interrupt Module Header File\r
3 *   @date 05.November.2010\r
4 *   @version 1.01.000\r
5 *   \r
6 *   This file contains:\r
7 *   - VIM Type Definitions\r
8 *   - VIM General Definitions\r
9 *   .\r
10 *   which are relevant for the Vectored Interrupt Controller.\r
11 */\r
12 \r
13 /* (c) Texas Instruments 2010, All rights reserved. */\r
14 \r
15 #ifndef __SYS_VIM_H__\r
16 #define __SYS_VIM_H__\r
17 \r
18 /* USER CODE BEGIN (0) */\r
19 /* USER CODE END */\r
20 \r
21 \r
22 /* VIM Type Definitions */\r
23 \r
24 /** @typedef t_isrFuncPTR\r
25 *   @brief ISR Function Pointer Type Definition\r
26 *\r
27 *   This type is used to access the ISR handler.\r
28 */\r
29 typedef void (*t_isrFuncPTR)();\r
30 \r
31 /* USER CODE BEGIN (1) */\r
32 /* USER CODE END */\r
33 \r
34 \r
35 /* VIM General Configuration */\r
36 \r
37 #define VIM_CHANNELS 96U\r
38 \r
39 /* USER CODE BEGIN (2) */\r
40 /* USER CODE END */\r
41 \r
42 /* Interrupt Handlers */\r
43 \r
44 extern void phantomInterrupt(void);\r
45 extern void esmHighLevelInterrupt(void);\r
46 extern void vPreemptiveTick(void);\r
47 extern void vNonPreemptiveTick(void);\r
48 extern void vPortYeildWithinAPI(void);\r
49 \r
50 \r
51 /* Vim Register Frame Definition */\r
52 /** @struct vimBase\r
53 *   @brief Vim Register Frame Definition\r
54 *\r
55 *   This type is used to access the Vim Registers.\r
56 */\r
57 /** @typedef vimBASE_t\r
58 *   @brief VIM Register Frame Type Definition\r
59 *\r
60 *   This type is used to access the VIM Registers.\r
61 */\r
62 typedef volatile struct vimBase\r
63 {\r
64     unsigned              : 24U;    /* 0x0000        */\r
65     unsigned      IRQIVEC :  8U;    /* 0x0000        */\r
66     unsigned              : 24U;    /* 0x0004        */\r
67     unsigned      FIQIVEC :  8U;    /* 0x0004        */\r
68     unsigned      : 32U;            /* 0x0008        */\r
69     unsigned      : 32U;            /* 0x000C        */\r
70     unsigned      FIRQPR0;          /* 0x0010        */\r
71     unsigned      FIRQPR1;          /* 0x0014        */\r
72     unsigned      FIRQPR2;          /* 0x0018        */\r
73     unsigned      FIRQPR3;          /* 0x001C        */\r
74     unsigned      INTREQ0;          /* 0x0020        */\r
75     unsigned      INTREQ1;          /* 0x0024        */\r
76     unsigned      INTREQ2;          /* 0x0028        */\r
77     unsigned      INTREQ3;          /* 0x002C        */\r
78     unsigned      REQMASKSET0;      /* 0x0030        */\r
79     unsigned      REQMASKSET1;      /* 0x0034        */\r
80     unsigned      REQMASKSET2;      /* 0x0038        */\r
81     unsigned      REQMASKSET3;      /* 0x003C        */\r
82     unsigned      REQMASKCLR0;      /* 0x0040        */\r
83     unsigned      REQMASKCLR1;      /* 0x0044        */\r
84     unsigned      REQMASKCLR2;      /* 0x0048        */\r
85     unsigned      REQMASKCLR3;      /* 0x004C        */\r
86     unsigned      WAKEMASKSET0;     /* 0x0050        */\r
87     unsigned      WAKEMASKSET1;     /* 0x0054        */\r
88     unsigned      WAKEMASKSET2;     /* 0x0058        */\r
89     unsigned      WAKEMASKSET3;     /* 0x005C        */\r
90     unsigned      WAKEMASKCLR0;     /* 0x0060        */\r
91     unsigned      WAKEMASKCLR1;     /* 0x0064        */\r
92     unsigned      WAKEMASKCLR2;     /* 0x0068        */\r
93     unsigned      WAKEMASKCLR3;     /* 0x006C        */\r
94     unsigned      IRQVECREG;        /* 0x0070        */\r
95     unsigned      FIQVECREQ;        /* 0x0074        */\r
96     unsigned                 :  9U; /* 0x0078        */\r
97     unsigned      CAPEVTSRC1 :  7U; /* 0x0078        */\r
98     unsigned                 :  9U; /* 0x0078        */\r
99     unsigned      CAPEVTSRC0 :  7U; /* 0x0078        */\r
100     unsigned      : 32U;            /* 0x007C        */\r
101     unsigned char CHANMAP[64U];     /* 0x0080-0x017C */\r
102 } vimBASE_t;\r
103 \r
104 #define vimREG ((vimBASE_t *)0xFFFFFE00U)\r
105 \r
106 /* USER CODE BEGIN (3) */\r
107 /* USER CODE END */\r
108 \r
109 \r
110 #endif\r