Paparazzi UAS
v5.12_stable-4-g9b43e9b
Paparazzi is a free software Unmanned Aircraft System.
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
lpcVIC.h
Go to the documentation of this file.
1
/******************************************************************************
2
*
3
* $RCSfile$
4
* $Revision$
5
*
6
* Header file for Philips LPC ARM Processors.
7
* Copyright 2004 R O SoftWare
8
*
9
* No guarantees, warrantees, or promises, implied or otherwise.
10
* May be used for hobby or commercial purposes provided copyright
11
* notice remains intact.
12
*
13
*****************************************************************************/
14
#ifndef INC_LPC_VIC_H
15
#define INC_LPC_VIC_H
16
17
// Vectored Interrupt Controller Registers (VIC)
18
typedef
struct
19
{
20
REG32
irqStatus
;
// IRQ Status Register
21
REG32
fiqStatus
;
// FIQ Status Register
22
REG32
rawIntr
;
// Raw Interrupt Status Register
23
REG32
intSelect
;
// Interrupt Select Register
24
REG32
intEnable
;
// Interrupt Enable Register
25
REG32
intEnClear
;
// Interrupt Enable Clear Register
26
REG32
softInt
;
// Software Interrupt Register
27
REG32
softIntClear
;
// Software Interrupt Clear Register
28
REG32
protection
;
// Protection Enable Register
29
REG32
_pad0[3];
30
REG32
vectAddr
;
// Vector Address Register
31
REG32
defVectAddr
;
// Default Vector Address Register
32
REG32
_pad1[50];
33
REG32
vectAddr0
;
// Vector Address 0 Register
34
REG32
vectAddr1
;
// Vector Address 1 Register
35
REG32
vectAddr2
;
// Vector Address 2 Register
36
REG32
vectAddr3
;
// Vector Address 3 Register
37
REG32
vectAddr4
;
// Vector Address 4 Register
38
REG32
vectAddr5
;
// Vector Address 5 Register
39
REG32
vectAddr6
;
// Vector Address 6 Register
40
REG32
vectAddr7
;
// Vector Address 7 Register
41
REG32
vectAddr8
;
// Vector Address 8 Register
42
REG32
vectAddr9
;
// Vector Address 9 Register
43
REG32
vectAddr10
;
// Vector Address 10 Register
44
REG32
vectAddr11
;
// Vector Address 11 Register
45
REG32
vectAddr12
;
// Vector Address 12 Register
46
REG32
vectAddr13
;
// Vector Address 13 Register
47
REG32
vectAddr14
;
// Vector Address 14 Register
48
REG32
vectAddr15
;
// Vector Address 15 Register
49
REG32
_pad2[48];
50
REG32
vectCntl0
;
// Vector Control 0 Register
51
REG32
vectCntl1
;
// Vector Control 1 Register
52
REG32
vectCntl2
;
// Vector Control 2 Register
53
REG32
vectCntl3
;
// Vector Control 3 Register
54
REG32
vectCntl4
;
// Vector Control 4 Register
55
REG32
vectCntl5
;
// Vector Control 5 Register
56
REG32
vectCntl6
;
// Vector Control 6 Register
57
REG32
vectCntl7
;
// Vector Control 7 Register
58
REG32
vectCntl8
;
// Vector Control 8 Register
59
REG32
vectCntl9
;
// Vector Control 9 Register
60
REG32
vectCntl10
;
// Vector Control 10 Register
61
REG32
vectCntl11
;
// Vector Control 11 Register
62
REG32
vectCntl12
;
// Vector Control 12 Register
63
REG32
vectCntl13
;
// Vector Control 13 Register
64
REG32
vectCntl14
;
// Vector Control 14 Register
65
REG32
vectCntl15
;
// Vector Control 15 Register
66
}
vicRegs_t
;
67
68
// VIC Channel Assignments
69
#define VIC_WDT 0
70
#define VIC_ARMCore0 2
71
#define VIC_ARMCore1 3
72
#define VIC_TIMER0 4
73
#define VIC_TIMER1 5
74
#define VIC_UART0 6
75
#define VIC_UART1 7
76
#define VIC_PWM 8
77
#define VIC_PWM0 8
78
#define VIC_I2C0 9
79
#define VIC_SPI 10
80
#define VIC_SPI0 10
81
#define VIC_SPI1 11
82
#define VIC_PLL 12
83
#define VIC_RTC 13
84
#define VIC_EINT0 14
85
#define VIC_EINT1 15
86
#define VIC_EINT2 16
87
#define VIC_EINT3 17
88
#define VIC_AD0 18
89
#define VIC_I2C1 19
90
#define VIC_BOD 20
91
#define VIC_AD1 21
92
#define VIC_USB 22
93
94
#define VIC_CAN 19
95
#define VIC_CAN1_TX 20
96
#define VIC_CAN2_TX 21
97
#define VIC_CAN1_RX 26
98
#define VIC_CAN2_RX 27
99
100
101
// Vector Control Register bit definitions
102
#define VIC_ENABLE (1 << 5)
103
104
// Convert Channel Number to Bit Value
105
#define VIC_BIT(chan) (1 << (chan))
106
107
#endif
108
vicRegs_t::intEnable
REG32 intEnable
Definition:
lpcVIC.h:24
vicRegs_t::irqStatus
REG32 irqStatus
Definition:
lpcVIC.h:20
REG32
#define REG32
Definition:
LPC21xx.h:20
vicRegs_t::intEnClear
REG32 intEnClear
Definition:
lpcVIC.h:25
vicRegs_t::vectAddr10
REG32 vectAddr10
Definition:
lpcVIC.h:43
vicRegs_t::vectCntl15
REG32 vectCntl15
Definition:
lpcVIC.h:65
vicRegs_t::vectCntl9
REG32 vectCntl9
Definition:
lpcVIC.h:59
vicRegs_t::vectCntl4
REG32 vectCntl4
Definition:
lpcVIC.h:54
vicRegs_t::vectCntl2
REG32 vectCntl2
Definition:
lpcVIC.h:52
vicRegs_t::vectAddr6
REG32 vectAddr6
Definition:
lpcVIC.h:39
vicRegs_t::vectAddr13
REG32 vectAddr13
Definition:
lpcVIC.h:46
vicRegs_t::intSelect
REG32 intSelect
Definition:
lpcVIC.h:23
vicRegs_t::vectCntl11
REG32 vectCntl11
Definition:
lpcVIC.h:61
vicRegs_t::vectAddr3
REG32 vectAddr3
Definition:
lpcVIC.h:36
vicRegs_t::vectCntl13
REG32 vectCntl13
Definition:
lpcVIC.h:63
vicRegs_t::vectCntl0
REG32 vectCntl0
Definition:
lpcVIC.h:50
vicRegs_t
Definition:
lpcVIC.h:18
vicRegs_t::vectCntl8
REG32 vectCntl8
Definition:
lpcVIC.h:58
vicRegs_t::vectCntl5
REG32 vectCntl5
Definition:
lpcVIC.h:55
vicRegs_t::vectCntl7
REG32 vectCntl7
Definition:
lpcVIC.h:57
vicRegs_t::vectAddr2
REG32 vectAddr2
Definition:
lpcVIC.h:35
vicRegs_t::vectAddr1
REG32 vectAddr1
Definition:
lpcVIC.h:34
vicRegs_t::defVectAddr
REG32 defVectAddr
Definition:
lpcVIC.h:31
vicRegs_t::softIntClear
REG32 softIntClear
Definition:
lpcVIC.h:27
vicRegs_t::vectAddr12
REG32 vectAddr12
Definition:
lpcVIC.h:45
vicRegs_t::protection
REG32 protection
Definition:
lpcVIC.h:28
vicRegs_t::vectCntl10
REG32 vectCntl10
Definition:
lpcVIC.h:60
vicRegs_t::vectAddr
REG32 vectAddr
Definition:
lpcVIC.h:30
vicRegs_t::vectAddr4
REG32 vectAddr4
Definition:
lpcVIC.h:37
vicRegs_t::fiqStatus
REG32 fiqStatus
Definition:
lpcVIC.h:21
vicRegs_t::vectAddr8
REG32 vectAddr8
Definition:
lpcVIC.h:41
vicRegs_t::vectAddr5
REG32 vectAddr5
Definition:
lpcVIC.h:38
vicRegs_t::vectAddr11
REG32 vectAddr11
Definition:
lpcVIC.h:44
vicRegs_t::vectCntl1
REG32 vectCntl1
Definition:
lpcVIC.h:51
vicRegs_t::vectAddr0
REG32 vectAddr0
Definition:
lpcVIC.h:33
vicRegs_t::vectAddr14
REG32 vectAddr14
Definition:
lpcVIC.h:47
vicRegs_t::vectCntl14
REG32 vectCntl14
Definition:
lpcVIC.h:64
vicRegs_t::vectCntl6
REG32 vectCntl6
Definition:
lpcVIC.h:56
vicRegs_t::vectCntl3
REG32 vectCntl3
Definition:
lpcVIC.h:53
vicRegs_t::rawIntr
REG32 rawIntr
Definition:
lpcVIC.h:22
vicRegs_t::softInt
REG32 softInt
Definition:
lpcVIC.h:26
vicRegs_t::vectAddr9
REG32 vectAddr9
Definition:
lpcVIC.h:42
vicRegs_t::vectAddr15
REG32 vectAddr15
Definition:
lpcVIC.h:48
vicRegs_t::vectAddr7
REG32 vectAddr7
Definition:
lpcVIC.h:40
vicRegs_t::vectCntl12
REG32 vectCntl12
Definition:
lpcVIC.h:62
sw
airborne
arch
lpc21
include
lpcVIC.h
Generated on Sat Feb 9 2019 06:43:45 for Paparazzi UAS by
1.8.8