Skip to content

Commit 00cfdba

Browse files
committed
Merge remote-tracking branch 'upstream/master' into lpc4088
2 parents cbab9bb + 1f243a9 commit 00cfdba

File tree

50 files changed

+2011
-53
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+2011
-53
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ NXP:
2424
* [LPC1768](http://mbed.org/handbook/mbed-NXP-LPC1768) (Cortex-M3)
2525
* [LPC11U24](http://mbed.org/handbook/mbed-NXP-LPC11U24) (Cortex-M0)
2626
* LPC2368 (ARM7TDMI-S)
27+
* LPC810 (Cortex-M0+)
2728
* LPC812 (Cortex-M0+)
2829
* LPC4088 (Cortex-M4)
2930
* LPC4330 (Cortex-M4 + Cortex-M0)

libraries/USBDevice/USBDevice/USBEndpoints.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ typedef enum {
3939
/* Include configuration for specific target */
4040
#if defined(TARGET_LPC1768) || defined(TARGET_LPC2368) || defined(TARGET_LPC4088)
4141
#include "USBEndpoints_LPC17_LPC23.h"
42-
#elif defined(TARGET_LPC11U24) || defined(TARGET_LPC1347)
42+
#elif defined(TARGET_LPC11UXX) || defined(TARGET_LPC1347)
4343
#include "USBEndpoints_LPC11U.h"
4444
#elif defined(TARGET_KL25Z)
4545
#include "USBEndpoints_KL25Z.h"

libraries/mbed/api/FilePath.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ class FilePath {
3434

3535
bool isFile(void);
3636
FileLike* file(void);
37+
bool exists(void);
3738

3839
private:
3940
const char* file_name;

libraries/mbed/common/FilePath.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,6 @@ FilePath::FilePath(const char* file_path) : file_name(NULL), fb(NULL) {
3636
file_name++;
3737
}
3838

39-
FileBase::lookup(file_system, len);
40-
41-
4239
fb = FileBase::lookup(file_system, len);
4340
}
4441

@@ -47,6 +44,8 @@ const char* FilePath::fileName(void) {
4744
}
4845

4946
bool FilePath::isFileSystem(void) {
47+
if (NULL == fb)
48+
return false;
5049
return (fb->getPathType() == FileSystemPathType);
5150
}
5251

@@ -58,6 +57,8 @@ FileSystemLike* FilePath::fileSystem(void) {
5857
}
5958

6059
bool FilePath::isFile(void) {
60+
if (NULL == fb)
61+
return false;
6162
return (fb->getPathType() == FilePathType);
6263
}
6364

@@ -68,4 +69,8 @@ FileLike* FilePath::file(void) {
6869
return NULL;
6970
}
7071

72+
bool FilePath::exists(void) {
73+
return fb != NULL;
74+
}
75+
7176
} // namespace mbed

libraries/mbed/common/retarget.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,9 @@ extern "C" FILEHANDLE PREFIX(_open)(const char* name, int openmode) {
163163
} else {
164164
FilePath path(name);
165165

166-
if (path.isFile()) {
166+
if (!path.exists())
167+
return -1;
168+
else if (path.isFile()) {
167169
res = path.file();
168170
} else {
169171
FileSystemLike *fs = path.fileSystem();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,325 @@
1+
;/*****************************************************************************
2+
; * @file: startup_LPC11xx.s
3+
; * @purpose: CMSIS Cortex-M0 Core Device Startup File
4+
; * for the NXP LPC11xx Device Series
5+
; * @version: V1.0
6+
; * @date: 25. Nov. 2008
7+
; *------- <<< Use Configuration Wizard in Context Menu >>> ------------------
8+
; *
9+
; * Copyright (C) 2008 ARM Limited. All rights reserved.
10+
; * ARM Limited (ARM) is supplying this software for use with Cortex-M0
11+
; * processor based microcontrollers. This file can be freely distributed
12+
; * within development tools that are supporting such ARM based processors.
13+
; *
14+
; * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
15+
; * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
16+
; * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
17+
; * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
18+
; * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
19+
; *
20+
; *****************************************************************************/
21+
22+
Stack_Size EQU 0x00000400
23+
24+
AREA STACK, NOINIT, READWRITE, ALIGN=3
25+
EXPORT __initial_sp
26+
27+
Stack_Mem SPACE Stack_Size
28+
__initial_sp EQU 0x10001800 ; Top of RAM from LPC11U
29+
30+
31+
Heap_Size EQU 0x00000000
32+
33+
AREA HEAP, NOINIT, READWRITE, ALIGN=3
34+
EXPORT __heap_base
35+
EXPORT __heap_limit
36+
37+
__heap_base
38+
Heap_Mem SPACE Heap_Size
39+
__heap_limit
40+
41+
PRESERVE8
42+
THUMB
43+
44+
; Vector Table Mapped to Address 0 at Reset
45+
46+
AREA RESET, DATA, READONLY
47+
EXPORT __Vectors
48+
49+
__Vectors DCD __initial_sp ; Top of Stack
50+
DCD Reset_Handler ; Reset Handler
51+
DCD NMI_Handler ; NMI Handler
52+
DCD HardFault_Handler ; Hard Fault Handler
53+
DCD MemManage_Handler ; MPU Fault Handler
54+
DCD BusFault_Handler ; Bus Fault Handler
55+
DCD UsageFault_Handler ; Usage Fault Handler
56+
DCD 0 ; Reserved
57+
DCD 0 ; Reserved
58+
DCD 0 ; Reserved
59+
DCD 0 ; Reserved
60+
DCD SVC_Handler ; SVCall Handler
61+
DCD DebugMon_Handler ; Debug Monitor Handler
62+
DCD 0 ; Reserved
63+
DCD PendSV_Handler ; PendSV Handler
64+
DCD SysTick_Handler ; SysTick Handler
65+
66+
; External Interrupts
67+
; for LPC11Uxx (With USB)
68+
DCD FLEX_INT0_IRQHandler ; All GPIO pin can be routed to FLEX_INTx
69+
DCD FLEX_INT1_IRQHandler
70+
DCD FLEX_INT2_IRQHandler
71+
DCD FLEX_INT3_IRQHandler
72+
DCD FLEX_INT4_IRQHandler
73+
DCD FLEX_INT5_IRQHandler
74+
DCD FLEX_INT6_IRQHandler
75+
DCD FLEX_INT7_IRQHandler
76+
DCD GINT0_IRQHandler
77+
DCD GINT1_IRQHandler ; PIO0 (0:7)
78+
DCD Reserved_IRQHandler ; Reserved
79+
DCD Reserved_IRQHandler
80+
DCD Reserved_IRQHandler
81+
DCD Reserved_IRQHandler
82+
DCD SSP1_IRQHandler ; SSP1
83+
DCD I2C_IRQHandler ; I2C
84+
DCD TIMER16_0_IRQHandler ; 16-bit Timer0
85+
DCD TIMER16_1_IRQHandler ; 16-bit Timer1
86+
DCD TIMER32_0_IRQHandler ; 32-bit Timer0
87+
DCD TIMER32_1_IRQHandler ; 32-bit Timer1
88+
DCD SSP0_IRQHandler ; SSP0
89+
DCD UART_IRQHandler ; UART
90+
DCD USB_IRQHandler ; USB IRQ
91+
DCD USB_FIQHandler ; USB FIQ
92+
DCD ADC_IRQHandler ; A/D Converter
93+
DCD WDT_IRQHandler ; Watchdog timer
94+
DCD BOD_IRQHandler ; Brown Out Detect
95+
DCD FMC_IRQHandler ; IP2111 Flash Memory Controller
96+
DCD Reserved_IRQHandler ; Reserved
97+
DCD Reserved_IRQHandler ; Reserved
98+
DCD USBWakeup_IRQHandler ; USB wake up
99+
DCD Reserved_IRQHandler ; Reserved
100+
101+
;; 48 vector entries. We pad to 128 to fill the 0x0 - 0x1FF REMAP address space
102+
103+
DCD 0xFFFFFFFF ; Datafill
104+
DCD 0xFFFFFFFF ; Datafill
105+
DCD 0xFFFFFFFF ; Datafill
106+
DCD 0xFFFFFFFF ; Datafill
107+
DCD 0xFFFFFFFF ; Datafill
108+
DCD 0xFFFFFFFF ; Datafill
109+
DCD 0xFFFFFFFF ; Datafill
110+
DCD 0xFFFFFFFF ; Datafill
111+
DCD 0xFFFFFFFF ; Datafill
112+
DCD 0xFFFFFFFF ; Datafill
113+
114+
DCD 0xFFFFFFFF ; Datafill
115+
DCD 0xFFFFFFFF ; Datafill
116+
DCD 0xFFFFFFFF ; Datafill
117+
DCD 0xFFFFFFFF ; Datafill
118+
DCD 0xFFFFFFFF ; Datafill
119+
DCD 0xFFFFFFFF ; Datafill
120+
DCD 0xFFFFFFFF ; Datafill
121+
DCD 0xFFFFFFFF ; Datafill
122+
DCD 0xFFFFFFFF ; Datafill
123+
DCD 0xFFFFFFFF ; Datafill
124+
125+
DCD 0xFFFFFFFF ; Datafill
126+
DCD 0xFFFFFFFF ; Datafill
127+
DCD 0xFFFFFFFF ; Datafill
128+
DCD 0xFFFFFFFF ; Datafill
129+
DCD 0xFFFFFFFF ; Datafill
130+
DCD 0xFFFFFFFF ; Datafill
131+
DCD 0xFFFFFFFF ; Datafill
132+
DCD 0xFFFFFFFF ; Datafill
133+
DCD 0xFFFFFFFF ; Datafill
134+
DCD 0xFFFFFFFF ; Datafill
135+
136+
DCD 0xFFFFFFFF ; Datafill
137+
DCD 0xFFFFFFFF ; Datafill
138+
DCD 0xFFFFFFFF ; Datafill
139+
DCD 0xFFFFFFFF ; Datafill
140+
DCD 0xFFFFFFFF ; Datafill
141+
DCD 0xFFFFFFFF ; Datafill
142+
DCD 0xFFFFFFFF ; Datafill
143+
DCD 0xFFFFFFFF ; Datafill
144+
DCD 0xFFFFFFFF ; Datafill
145+
DCD 0xFFFFFFFF ; Datafill
146+
147+
DCD 0xFFFFFFFF ; Datafill
148+
DCD 0xFFFFFFFF ; Datafill
149+
DCD 0xFFFFFFFF ; Datafill
150+
DCD 0xFFFFFFFF ; Datafill
151+
DCD 0xFFFFFFFF ; Datafill
152+
DCD 0xFFFFFFFF ; Datafill
153+
DCD 0xFFFFFFFF ; Datafill
154+
DCD 0xFFFFFFFF ; Datafill
155+
DCD 0xFFFFFFFF ; Datafill
156+
DCD 0xFFFFFFFF ; Datafill
157+
158+
DCD 0xFFFFFFFF ; Datafill
159+
DCD 0xFFFFFFFF ; Datafill
160+
DCD 0xFFFFFFFF ; Datafill
161+
DCD 0xFFFFFFFF ; Datafill
162+
DCD 0xFFFFFFFF ; Datafill
163+
DCD 0xFFFFFFFF ; Datafill
164+
DCD 0xFFFFFFFF ; Datafill
165+
DCD 0xFFFFFFFF ; Datafill
166+
DCD 0xFFFFFFFF ; Datafill
167+
DCD 0xFFFFFFFF ; Datafill
168+
169+
DCD 0xFFFFFFFF ; Datafill
170+
DCD 0xFFFFFFFF ; Datafill
171+
DCD 0xFFFFFFFF ; Datafill
172+
DCD 0xFFFFFFFF ; Datafill
173+
DCD 0xFFFFFFFF ; Datafill
174+
DCD 0xFFFFFFFF ; Datafill
175+
DCD 0xFFFFFFFF ; Datafill
176+
DCD 0xFFFFFFFF ; Datafill
177+
DCD 0xFFFFFFFF ; Datafill
178+
DCD 0xFFFFFFFF ; Datafill
179+
180+
DCD 0xFFFFFFFF ; Datafill
181+
DCD 0xFFFFFFFF ; Datafill
182+
DCD 0xFFFFFFFF ; Datafill
183+
DCD 0xFFFFFFFF ; Datafill
184+
DCD 0xFFFFFFFF ; Datafill
185+
DCD 0xFFFFFFFF ; Datafill
186+
DCD 0xFFFFFFFF ; Datafill
187+
DCD 0xFFFFFFFF ; Datafill
188+
DCD 0xFFFFFFFF ; Datafill
189+
DCD 0xFFFFFFFF ; Datafill
190+
191+
IF :LNOT::DEF:NO_CRP
192+
AREA |.ARM.__at_0x02FC|, CODE, READONLY
193+
CRP_Key DCD 0xFFFFFFFF
194+
ENDIF
195+
196+
197+
AREA |.text|, CODE, READONLY
198+
199+
200+
201+
; Reset Handler
202+
203+
Reset_Handler PROC
204+
EXPORT Reset_Handler [WEAK]
205+
IMPORT SystemInit
206+
IMPORT __main
207+
LDR R0, =SystemInit
208+
BLX R0
209+
LDR R0, =__main
210+
BX R0
211+
ENDP
212+
213+
; Dummy Exception Handlers (infinite loops which can be modified)
214+
215+
; now, under COMMON NMI.c and NMI.h, a real NMI handler is created if NMI is enabled
216+
; for particular peripheral.
217+
;NMI_Handler PROC
218+
; EXPORT NMI_Handler [WEAK]
219+
; B .
220+
; ENDP
221+
HardFault_Handler\
222+
PROC
223+
EXPORT HardFault_Handler [WEAK]
224+
B .
225+
ENDP
226+
MemManage_Handler\
227+
PROC
228+
EXPORT MemManage_Handler [WEAK]
229+
B .
230+
ENDP
231+
BusFault_Handler\
232+
PROC
233+
EXPORT BusFault_Handler [WEAK]
234+
B .
235+
ENDP
236+
UsageFault_Handler\
237+
PROC
238+
EXPORT UsageFault_Handler [WEAK]
239+
B .
240+
ENDP
241+
SVC_Handler PROC
242+
EXPORT SVC_Handler [WEAK]
243+
B .
244+
ENDP
245+
DebugMon_Handler\
246+
PROC
247+
EXPORT DebugMon_Handler [WEAK]
248+
B .
249+
ENDP
250+
PendSV_Handler PROC
251+
EXPORT PendSV_Handler [WEAK]
252+
B .
253+
ENDP
254+
SysTick_Handler PROC
255+
EXPORT SysTick_Handler [WEAK]
256+
B .
257+
ENDP
258+
Reserved_IRQHandler PROC
259+
EXPORT Reserved_IRQHandler [WEAK]
260+
B .
261+
ENDP
262+
263+
Default_Handler PROC
264+
; for LPC11Uxx (With USB)
265+
EXPORT NMI_Handler [WEAK]
266+
EXPORT FLEX_INT0_IRQHandler [WEAK]
267+
EXPORT FLEX_INT1_IRQHandler [WEAK]
268+
EXPORT FLEX_INT2_IRQHandler [WEAK]
269+
EXPORT FLEX_INT3_IRQHandler [WEAK]
270+
EXPORT FLEX_INT4_IRQHandler [WEAK]
271+
EXPORT FLEX_INT5_IRQHandler [WEAK]
272+
EXPORT FLEX_INT6_IRQHandler [WEAK]
273+
EXPORT FLEX_INT7_IRQHandler [WEAK]
274+
EXPORT GINT0_IRQHandler [WEAK]
275+
EXPORT GINT1_IRQHandler [WEAK]
276+
EXPORT SSP1_IRQHandler [WEAK]
277+
EXPORT I2C_IRQHandler [WEAK]
278+
EXPORT TIMER16_0_IRQHandler [WEAK]
279+
EXPORT TIMER16_1_IRQHandler [WEAK]
280+
EXPORT TIMER32_0_IRQHandler [WEAK]
281+
EXPORT TIMER32_1_IRQHandler [WEAK]
282+
EXPORT SSP0_IRQHandler [WEAK]
283+
EXPORT UART_IRQHandler [WEAK]
284+
285+
EXPORT USB_IRQHandler [WEAK]
286+
EXPORT USB_FIQHandler [WEAK]
287+
EXPORT ADC_IRQHandler [WEAK]
288+
EXPORT WDT_IRQHandler [WEAK]
289+
EXPORT BOD_IRQHandler [WEAK]
290+
EXPORT FMC_IRQHandler [WEAK]
291+
EXPORT USBWakeup_IRQHandler [WEAK]
292+
293+
NMI_Handler
294+
FLEX_INT0_IRQHandler
295+
FLEX_INT1_IRQHandler
296+
FLEX_INT2_IRQHandler
297+
FLEX_INT3_IRQHandler
298+
FLEX_INT4_IRQHandler
299+
FLEX_INT5_IRQHandler
300+
FLEX_INT6_IRQHandler
301+
FLEX_INT7_IRQHandler
302+
GINT0_IRQHandler
303+
GINT1_IRQHandler
304+
SSP1_IRQHandler
305+
I2C_IRQHandler
306+
TIMER16_0_IRQHandler
307+
TIMER16_1_IRQHandler
308+
TIMER32_0_IRQHandler
309+
TIMER32_1_IRQHandler
310+
SSP0_IRQHandler
311+
UART_IRQHandler
312+
USB_IRQHandler
313+
USB_FIQHandler
314+
ADC_IRQHandler
315+
WDT_IRQHandler
316+
BOD_IRQHandler
317+
FMC_IRQHandler
318+
USBWakeup_IRQHandler
319+
320+
B .
321+
322+
ENDP
323+
324+
ALIGN
325+
END

0 commit comments

Comments
 (0)