LPCOpen Platform  v1.03
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
chip.h
Go to the documentation of this file.
1 /*
2  * @brief LPC8xx basic chip inclusion file
3  *
4  * @note
5  * Copyright(C) NXP Semiconductors, 2012
6  * All rights reserved.
7  *
8  * @par
9  * Software that is described herein is for illustrative purposes only
10  * which provides customers with programming information regarding the
11  * LPC products. This software is supplied "AS IS" without any warranties of
12  * any kind, and NXP Semiconductors and its licensor disclaim any and
13  * all warranties, express or implied, including all implied warranties of
14  * merchantability, fitness for a particular purpose and non-infringement of
15  * intellectual property rights. NXP Semiconductors assumes no responsibility
16  * or liability for the use of the software, conveys no license or rights under any
17  * patent, copyright, mask work right, or any other intellectual property rights in
18  * or to any products. NXP Semiconductors reserves the right to make changes
19  * in the software without notification. NXP Semiconductors also makes no
20  * representation or warranty that such application will be suitable for the
21  * specified use without further testing or modification.
22  *
23  * @par
24  * Permission to use, copy, modify, and distribute this software and its
25  * documentation is hereby granted, under NXP Semiconductors' and its
26  * licensor's relevant copyrights in the software, without fee, provided that it
27  * is used in conjunction with NXP Semiconductors microcontrollers. This
28  * copyright, permission, and disclaimer notice must appear in all copies of
29  * this code.
30  */
31 
32 #ifndef __CHIP_H_
33 #define __CHIP_H_
34 
35 #include "lpc_types.h"
36 #include "sys_config.h"
37 #include "cmsis.h"
38 
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42 
43 #ifndef CORE_M0PLUS
44 #error CORE_M0PLUS is not defined for the LPC8xx architecture
45 #error CORE_M0PLUS should be defined as part of your compiler define list
46 #endif
47 
48 #ifndef CHIP_LPC8XX
49 #error The LPC8XX Chip include path is used for this build, but
50 #error CHIP_LPC8XX is not defined!
51 #endif
52 
72 #include "acmp_001.h"
73 #include "crc_001.h"
74 #include "gpio_001.h"
75 #include "mrt_001.h"
76 #include "spi_002.h"
77 #include "usart_002.h"
78 #include "wwdt_001.h"
79 #include "sct_001.h"
80 #include "wkt_001.h"
81 
87 /* Base addresses */
88 #define LPC_FLASH_BASE (0x00000000UL)
89 #define LPC_RAM_BASE (0x10000000UL)
90 #define LPC_ROM_BASE (0x1FFF0000UL)
91 #define LPC_APB0_BASE (0x40000000UL)
92 #define LPC_AHB_BASE (0x50000000UL)
93 
94 /* APB0 peripherals */
95 #define LPC_WWDT_BASE (0x40000000UL)
96 #define LPC_MRT_BASE (0x40004000UL)
97 #define LPC_WKT_BASE (0x40008000UL)
98 #define LPC_SWM_BASE (0x4000C000UL)
99 #define LPC_PMU_BASE (0x40020000UL)
100 #define LPC_CMP_BASE (0x40024000UL)
101 
102 #define LPC_FMC_BASE (0x40040000UL)
103 #define LPC_IOCON_BASE (0x40044000UL)
104 #define LPC_SYSCTL_BASE (0x40048000UL)
105 #define LPC_I2C_BASE (0x40050000UL)
106 #define LPC_SPI0_BASE (0x40058000UL)
107 #define LPC_SPI1_BASE (0x4005C000UL)
108 #define LPC_USART0_BASE (0x40064000UL)
109 #define LPC_USART1_BASE (0x40068000UL)
110 #define LPC_USART2_BASE (0x4006C000UL)
111 
112 /* AHB peripherals */
113 #define LPC_CRC_BASE (0x50000000UL)
114 #define LPC_SCT_BASE (0x50004000UL)
115 
116 #define LPC_GPIO_PORT_BASE (0xA0000000UL)
117 #define LPC_PIN_INT_BASE (0xA0004000UL)
118 
119 /* Normalize types */
128 
129 #define LPC_WWDT ((LPC_WWDT_T *) LPC_WWDT_BASE)
130 #define LPC_SPI0 ((LPC_SPI_T *) LPC_SPI0_BASE)
131 #define LPC_SPI1 ((LPC_SPI_T *) LPC_SPI1_BASE)
132 #define LPC_USART0 ((LPC_USART_T *) LPC_USART0_BASE)
133 #define LPC_USART1 ((LPC_USART_T *) LPC_USART1_BASE)
134 #define LPC_USART2 ((LPC_USART_T *) LPC_USART2_BASE)
135 #define LPC_WKT ((LPC_WKT_T *) LPC_WKT_BASE)
136 #define LPC_PMU ((LPC_PMU_T *) LPC_PMU_BASE)
137 #define LPC_CRC ((LPC_CRC_T *) LPC_CRC_BASE)
138 #define LPC_SCT ((LPC_SCT_T *) LPC_SCT_BASE)
139 #define LPC_GPIO_PORT ((LPC_GPIO_T *) LPC_GPIO_PORT_BASE)
140 #define LPC_IOCON ((LPC_IOCON_T *) LPC_IOCON_BASE)
141 #define LPC_SWM ((LPC_SWM_T *) LPC_SWM_BASE)
142 #define LPC_SYSCTL ((LPC_SYSCTL_T *) LPC_SYSCTL_BASE)
143 #define LPC_CMP ((LPC_CMP_T *) LPC_CMP_BASE)
144 #define LPC_FMC ((LPC_FMC_T *) LPC_FMC_BASE)
145 #define LPC_MRT ((LPC_MRT_T *) LPC_MRT_BASE)
146 
151 #include "iocon_8xx.h"
152 #include "i2c_8xx.h"
153 #include "syscon_8xx.h"
154 #include "clock_8xx.h"
155 #include "swm_8xx.h"
156 #include "acmp_8xx.h"
157 #include "crc_8xx.h"
158 #include "pinint_8xx.h"
159 #include "gpio_8xx.h"
160 #include "uart_8xx.h"
161 #include "wwdt_8xx.h"
162 #include "spi_8xx.h"
163 #include "uartd_8xx.h"
164 #include "pwrd_8xx.h"
165 #include "i2cd_8xx.h"
166 #include "romapi_8xx.h"
167 #include "wkt_8xx.h"
168 #include "pmu_8xx.h"
169 #include "mrt_8xx.h"
170 #include "fmc_8xx.h"
171 #include "sct_8xx.h"
172 
173 #ifdef __cplusplus
174 }
175 #endif
176 
177 #endif /* __CHIP_H_ */