Skip to content

Commit 3dc97b2

Browse files
committed
startup ARM - stack pointer, serial functional
- stack pointer correction - startup for ARM - clean up - GCC ARM linker - RAM size correction - NVIC - RAM address
1 parent 4e09b52 commit 3dc97b2

File tree

5 files changed

+8
-264
lines changed

5 files changed

+8
-264
lines changed

libraries/mbed/targets/cmsis/TARGET_Freescale/TARGET_K20D5M/TOOLCHAIN_ARM_STD/startup_MK20D5.s

Lines changed: 1 addition & 243 deletions
Original file line numberDiff line numberDiff line change
@@ -12,28 +12,7 @@
1212
; *****************************************************************************/
1313

1414

15-
; <h> Stack Configuration
16-
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
17-
; </h>
18-
19-
Stack_Size EQU 0x00000400
20-
21-
AREA STACK, NOINIT, READWRITE, ALIGN=3
22-
Stack_Mem SPACE Stack_Size
23-
__initial_sp
24-
25-
26-
; <h> Heap Configuration
27-
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
28-
; </h>
29-
30-
Heap_Size EQU 0x00000000
31-
32-
AREA HEAP, NOINIT, READWRITE, ALIGN=3
33-
__heap_base
34-
Heap_Mem SPACE Heap_Size
35-
__heap_limit
36-
15+
__initial_sp EQU 0x20002000 ; Top of RAM
3716

