mirror of https://github.com/ARMmbed/mbed-os.git
startup ARM - stack pointer, serial functional
- stack pointer correction - startup for ARM - clean up - GCC ARM linker - RAM size correction - NVIC - RAM addresspull/135/head
parent
4e09b52a71
commit
3dc97b20c0
|
@ -12,28 +12,7 @@
|
||||||
; *****************************************************************************/
|
; *****************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
; <h> Stack Configuration
|
__initial_sp EQU 0x20002000 ; Top of RAM
|
||||||
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
|
|
||||||
; </h>
|
|
||||||
|
|
||||||
Stack_Size EQU 0x00000400
|
|
||||||
|
|
||||||
AREA STACK, NOINIT, READWRITE, ALIGN=3
|
|
||||||
Stack_Mem SPACE Stack_Size
|
|
||||||
__initial_sp
|
|
||||||
|
|
||||||
|
|
||||||
; <h> Heap Configuration
|
|
||||||
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
|
|
||||||
; </h>
|
|
||||||
|
|
||||||
Heap_Size EQU 0x00000000
|
|
||||||
|
|
||||||
AREA HEAP, NOINIT, READWRITE, ALIGN=3
|
|
||||||
__heap_base
|
|
||||||
Heap_Mem SPACE Heap_Size
|
|
||||||
__heap_limit
|
|
||||||
|
|
||||||
|
|
||||||
PRESERVE8
|
PRESERVE8
|
||||||
THUMB
|
THUMB
|
||||||
|
@ -110,200 +89,6 @@ __Vectors DCD __initial_sp ; Top of Stack
|
||||||
DCD PORTD_IRQHandler ; Port D interrupt
|
DCD PORTD_IRQHandler ; Port D interrupt
|
||||||
DCD PORTE_IRQHandler ; Port E interrupt
|
DCD PORTE_IRQHandler ; Port E interrupt
|
||||||
DCD SWI_IRQHandler ; Software interrupt
|
DCD SWI_IRQHandler ; Software interrupt
|
||||||
DCD DefaultISR ; 62
|
|
||||||
DCD DefaultISR ; 63
|
|
||||||
DCD DefaultISR ; 64
|
|
||||||
DCD DefaultISR ; 65
|
|
||||||
DCD DefaultISR ; 66
|
|
||||||
DCD DefaultISR ; 67
|
|
||||||
DCD DefaultISR ; 68
|
|
||||||
DCD DefaultISR ; 69
|
|
||||||
DCD DefaultISR ; 70
|
|
||||||
DCD DefaultISR ; 71
|
|
||||||
DCD DefaultISR ; 72
|
|
||||||
DCD DefaultISR ; 73
|
|
||||||
DCD DefaultISR ; 74
|
|
||||||
DCD DefaultISR ; 75
|
|
||||||
DCD DefaultISR ; 76
|
|
||||||
DCD DefaultISR ; 77
|
|
||||||
DCD DefaultISR ; 78
|
|
||||||
DCD DefaultISR ; 79
|
|
||||||
DCD DefaultISR ; 80
|
|
||||||
DCD DefaultISR ; 81
|
|
||||||
DCD DefaultISR ; 82
|
|
||||||
DCD DefaultISR ; 83
|
|
||||||
DCD DefaultISR ; 84
|
|
||||||
DCD DefaultISR ; 85
|
|
||||||
DCD DefaultISR ; 86
|
|
||||||
DCD DefaultISR ; 87
|
|
||||||
DCD DefaultISR ; 88
|
|
||||||
DCD DefaultISR ; 89
|
|
||||||
DCD DefaultISR ; 90
|
|
||||||
DCD DefaultISR ; 91
|
|
||||||
DCD DefaultISR ; 92
|
|
||||||
DCD DefaultISR ; 93
|
|
||||||
DCD DefaultISR ; 94
|
|
||||||
DCD DefaultISR ; 95
|
|
||||||
DCD DefaultISR ; 96
|
|
||||||
DCD DefaultISR ; 97
|
|
||||||
DCD DefaultISR ; 98
|
|
||||||
DCD DefaultISR ; 99
|
|
||||||
DCD DefaultISR ; 100
|
|
||||||
DCD DefaultISR ; 101
|
|
||||||
DCD DefaultISR ; 102
|
|
||||||
DCD DefaultISR ; 103
|
|
||||||
DCD DefaultISR ; 104
|
|
||||||
DCD DefaultISR ; 105
|
|
||||||
DCD DefaultISR ; 106
|
|
||||||
DCD DefaultISR ; 107
|
|
||||||
DCD DefaultISR ; 108
|
|
||||||
DCD DefaultISR ; 109
|
|
||||||
DCD DefaultISR ; 110
|
|
||||||
DCD DefaultISR ; 111
|
|
||||||
DCD DefaultISR ; 112
|
|
||||||
DCD DefaultISR ; 113
|
|
||||||
DCD DefaultISR ; 114
|
|
||||||
DCD DefaultISR ; 115
|
|
||||||
DCD DefaultISR ; 116
|
|
||||||
DCD DefaultISR ; 117
|
|
||||||
DCD DefaultISR ; 118
|
|
||||||
DCD DefaultISR ; 119
|
|
||||||
DCD DefaultISR ; 120
|
|
||||||
DCD DefaultISR ; 121
|
|
||||||
DCD DefaultISR ; 122
|
|
||||||
DCD DefaultISR ; 123
|
|
||||||
DCD DefaultISR ; 124
|
|
||||||
DCD DefaultISR ; 125
|
|
||||||
DCD DefaultISR ; 126
|
|
||||||
DCD DefaultISR ; 127
|
|
||||||
DCD DefaultISR ; 128
|
|
||||||
DCD DefaultISR ; 129
|
|
||||||
DCD DefaultISR ; 130
|
|
||||||
DCD DefaultISR ; 131
|
|
||||||
DCD DefaultISR ; 132
|
|
||||||
DCD DefaultISR ; 133
|
|
||||||
DCD DefaultISR ; 134
|
|
||||||
DCD DefaultISR ; 135
|
|
||||||
DCD DefaultISR ; 136
|
|
||||||
DCD DefaultISR ; 137
|
|
||||||
DCD DefaultISR ; 138
|
|
||||||
DCD DefaultISR ; 139
|
|
||||||
DCD DefaultISR ; 140
|
|
||||||
DCD DefaultISR ; 141
|
|
||||||
DCD DefaultISR ; 142
|
|
||||||
DCD DefaultISR ; 143
|
|
||||||
DCD DefaultISR ; 144
|
|
||||||
DCD DefaultISR ; 145
|
|
||||||
DCD DefaultISR ; 146
|
|
||||||
DCD DefaultISR ; 147
|
|
||||||
DCD DefaultISR ; 148
|
|
||||||
DCD DefaultISR ; 149
|
|
||||||
DCD DefaultISR ; 150
|
|
||||||
DCD DefaultISR ; 151
|
|
||||||
DCD DefaultISR ; 152
|
|
||||||
DCD DefaultISR ; 153
|
|
||||||
DCD DefaultISR ; 154
|
|
||||||
DCD DefaultISR ; 155
|
|
||||||
DCD DefaultISR ; 156
|
|
||||||
DCD DefaultISR ; 157
|
|
||||||
DCD DefaultISR ; 158
|
|
||||||
DCD DefaultISR ; 159
|
|
||||||
DCD DefaultISR ; 160
|
|
||||||
DCD DefaultISR ; 161
|
|
||||||
DCD DefaultISR ; 162
|
|
||||||
DCD DefaultISR ; 163
|
|
||||||
DCD DefaultISR ; 164
|
|
||||||
DCD DefaultISR ; 165
|
|
||||||
DCD DefaultISR ; 166
|
|
||||||
DCD DefaultISR ; 167
|
|
||||||
DCD DefaultISR ; 168
|
|
||||||
DCD DefaultISR ; 169
|
|
||||||
DCD DefaultISR ; 170
|
|
||||||
DCD DefaultISR ; 171
|
|
||||||
DCD DefaultISR ; 172
|
|
||||||
DCD DefaultISR ; 173
|
|
||||||
DCD DefaultISR ; 174
|
|
||||||
DCD DefaultISR ; 175
|
|
||||||
DCD DefaultISR ; 176
|
|
||||||
DCD DefaultISR ; 177
|
|
||||||
DCD DefaultISR ; 178
|
|
||||||
DCD DefaultISR ; 179
|
|
||||||
DCD DefaultISR ; 180
|
|
||||||
DCD DefaultISR ; 181
|
|
||||||
DCD DefaultISR ; 182
|
|
||||||
DCD DefaultISR ; 183
|
|
||||||
DCD DefaultISR ; 184
|
|
||||||
DCD DefaultISR ; 185
|
|
||||||
DCD DefaultISR ; 186
|
|
||||||
DCD DefaultISR ; 187
|
|
||||||
DCD DefaultISR ; 188
|
|
||||||
DCD DefaultISR ; 189
|
|
||||||
DCD DefaultISR ; 190
|
|
||||||
DCD DefaultISR ; 191
|
|
||||||
DCD DefaultISR ; 192
|
|
||||||
DCD DefaultISR ; 193
|
|
||||||
DCD DefaultISR ; 194
|
|
||||||
DCD DefaultISR ; 195
|
|
||||||
DCD DefaultISR ; 196
|
|
||||||
DCD DefaultISR ; 197
|
|
||||||
DCD DefaultISR ; 198
|
|
||||||
DCD DefaultISR ; 199
|
|
||||||
DCD DefaultISR ; 200
|
|
||||||
DCD DefaultISR ; 201
|
|
||||||
DCD DefaultISR ; 202
|
|
||||||
DCD DefaultISR ; 203
|
|
||||||
DCD DefaultISR ; 204
|
|
||||||
DCD DefaultISR ; 205
|
|
||||||
DCD DefaultISR ; 206
|
|
||||||
DCD DefaultISR ; 207
|
|
||||||
DCD DefaultISR ; 208
|
|
||||||
DCD DefaultISR ; 209
|
|
||||||
DCD DefaultISR ; 210
|
|
||||||
DCD DefaultISR ; 211
|
|
||||||
DCD DefaultISR ; 212
|
|
||||||
DCD DefaultISR ; 213
|
|
||||||
DCD DefaultISR ; 214
|
|
||||||
DCD DefaultISR ; 215
|
|
||||||
DCD DefaultISR ; 216
|
|
||||||
DCD DefaultISR ; 217
|
|
||||||
DCD DefaultISR ; 218
|
|
||||||
DCD DefaultISR ; 219
|
|
||||||
DCD DefaultISR ; 220
|
|
||||||
DCD DefaultISR ; 221
|
|
||||||
DCD DefaultISR ; 222
|
|
||||||
DCD DefaultISR ; 223
|
|
||||||
DCD DefaultISR ; 224
|
|
||||||
DCD DefaultISR ; 225
|
|
||||||
DCD DefaultISR ; 226
|
|
||||||
DCD DefaultISR ; 227
|
|
||||||
DCD DefaultISR ; 228
|
|
||||||
DCD DefaultISR ; 229
|
|
||||||
DCD DefaultISR ; 230
|
|
||||||
DCD DefaultISR ; 231
|
|
||||||
DCD DefaultISR ; 232
|
|
||||||
DCD DefaultISR ; 233
|
|
||||||
DCD DefaultISR ; 234
|
|
||||||
DCD DefaultISR ; 235
|
|
||||||
DCD DefaultISR ; 236
|
|
||||||
DCD DefaultISR ; 237
|
|
||||||
DCD DefaultISR ; 238
|
|
||||||
DCD DefaultISR ; 239
|
|
||||||
DCD DefaultISR ; 240
|
|
||||||
DCD DefaultISR ; 241
|
|
||||||
DCD DefaultISR ; 242
|
|
||||||
DCD DefaultISR ; 243
|
|
||||||
DCD DefaultISR ; 244
|
|
||||||
DCD DefaultISR ; 245
|
|
||||||
DCD DefaultISR ; 246
|
|
||||||
DCD DefaultISR ; 247
|
|
||||||
DCD DefaultISR ; 248
|
|
||||||
DCD DefaultISR ; 249
|
|
||||||
DCD DefaultISR ; 250
|
|
||||||
DCD DefaultISR ; 251
|
|
||||||
DCD DefaultISR ; 252
|
|
||||||
DCD DefaultISR ; 253
|
|
||||||
DCD DefaultISR ; 254
|
|
||||||
DCD DefaultISR ; 255
|
|
||||||
__Vectors_End
|
__Vectors_End
|
||||||
|
|
||||||
__Vectors_Size EQU __Vectors_End - __Vectors
|
__Vectors_Size EQU __Vectors_End - __Vectors
|
||||||
|
@ -624,31 +409,4 @@ DefaultISR
|
||||||
|
|
||||||
|
|
||||||
ALIGN
|
ALIGN
|
||||||
|
|
||||||
|
|
||||||
; User Initial Stack & Heap
|
|
||||||
|
|
||||||
IF :DEF:__MICROLIB
|
|
||||||
|
|
||||||
EXPORT __initial_sp
|
|
||||||
EXPORT __heap_base
|
|
||||||
EXPORT __heap_limit
|
|
||||||
|
|
||||||
ELSE
|
|
||||||
|
|
||||||
IMPORT __use_two_region_memory
|
|
||||||
EXPORT __user_initial_stackheap
|
|
||||||
__user_initial_stackheap
|
|
||||||
|
|
||||||
LDR R0, = Heap_Mem
|
|
||||||
LDR R1, =(Stack_Mem + Stack_Size)
|
|
||||||
LDR R2, = (Heap_Mem + Heap_Size)
|
|
||||||
LDR R3, = Stack_Mem
|
|
||||||
BX LR
|
|
||||||
|
|
||||||
ALIGN
|
|
||||||
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
|
@ -7,7 +7,7 @@ MEMORY
|
||||||
VECTORS (rx) : ORIGIN = 0x00000000, LENGTH = 0x00000400
|
VECTORS (rx) : ORIGIN = 0x00000000, LENGTH = 0x00000400
|
||||||
FLASH_PROTECTION (rx) : ORIGIN = 0x00000400, LENGTH = 0x00000010
|
FLASH_PROTECTION (rx) : ORIGIN = 0x00000400, LENGTH = 0x00000010
|
||||||
FLASH (rx) : ORIGIN = 0x00000410, LENGTH = 128K - 0x00000410
|
FLASH (rx) : ORIGIN = 0x00000410, LENGTH = 128K - 0x00000410
|
||||||
RAM (rwx) : ORIGIN = 0x1FFFE0F8, LENGTH = 16K - 0xC8
|
RAM (rwx) : ORIGIN = 0x1FFFE0F8, LENGTH = 16K - 0xF8
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Linker script to place sections and symbol values. Should be used together
|
/* Linker script to place sections and symbol values. Should be used together
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
*/
|
*/
|
||||||
#include "cmsis_nvic.h"
|
#include "cmsis_nvic.h"
|
||||||
|
|
||||||
#define NVIC_RAM_VECTOR_ADDRESS (0x1FFFF000) // Vectors positioned at start of RAM
|
#define NVIC_RAM_VECTOR_ADDRESS (0x1FFFE000) // Vectors positioned at start of RAM
|
||||||
#define NVIC_FLASH_VECTOR_ADDRESS (0x0) // Initial vector position in flash
|
#define NVIC_FLASH_VECTOR_ADDRESS (0x0) // Initial vector position in flash
|
||||||
|
|
||||||
void NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) {
|
void NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) {
|
||||||
|
|
|
@ -203,8 +203,8 @@ typedef enum {
|
||||||
LED4 = LED_RED,
|
LED4 = LED_RED,
|
||||||
|
|
||||||
// USB Pins
|
// USB Pins
|
||||||
USBTX = PTB1,
|
USBTX = PTB17,
|
||||||
USBRX = PTB2,
|
USBRX = PTB16,
|
||||||
|
|
||||||
// Arduino Headers
|
// Arduino Headers
|
||||||
D0 = PTE1,
|
D0 = PTE1,
|
||||||
|
|
|
@ -28,26 +28,12 @@
|
||||||
* INITIALIZATION
|
* INITIALIZATION
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
static const PinMap PinMap_UART_TX[] = {
|
static const PinMap PinMap_UART_TX[] = {
|
||||||
{PTC4, UART_1, 3},
|
{PTB17, UART_0, 3},
|
||||||
{PTA2, UART_0, 2},
|
|
||||||
{PTD5, UART_2, 3},
|
|
||||||
{PTD3, UART_2, 3},
|
|
||||||
{PTD7, UART_0, 3},
|
|
||||||
{PTE20, UART_0, 4},
|
|
||||||
{PTE22, UART_2, 4},
|
|
||||||
{PTE0, UART_1, 3},
|
|
||||||
{NC , NC , 0}
|
{NC , NC , 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
static const PinMap PinMap_UART_RX[] = {
|
static const PinMap PinMap_UART_RX[] = {
|
||||||
{PTC3, UART_1, 3},
|
{PTB16, UART_0, 3},
|
||||||
{PTA1, UART_0, 2},
|
|
||||||
{PTD4, UART_2, 3},
|
|
||||||
{PTD2, UART_2, 3},
|
|
||||||
{PTD6, UART_0, 3},
|
|
||||||
{PTE23, UART_2, 4},
|
|
||||||
{PTE21, UART_0, 4},
|
|
||||||
{PTE1, UART_1, 3},
|
|
||||||
{NC , NC , 0}
|
{NC , NC , 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue