Skip to content

Commit a4badc7

Browse files
committed
Keep LPC11CXX in sync with LPC11XX
Only differences in CMSIS now are: * Top of RAM (0x10001000 vs 0x10002000) * Clock configuration (IRC/System PLL vs System Oscillator/IRC)
1 parent 979bba6 commit a4badc7

File tree

5 files changed

+141
-129
lines changed

5 files changed

+141
-129
lines changed

libraries/mbed/targets/cmsis/TARGET_NXP/TARGET_LPC11CXX/LPC11xx.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@ typedef struct
345345
__IO uint32_t PC; /*!< Offset: 0x010 Prescale Counter Register (R/W) */
346346
__IO uint32_t MCR; /*!< Offset: 0x014 Match Control Register (R/W) */
347347
union {
348-
__IO uint32_t MR[4]; /*!< (@ 0x40014018) Match Register */
348+
__IO uint32_t MR[4]; /*!< Offset: Match Register base */
349349
struct{
350350
__IO uint32_t MR0; /*!< Offset: 0x018 Match Register 0 (R/W) */
351351
__IO uint32_t MR1; /*!< Offset: 0x01C Match Register 1 (R/W) */
Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11

22
LR_IROM1 0x00000000 0x8000 { ; load region size_region (32k)
3+
34
ER_IROM1 0x00000000 0x8000 { ; load address = execution address
45
*.o (RESET, +First)
56
*(InRoot$$Sections)
67
.ANY (+RO)
78
}
8-
; 8_byte_aligned(48 vect * 4 bytes) = 8_byte_aligned(0xC0) = 0xC0
9-
; 8KB - 0xC0 = 0xF40
10-
RW_IRAM1 0x100000C0 0xF40 {
9+
10+
; 48 vectors * 4 bytes = 0xC0 for remap
11+
RW_IRAM1 (0x10000000+0xC0) (0x1000-0xC0) {
1112
.ANY (+RW +ZI)
1213
}
14+
1315
}
1416

libraries/mbed/targets/cmsis/TARGET_NXP/TARGET_LPC11CXX/TOOLCHAIN_ARM_MICRO/startup_LPC11xx.s

Lines changed: 62 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Stack_Size EQU 0x00000400
2525
EXPORT __initial_sp
2626

2727
Stack_Mem SPACE Stack_Size
28-
__initial_sp EQU 0x10001000 ; Top of RAM from LPC1114
28+
__initial_sp EQU 0x10002000 ; Top of RAM from LPC1114
2929

3030

3131
Heap_Size EQU 0x00000000
@@ -63,20 +63,20 @@ __Vectors DCD __initial_sp ; Top of Stack
6363
DCD PendSV_Handler ; PendSV Handler
6464
DCD SysTick_Handler ; SysTick Handler
6565

66-
DCD FLEX_INT0_IRQHandler ; All GPIO pin can be routed to FLEX_INTx
67-
DCD FLEX_INT1_IRQHandler ;
68-
DCD FLEX_INT2_IRQHandler ;
69-
DCD FLEX_INT3_IRQHandler ;
70-
DCD FLEX_INT4_IRQHandler ;
71-
DCD FLEX_INT5_IRQHandler ;
72-
DCD FLEX_INT6_IRQHandler ;
73-
DCD FLEX_INT7_IRQHandler ;
74-
DCD GINT0_IRQHandler ;
75-
DCD GINT1_IRQHandler ; PIO0 (0:7)
76-
DCD Reserved_IRQHandler ; Reserved
77-
DCD Reserved_IRQHandler ;
78-
DCD Reserved_IRQHandler ;
79-
DCD Reserved_IRQHandler ;
66+
DCD SLWU_INT0_IRQHandler ; Start logic wake-up interrupt 0
67+
DCD SLWU_INT1_IRQHandler ; Start logic wake-up interrupt 1
68+
DCD SLWU_INT2_IRQHandler ; Start logic wake-up interrupt 2
69+
DCD SLWU_INT3_IRQHandler ; Start logic wake-up interrupt 3
70+
DCD SLWU_INT4_IRQHandler ; Start logic wake-up interrupt 4
71+
DCD SLWU_INT5_IRQHandler ; Start logic wake-up interrupt 5
72+
DCD SLWU_INT6_IRQHandler ; Start logic wake-up interrupt 6
73+
DCD SLWU_INT7_IRQHandler ; Start logic wake-up interrupt 7
74+
DCD SLWU_INT8_IRQHandler ; Start logic wake-up interrupt 8
75+
DCD SLWU_INT9_IRQHandler ; Start logic wake-up interrupt 9
76+
DCD SLWU_INT10_IRQHandler ; Start logic wake-up interrupt 10
77+
DCD SLWU_INT11_IRQHandler ; Start logic wake-up interrupt 11
78+
DCD SLWU_INT12_IRQHandler ; Start logic wake-up interrupt 12
79+
DCD C_CAN_IRQHandler ; C_CAN
8080
DCD SSP1_IRQHandler ; SSP1
8181
DCD I2C_IRQHandler ; I2C
8282
DCD TIMER16_0_IRQHandler ; 16-bit Timer0
@@ -85,19 +85,19 @@ __Vectors DCD __initial_sp ; Top of Stack
8585
DCD TIMER32_1_IRQHandler ; 32-bit Timer1
8686
DCD SSP0_IRQHandler ; SSP0
8787
DCD UART_IRQHandler ; UART
88-
DCD USB_IRQHandler ; USB IRQ
89-
DCD USB_FIQHandler ; USB FIQ
88+
DCD Reserved_IRQHandler ; Reserved
89+
DCD Reserved_IRQHandler ; Reserved
9090
DCD ADC_IRQHandler ; A/D Converter
9191
DCD WDT_IRQHandler ; Watchdog timer
9292
DCD BOD_IRQHandler ; Brown Out Detect
93-
DCD FMC_IRQHandler ; IP2111 Flash Memory Controller
94-
DCD Reserved_IRQHandler ; Reserved
95-
DCD Reserved_IRQHandler ; Reserved
96-
DCD Reserved_IRQHandler ; Reserved
9793
DCD Reserved_IRQHandler ; Reserved
94+
DCD PIO_3_IRQHandler ; GPIO interrupt status of port 3
95+
DCD PIO_2_IRQHandler ; GPIO interrupt status of port 2
96+
DCD PIO_1_IRQHandler ; GPIO interrupt status of port 1
97+
DCD PIO_0_IRQHandler ; GPIO interrupt status of port 0
9898
9999
;; 48 vector entries. We pad to 128 to fill the 0x0 - 0x1FF REMAP address space
100-
100+
101101
DCD 0xFFFFFFFF ; Datafill
102102
DCD 0xFFFFFFFF ; Datafill
103103
DCD 0xFFFFFFFF ; Datafill
@@ -185,17 +185,14 @@ __Vectors DCD __initial_sp ; Top of Stack
185185
DCD 0xFFFFFFFF ; Datafill
186186
DCD 0xFFFFFFFF ; Datafill
187187
DCD 0xFFFFFFFF ; Datafill
188-
188+
189189
IF :LNOT::DEF:NO_CRP
190190
AREA |.ARM.__at_0x02FC|, CODE, READONLY
191191
CRP_Key DCD 0xFFFFFFFF
192192
ENDIF
193193

194-
195194
AREA |.text|, CODE, READONLY
196195

197-
198-
199196
; Reset Handler
200197

201198
Reset_Handler PROC
@@ -208,14 +205,10 @@ Reset_Handler PROC
208205
BX R0
209206
ENDP
210207

211-
; Dummy Exception Handlers (infinite loops which can be modified)
208+
; Dummy Exception Handlers (infinite loops which can be modified)
212209

213210
; now, under COMMON NMI.c and NMI.h, a real NMI handler is created if NMI is enabled
214211
; for particular peripheral.
215-
;NMI_Handler PROC
216-
; EXPORT NMI_Handler [WEAK]
217-
; B .
218-
; ENDP
219212
HardFault_Handler\
220213
PROC
221214
EXPORT HardFault_Handler [WEAK]
@@ -239,18 +232,22 @@ Reserved_IRQHandler PROC
239232
ENDP
240233

241234
Default_Handler PROC
242-
; for LPC11Uxx (With USB)
235+
; for LPC1114
243236
EXPORT NMI_Handler [WEAK]
244-
EXPORT FLEX_INT0_IRQHandler [WEAK]
245-
EXPORT FLEX_INT1_IRQHandler [WEAK]
246-
EXPORT FLEX_INT2_IRQHandler [WEAK]
247-
EXPORT FLEX_INT3_IRQHandler [WEAK]
248-
EXPORT FLEX_INT4_IRQHandler [WEAK]
249-
EXPORT FLEX_INT5_IRQHandler [WEAK]
250-
EXPORT FLEX_INT6_IRQHandler [WEAK]
251-
EXPORT FLEX_INT7_IRQHandler [WEAK]
252-
EXPORT GINT0_IRQHandler [WEAK]
253-
EXPORT GINT1_IRQHandler [WEAK]
237+
EXPORT SLWU_INT0_IRQHandler [WEAK]
238+
EXPORT SLWU_INT1_IRQHandler [WEAK]
239+
EXPORT SLWU_INT2_IRQHandler [WEAK]
240+
EXPORT SLWU_INT3_IRQHandler [WEAK]
241+
EXPORT SLWU_INT4_IRQHandler [WEAK]
242+
EXPORT SLWU_INT5_IRQHandler [WEAK]
243+
EXPORT SLWU_INT6_IRQHandler [WEAK]
244+
EXPORT SLWU_INT7_IRQHandler [WEAK]
245+
EXPORT SLWU_INT8_IRQHandler [WEAK]
246+
EXPORT SLWU_INT9_IRQHandler [WEAK]
247+
EXPORT SLWU_INT10_IRQHandler [WEAK]
248+
EXPORT SLWU_INT11_IRQHandler [WEAK]
249+
EXPORT SLWU_INT12_IRQHandler [WEAK]
250+
EXPORT C_CAN_IRQHandler [WEAK]
254251
EXPORT SSP1_IRQHandler [WEAK]
255252
EXPORT I2C_IRQHandler [WEAK]
256253
EXPORT TIMER16_0_IRQHandler [WEAK]
@@ -259,26 +256,30 @@ Default_Handler PROC
259256
EXPORT TIMER32_1_IRQHandler [WEAK]
260257
EXPORT SSP0_IRQHandler [WEAK]
261258
EXPORT UART_IRQHandler [WEAK]
262-
263-
EXPORT USB_IRQHandler [WEAK]
264-
EXPORT USB_FIQHandler [WEAK]
265259
EXPORT ADC_IRQHandler [WEAK]
266260
EXPORT WDT_IRQHandler [WEAK]
267261
EXPORT BOD_IRQHandler [WEAK]
268-
EXPORT FMC_IRQHandler [WEAK]
269-
EXPORT USBWakeup_IRQHandler [WEAK]
262+
EXPORT PIO_3_IRQHandler [WEAK]
263+
EXPORT PIO_2_IRQHandler [WEAK]
264+
EXPORT PIO_1_IRQHandler [WEAK]
265+
EXPORT PIO_0_IRQHandler [WEAK]
270266

271267
NMI_Handler
272-
FLEX_INT0_IRQHandler
273-
FLEX_INT1_IRQHandler
274-
FLEX_INT2_IRQHandler
275-
FLEX_INT3_IRQHandler
276-
FLEX_INT4_IRQHandler
277-
FLEX_INT5_IRQHandler
278-
FLEX_INT6_IRQHandler
279-
FLEX_INT7_IRQHandler
280-
GINT0_IRQHandler
281-
GINT1_IRQHandler
268+
269+
SLWU_INT0_IRQHandler
270+
SLWU_INT1_IRQHandler
271+
SLWU_INT2_IRQHandler
272+
SLWU_INT3_IRQHandler
273+
SLWU_INT4_IRQHandler
274+
SLWU_INT5_IRQHandler
275+
SLWU_INT6_IRQHandler
276+
SLWU_INT7_IRQHandler
277+
SLWU_INT8_IRQHandler
278+
SLWU_INT9_IRQHandler
279+
SLWU_INT10_IRQHandler
280+
SLWU_INT11_IRQHandler
281+
SLWU_INT12_IRQHandler
282+
C_CAN_IRQHandler
282283
SSP1_IRQHandler
283284
I2C_IRQHandler
284285
TIMER16_0_IRQHandler
@@ -287,13 +288,13 @@ TIMER32_0_IRQHandler
287288
TIMER32_1_IRQHandler
288289
SSP0_IRQHandler
289290
UART_IRQHandler
290-
USB_IRQHandler
291-
USB_FIQHandler
292291
ADC_IRQHandler
293292
WDT_IRQHandler
294293
BOD_IRQHandler
295-
FMC_IRQHandler
296-
USBWakeup_IRQHandler
294+
PIO_3_IRQHandler
295+
PIO_2_IRQHandler
296+
PIO_1_IRQHandler
297+
PIO_0_IRQHandler
297298

298299
B .
299300

0 commit comments

Comments
 (0)