3817
PRESERVE8
3918
THUMB
@@ -110,200 +89,6 @@ __Vectors DCD __initial_sp ; Top of Stack
11089
DCD PORTD_IRQHandler ; Port D interrupt
11190
DCD PORTE_IRQHandler ; Port E interrupt
11291
DCD SWI_IRQHandler ; Software interrupt
113-
DCD DefaultISR ; 62
114-
DCD DefaultISR ; 63
115-
DCD DefaultISR ; 64
116-
DCD DefaultISR ; 65
117-
DCD DefaultISR ; 66
118-
DCD DefaultISR ; 67
119-
DCD DefaultISR ; 68
120-
DCD DefaultISR ; 69
121-
DCD DefaultISR ; 70
122-
DCD DefaultISR ; 71
123-
DCD DefaultISR ; 72
124-
DCD DefaultISR ; 73
125-
DCD DefaultISR ; 74
126-
DCD DefaultISR ; 75
127-
DCD DefaultISR ; 76
128-
DCD DefaultISR ; 77
129-
DCD DefaultISR ; 78
130-
DCD DefaultISR ; 79
131-
DCD DefaultISR ; 80
132-
DCD DefaultISR ; 81
133-
DCD DefaultISR ; 82
134-
DCD DefaultISR ; 83
135-
DCD DefaultISR ; 84
136-
DCD DefaultISR ; 85
137-
DCD DefaultISR ; 86
138-
DCD DefaultISR ; 87
139-
DCD DefaultISR ; 88
140-
DCD DefaultISR ; 89
141-
DCD DefaultISR ; 90
142-
DCD DefaultISR ; 91
143-
DCD DefaultISR ; 92
144-
DCD DefaultISR ; 93
145-
DCD DefaultISR ; 94
146-
DCD DefaultISR ; 95
147-
DCD DefaultISR ; 96
148-
DCD DefaultISR ; 97
149-
DCD DefaultISR ; 98
150-
DCD DefaultISR ; 99
151-
DCD DefaultISR ; 100
152-
DCD DefaultISR ; 101
153-
DCD DefaultISR ; 102
154-
DCD DefaultISR ; 103
155-
DCD DefaultISR ; 104
156-
DCD DefaultISR ; 105
157-
DCD DefaultISR ; 106
158-
DCD DefaultISR ; 107
159-
DCD DefaultISR ; 108
160-
DCD DefaultISR ; 109
161-
DCD DefaultISR ; 110
162-
DCD DefaultISR ; 111
163-
DCD DefaultISR ; 112
164-
DCD DefaultISR ; 113
165-
DCD DefaultISR ; 114
166-
DCD DefaultISR ; 115
167-
DCD DefaultISR ; 116
168-
DCD DefaultISR ; 117
169-
DCD DefaultISR ; 118
170-
DCD DefaultISR ; 119
171-
DCD DefaultISR ; 120
172-
DCD DefaultISR ; 121
173-
DCD DefaultISR ; 122
174-
DCD DefaultISR ; 123
175-
DCD DefaultISR ; 124
176-
DCD DefaultISR ; 125
177-
DCD DefaultISR ; 126
178-
DCD DefaultISR ; 127
179-
DCD DefaultISR ; 128
180-
DCD DefaultISR ; 129
181-
DCD DefaultISR ; 130
182-
DCD DefaultISR ; 131
183-
DCD DefaultISR ; 132
184-
DCD DefaultISR ; 133
185-
DCD DefaultISR ; 134
186-
DCD DefaultISR ; 135
187-
DCD DefaultISR ; 136
188-
DCD DefaultISR ; 137
189-
DCD DefaultISR ; 138
190-
DCD DefaultISR ; 139
191-
DCD DefaultISR ; 140
192-
DCD DefaultISR ; 141
193-
DCD DefaultISR ; 142
194-
DCD DefaultISR ; 143
195-
DCD DefaultISR ; 144
196-
DCD DefaultISR ; 145
197-
DCD DefaultISR ; 146
198-
DCD DefaultISR ; 147
199-
DCD DefaultISR ; 148
200-
DCD DefaultISR ; 149
201-
DCD DefaultISR ; 150
202-
DCD DefaultISR ; 151
203-
DCD DefaultISR ; 152
204-
DCD DefaultISR ; 153
205-
DCD DefaultISR ; 154
206-
DCD DefaultISR ; 155
207-
DCD DefaultISR ; 156
208-
DCD DefaultISR ; 157
209-
DCD DefaultISR ; 158
210-
DCD DefaultISR ; 159
211-
DCD DefaultISR ; 160
212-
DCD DefaultISR ; 161
213-
DCD DefaultISR ; 162
214-
DCD DefaultISR ; 163
215-
DCD DefaultISR ; 164
216-
DCD DefaultISR ; 165
217-
DCD DefaultISR ; 166
218-
DCD DefaultISR ; 167
219-
DCD DefaultISR ; 168
220-
DCD DefaultISR ; 169
221-
DCD DefaultISR ; 170
222-
DCD DefaultISR ; 171
223-
DCD DefaultISR ; 172
224-
DCD DefaultISR ; 173
225-
DCD DefaultISR ; 174
226-
DCD DefaultISR ; 175
227-
DCD DefaultISR ; 176
228-
DCD DefaultISR ; 177
229-
DCD DefaultISR ; 178
230-
DCD DefaultISR ; 179
231-
DCD DefaultISR ; 180
232-
DCD DefaultISR ; 181
233-
DCD DefaultISR ; 182
234-
DCD DefaultISR ; 183
235-
DCD DefaultISR ; 184
236-
DCD DefaultISR ; 185
237-
DCD DefaultISR ; 186
238-
DCD DefaultISR ; 187
239-
DCD DefaultISR ; 188
240-
DCD DefaultISR ; 189
241-
DCD DefaultISR ; 190
242-
DCD DefaultISR ; 191
243-
DCD DefaultISR ; 192
244-
DCD DefaultISR ; 193
245-
DCD DefaultISR ; 194
246-
DCD DefaultISR ; 195
247-
DCD DefaultISR ; 196
248-
DCD DefaultISR ; 197
249-
DCD DefaultISR ; 198
250-
DCD DefaultISR ; 199
251-
DCD DefaultISR ; 200
252-
DCD DefaultISR ; 201
253-
DCD DefaultISR ; 202
254-
DCD DefaultISR ; 203
255-
DCD DefaultISR ; 204
256-
DCD DefaultISR ; 205
257-
DCD DefaultISR ; 206
258-
DCD DefaultISR ; 207
259-
DCD DefaultISR ; 208
260-
DCD DefaultISR ; 209
261-
DCD DefaultISR ; 210
262-
DCD DefaultISR ; 211
263-
DCD DefaultISR ; 212
264-
DCD DefaultISR ; 213
265-
DCD DefaultISR ; 214
266-
DCD DefaultISR ; 215
267-
DCD DefaultISR ; 216
268-
DCD DefaultISR ; 217
269-
DCD DefaultISR ; 218
270-
DCD DefaultISR ; 219
271-
DCD DefaultISR ; 220
272-
DCD DefaultISR ; 221
273-
DCD DefaultISR ; 222
274-
DCD DefaultISR ; 223
275-
DCD DefaultISR ; 224
276-
DCD DefaultISR ; 225
277-
DCD DefaultISR ; 226
278-
DCD DefaultISR ; 227
279-
DCD DefaultISR ; 228
280-
DCD DefaultISR ; 229
281-
DCD DefaultISR ; 230
282-
DCD DefaultISR ; 231
283-
DCD DefaultISR ; 232
284-
DCD DefaultISR ; 233
285-
DCD DefaultISR ; 234
286-
DCD DefaultISR ; 235
287-
DCD DefaultISR ; 236
288-
DCD DefaultISR ; 237
289-
DCD DefaultISR ; 238
290-
DCD DefaultISR ; 239
291-
DCD DefaultISR ; 240
292-
DCD DefaultISR ; 241
293-
DCD DefaultISR ; 242
294-
DCD DefaultISR ; 243
295-
DCD DefaultISR ; 244
296-
DCD DefaultISR ; 245
297-
DCD DefaultISR ; 246
298-
DCD DefaultISR ; 247
299-
DCD DefaultISR ; 248
300-
DCD DefaultISR ; 249
301-
DCD DefaultISR ; 250
302-
DCD DefaultISR ; 251
303-
DCD DefaultISR ; 252
304-
DCD DefaultISR ; 253
305-
DCD DefaultISR ; 254
306-
DCD DefaultISR ; 255
30792
__Vectors_End
30893

