File tree Expand file tree Collapse file tree 5 files changed +49
-15
lines changed
targets/TARGET_STM/TARGET_STM32F7/TARGET_STM32F769xI Expand file tree Collapse file tree 5 files changed +49
-15
lines changed Original file line number Diff line number Diff line change 31
31
32
32
#include "stm32f7xx.h"
33
33
#include "mbed_error.h"
34
+ #include "nvic_addr.h"
34
35
35
36
/*!< Uncomment the following line if you need to relocate your vector Table in
36
37
Internal SRAM. */
@@ -92,7 +93,7 @@ void SystemInit(void)
92
93
#ifdef VECT_TAB_SRAM
93
94
SCB -> VTOR = RAMDTCM_BASE | VECT_TAB_OFFSET ; /* Vector Table Relocation in Internal SRAM */
94
95
#else
95
- SCB -> VTOR = FLASH_BASE | VECT_TAB_OFFSET ; /* Vector Table Relocation in Internal FLASH */
96
+ SCB -> VTOR = NVIC_FLASH_VECTOR_ADDRESS ; /* Vector Table Relocation in Internal FLASH */
96
97
#endif
97
98
98
99
}
Original file line number Diff line number Diff line change
1
+ #! armcc -E
1
2
; Scatter-Loading Description File
2
3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3
4
; Copyright (c) 2016, STMicroelectronics
27
28
; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
29
30
30
- ; STM32F769NI: 2048 KB FLASH (0x200000) + 512 KB SRAM (0x80000)
31
- LR_IROM1 0x08000000 0x200000 { ; load region size_region
31
+ #if !defined(MBED_APP_START)
32
+ #define MBED_APP_START 0x08000000
33
+ #endif
32
34
33
- ER_IROM1 0x08000000 0x200000 { ; load address = execution address
35
+ ; 2048 KB FLASH (0x200000)
36
+ #if !defined(MBED_APP_SIZE)
37
+ #define MBED_APP_SIZE 0x200000
38
+ #endif
39
+
40
+ LR_IROM1 MBED_APP_START MBED_APP_SIZE { ; load region size_region
41
+
42
+ ER_IROM1 MBED_APP_START MBED_APP_SIZE { ; load address = execution address
34
43
*.o (RESET, +First)
35
44
*(InRoot$$Sections)
36
45
.ANY (+RO)
37
46
}
38
47
39
- ; Total: 126 vectors = 504 bytes (0x1F8) to be reserved in RAM
48
+ ; 512KB SRAM (0x80000)
49
+ ; Total: 126 vectors = 504 bytes (0x1F8 + 0 byte for 8-byte data alignment) to be reserved in RAM
40
50
RW_IRAM1 (0x20000000+0x1F8) (0x80000-0x1F8) { ; RW data
41
51
.ANY (+RW +ZI)
42
52
}
Original file line number Diff line number Diff line change
1
+ #! armcc -E
1
2
; Scatter-Loading Description File
2
3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3
4
; Copyright (c) 2016, STMicroelectronics
27
28
; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
29
30
30
- ; STM32F769NI: 2048 KB FLASH (0x200000) + 512 KB SRAM (0x80000)
31
- LR_IROM1 0x08000000 0x200000 { ; load region size_region
31
+ #if !defined(MBED_APP_START)
32
+ #define MBED_APP_START 0x08000000
33
+ #endif
32
34
33
- ER_IROM1 0x08000000 0x200000 { ; load address = execution address
35
+ ; 2048 KB FLASH (0x200000)
36
+ #if !defined(MBED_APP_SIZE)
37
+ #define MBED_APP_SIZE 0x200000
38
+ #endif
39
+
40
+ LR_IROM1 MBED_APP_START MBED_APP_SIZE { ; load region size_region
41
+
42
+ ER_IROM1 MBED_APP_START MBED_APP_SIZE { ; load address = execution address
34
43
*.o (RESET, +First)
35
44
*(InRoot$$Sections)
36
45
.ANY (+RO)
37
46
}
38
47
39
- ; Total: 126 vectors = 504 bytes (0x1F8) to be reserved in RAM
48
+ ; 512KB SRAM (0x80000)
49
+ ; Total: 126 vectors = 504 bytes (0x1F8 + 0 byte for 8-byte data alignment) to be reserved in RAM
40
50
RW_IRAM1 (0x20000000+0x1F8) (0x80000-0x1F8) { ; RW data
41
51
.ANY (+RW +ZI)
42
52
}
Original file line number Diff line number Diff line change
1
+ #if !defined(MBED_APP_START)
2
+ #define MBED_APP_START 0x08000000
3
+ #endif
4
+
5
+ #if !defined(MBED_APP_SIZE)
6
+ #define MBED_APP_SIZE 2048K
7
+ #endif
8
+
1
9
/* Linker script to configure memory regions. */
10
+ /* Total : 126 vectors = 504 bytes (0x1F8 + 0 byte for 8-byte data alignment) to be reserved in RAM */
2
11
MEMORY
3
12
{
4
- FLASH (rx) : ORIGIN = 0x08000000 , LENGTH = 2048K
13
+ FLASH (rx) : ORIGIN = MBED_APP_START , LENGTH = MBED_APP_SIZE
5
14
RAM (rwx) : ORIGIN = 0x200001F8, LENGTH = 512K - 0x1F8
6
15
}
7
16
Original file line number Diff line number Diff line change 1
1
/* [ROM = 2048kb = 0x200000] */
2
- define symbol __intvec_start__ = 0x08000000;
3
- define symbol __region_ROM_start__ = 0x08000000;
4
- define symbol __region_ROM_end__ = 0x081FFFFF;
2
+ if (!isdefinedsymbol(MBED_APP_START)) { define symbol MBED_APP_START = 0x08000000; }
3
+ if (!isdefinedsymbol(MBED_APP_SIZE)) { define symbol MBED_APP_SIZE = 0x200000; }
5
4
6
- /* [RAM = 512kb = 0x80000] Vector table dynamic copy: 126 vectors = 504 bytes (0x1F8) to be reserved in RAM */
5
+ define symbol __intvec_start__ = MBED_APP_START;
6
+ define symbol __region_ROM_start__ = MBED_APP_START;
7
+ define symbol __region_ROM_end__ = MBED_APP_START + MBED_APP_SIZE - 1;
8
+
9
+ /* [RAM = 512kb = 0x80000] */
10
+ /* Total: 126 vectors = 504 bytes (0x1F8 + 0 byte for 8-byte data alignment) to be reserved in RAM */
7
11
define symbol __NVIC_start__ = 0x20000000;
8
- define symbol __NVIC_end__ = 0x200001F7; /* Aligned on 8 bytes */
12
+ define symbol __NVIC_end__ = 0x200001F7;
9
13
define symbol __region_RAM_start__ = 0x200001F8;
10
14
define symbol __region_RAM_end__ = 0x2007FFFF;
11
15
You can’t perform that action at this time.
0 commit comments