Skip to content

Commit fc00035

Browse files
Add bare metal support to Toshiba targets
Modify scatter files to specify heap load region and add small libraries to list of supported libraries in target.json.# Please enter the commit message for your changes. Lines starting
1 parent 2660621 commit fc00035

File tree

3 files changed

+59
-10
lines changed

3 files changed

+59
-10
lines changed

targets/TARGET_TOSHIBA/TARGET_TMPM46B/device/TOOLCHAIN_ARM_STD/tmpm46bf10fg.sct

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,14 @@
2222
#define MBED_APP_SIZE 0x100000
2323
#endif
2424

25+
#if !defined(MBED_RAM_START)
26+
#define MBED_RAM_START 0x20000000
27+
#endif
28+
29+
#if !defined(MBED_RAM_SIZE)
30+
#define MBED_RAM_SIZE 0x30000
31+
#endif
32+
2533
#if !defined(MBED_CONF_TARGET_BOOT_STACK_SIZE)
2634
# if defined(MBED_BOOT_STACK_SIZE)
2735
# define MBED_CONF_TARGET_BOOT_STACK_SIZE MBED_BOOT_STACK_SIZE
@@ -31,6 +39,11 @@
3139
#endif
3240

3341
#define Stack_Size MBED_CONF_TARGET_BOOT_STACK_SIZE
42+
#define VECTOR_SIZE 0x320
43+
44+
#define RAM_FIXED_SIZE (MBED_CONF_TARGET_BOOT_STACK_SIZE + VECTOR_SIZE)
45+
#define MBED_IRAM1_START (MBED_RAM_START + VECTOR_SIZE)
46+
#define MBED_IRAM1_SIZE (MBED_RAM_SIZE - VECTOR_SIZE - Stack_Size)
3447

3548
; TMPM46B: 1024 KB FLASH (0x100000) + 512 KB SRAM (0x80000)
3649

@@ -43,12 +56,13 @@ LR_IROM1 MBED_APP_START MBED_APP_SIZE ; load region size_region
4356
.ANY (+RO)
4457
}
4558

46-
RW_IRAM1 0x200001E0 (0x80000 - 0x1E0 - Stack_Size)
59+
RW_IRAM1 MBED_IRAM1_START MBED_IRAM1_SIZE
4760
{
48-
tmpm46b_fc.o(+RO)
61+
tmpm4g9_fc.o (+RO)
4962
.ANY (+RW, +ZI)
5063
}
51-
52-
ARM_LIB_STACK (0x20000000+0x80000) EMPTY -Stack_Size { ; stack
64+
ARM_LIB_HEAP AlignExpr(+0, 16) EMPTY (MBED_RAM_SIZE - RAM_FIXED_SIZE - (AlignExpr(ImageLimit(RW_IRAM1), 16) - MBED_IRAM1_START)) { ; heap
65+
}
66+
ARM_LIB_STACK (MBED_RAM_START+MBED_RAM_SIZE) EMPTY -Stack_Size { ; stack
5367
}
5468
}

targets/TARGET_TOSHIBA/TARGET_TMPM4G9/device/TOOLCHAIN_ARM_STD/tmpm4g9f15.sct

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,14 @@
3838
#define MBED_APP_SIZE 0x000180000
3939
#endif
4040

41+
#if !defined(MBED_RAM_START)
42+
#define MBED_RAM_START 0x20000000
43+
#endif
44+
45+
#if !defined(MBED_RAM_SIZE)
46+
#define MBED_RAM_SIZE 0x30000
47+
#endif
48+
4149
#if !defined(MBED_CONF_TARGET_BOOT_STACK_SIZE)
4250
# if defined(MBED_BOOT_STACK_SIZE)
4351
# define MBED_CONF_TARGET_BOOT_STACK_SIZE MBED_BOOT_STACK_SIZE
@@ -47,6 +55,11 @@
4755
#endif
4856

4957
#define Stack_Size MBED_CONF_TARGET_BOOT_STACK_SIZE
58+
#define VECTOR_SIZE 0x320
59+
60+
#define RAM_FIXED_SIZE (MBED_CONF_TARGET_BOOT_STACK_SIZE + VECTOR_SIZE)
61+
#define MBED_IRAM1_START (MBED_RAM_START + VECTOR_SIZE)
62+
#define MBED_IRAM1_SIZE (MBED_RAM_SIZE - VECTOR_SIZE - Stack_Size)
5063

5164
; TMPM4G9: 1536 KB FLASH (0x180000) + 192 KB SRAM (0x30000)
5265

@@ -58,13 +71,13 @@ LR_IROM1 MBED_APP_START MBED_APP_SIZE ; load region size_region
5871
*(InRoot$$Sections)
5972
.ANY (+RO)
6073
}
61-
62-
RW_IRAM1 0x20000320 (0x30000 - 0x320 - Stack_Size)
74+
RW_IRAM1 MBED_IRAM1_START MBED_IRAM1_SIZE
6375
{
6476
tmpm4g9_fc.o (+RO)
6577
.ANY (+RW, +ZI)
6678
}
67-
68-
ARM_LIB_STACK (0x20000000+0x30000) EMPTY -Stack_Size { ; stack
79+
ARM_LIB_HEAP AlignExpr(+0, 16) EMPTY (MBED_RAM_SIZE - RAM_FIXED_SIZE - (AlignExpr(ImageLimit(RW_IRAM1), 16) - MBED_IRAM1_START)) { ; heap
80+
}
81+
ARM_LIB_STACK (MBED_RAM_START+MBED_RAM_SIZE) EMPTY -Stack_Size { ; stack
6982
}
7083
}

targets/targets.json

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6358,7 +6358,18 @@
63586358
"release_versions": [
63596359
"5"
63606360
],
6361-
"bootloader_supported": true
6361+
"bootloader_supported": true,
6362+
"supported_application_profiles" : ["full", "bare-metal"],
6363+
"supported_c_libs": {
6364+
"arm": [
6365+
"std",
6366+
"small"
6367+
],
6368+
"gcc_arm": [
6369+
"std",
6370+
"small"
6371+
]
6372+
}
63626373
},
63636374
"ARM_FM": {
63646375
"inherits": [
@@ -6647,7 +6658,18 @@
66476658
"release_versions": [
66486659
"5"
66496660
],
6650-
"bootloader_supported": true
6661+
"bootloader_supported": true,
6662+
"supported_application_profiles" : ["full", "bare-metal"],
6663+
"supported_c_libs": {
6664+
"arm": [
6665+
"std",
6666+
"small"
6667+
],
6668+
"gcc_arm": [
6669+
"std",
6670+
"small"
6671+
]
6672+
}
66516673
},
66526674
"MCU_PSOC6": {
66536675
"inherits": [

0 commit comments

Comments
 (0)