30994
__Vectors_Size EQU __Vectors_End - __Vectors
@@ -624,31 +409,4 @@ DefaultISR
624409

625410

626411
ALIGN
627-
628-
629-
; User Initial Stack & Heap
630-
631-
IF :DEF:__MICROLIB
632-
633-
EXPORT __initial_sp
634-
EXPORT __heap_base
635-
EXPORT __heap_limit
636-
637-
ELSE
638-
639-
IMPORT __use_two_region_memory
640-
EXPORT __user_initial_stackheap
641-
__user_initial_stackheap
642-
643-
LDR R0, = Heap_Mem
644-
LDR R1, =(Stack_Mem + Stack_Size)
645-
LDR R2, = (Heap_Mem + Heap_Size)
646-
LDR R3, = Stack_Mem
647-
BX LR
648-
649-
ALIGN
650-
651-
ENDIF
652-
653-
654412
END

libraries/mbed/targets/cmsis/TARGET_Freescale/TARGET_K20D5M/TOOLCHAIN_GCC_ARM/MK20D5.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ MEMORY
77
VECTORS (rx) : ORIGIN = 0x00000000, LENGTH = 0x00000400
88
FLASH_PROTECTION (rx) : ORIGIN = 0x00000400, LENGTH = 0x00000010
99
FLASH (rx) : ORIGIN = 0x00000410, LENGTH = 128K - 0x00000410
10-
RAM (rwx) : ORIGIN = 0x1FFFE0F8, LENGTH = 16K - 0xC8
10+
RAM (rwx) : ORIGIN = 0x1FFFE0F8, LENGTH = 16K - 0xF8
1111
}
1212

1313
/* Linker script to place sections and symbol values. Should be used together

libraries/mbed/targets/cmsis/TARGET_Freescale/TARGET_K20D5M/cmsis_nvic.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
* Copyright (c) 2011 ARM Limited. All rights reserved.
33
*
44
* CMSIS-style functionality to support dynamic vectors
5-
*/
5+
*/
66
#include "cmsis_nvic.h"
77

8-
#define NVIC_RAM_VECTOR_ADDRESS (0x1FFFF000) // Vectors positioned at start of RAM
8+
#define NVIC_RAM_VECTOR_ADDRESS (0x1FFFE000) // Vectors positioned at start of RAM
99
#define NVIC_FLASH_VECTOR_ADDRESS (0x0) // Initial vector position in flash
1010

1111
void NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) {

libraries/mbed/targets/hal/TARGET_Freescale/TARGET_K20D5M/PinNames.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,8 +203,8 @@ typedef enum {
203203
LED4 = LED_RED,
204204

205205
// USB Pins
206-
USBTX = PTB1,
207-
USBRX = PTB2,
206+
USBTX = PTB17,
207+
USBRX = PTB16,
208208

209209
// Arduino Headers
210210
D0 = PTE1,

libraries/mbed/targets/hal/TARGET_Freescale/TARGET_K20D5M/serial_api.c

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -28,26 +28,12 @@
2828
* INITIALIZATION
2929
******************************************************************************/
3030
static const PinMap PinMap_UART_TX[] = {
31-
{PTC4, UART_1, 3},
32-
{PTA2, UART_0, 2},
33-
{PTD5, UART_2, 3},
34-
{PTD3, UART_2, 3},
35-
{PTD7, UART_0, 3},
36-
{PTE20, UART_0, 4},
37-
{PTE22, UART_2, 4},
38-
{PTE0, UART_1, 3},
31+
{PTB17, UART_0, 3},
3932
{NC , NC , 0}
4033
};
4134

4235
static const PinMap PinMap_UART_RX[] = {
43-
{PTC3, UART_1, 3},
44-
{PTA1, UART_0, 2},
45-
{PTD4, UART_2, 3},
46-
{PTD2, UART_2, 3},
47-
{PTD6, UART_0, 3},
48-
{PTE23, UART_2, 4},
49-
{PTE21, UART_0, 4},
50-
{PTE1, UART_1, 3},
36+
{PTB16, UART_0, 3},
5137
{NC , NC , 0}
5238
};
5339

0 commit comments

Comments
 (0)