[PATCH 16/47] bsp/tms570: Avoid vector overlay memory region

Sebastian Huber sebastian.huber at embedded-brains.de
Thu Dec 21 14:37:49 UTC 2023


Reserve the space in a section.  This makes it possible to use a common
memory region definition.
---
 .../arm/tms570/start/linkcmds.tms570ls3137_hdk_intram | 11 ++++++++---
 bsps/arm/tms570/start/linkcmds.tms570ls3137_hdk_sdram | 11 ++++++++---
 .../start/linkcmds.tms570ls3137_hdk_with_loader       | 11 ++++++++---
 3 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/bsps/arm/tms570/start/linkcmds.tms570ls3137_hdk_intram b/bsps/arm/tms570/start/linkcmds.tms570ls3137_hdk_intram
index c5f2d1cfaf..cf7dbb6521 100644
--- a/bsps/arm/tms570/start/linkcmds.tms570ls3137_hdk_intram
+++ b/bsps/arm/tms570/start/linkcmds.tms570ls3137_hdk_intram
@@ -1,8 +1,7 @@
 
 MEMORY {
 	ROM_INT (RX) :   ORIGIN = 0x00000000, LENGTH = 3M
-	RAM_INT_VEC :    ORIGIN = 0x08000000, LENGTH = 256
-	RAM_INT (AIWX) : ORIGIN = 0x08000100, LENGTH = 256k - 256
+	RAM_INT (AIWX) : ORIGIN = 0x08000100, LENGTH = 256k
 	RAM_EXT (AIW) :  ORIGIN = 0x80000000, LENGTH = 8M
 }
 
@@ -25,6 +24,12 @@ REGION_ALIAS ("REGION_NOCACHE", RAM_INT);
 REGION_ALIAS ("REGION_NOCACHE_LOAD", RAM_INT);
 
 bsp_vector_table_in_start_section = 1;
-bsp_int_vec_overlay_start = ORIGIN(RAM_INT_VEC);
+
+SECTIONS {
+  .int_vec_overlay : ALIGN_WITH_INPUT {
+    bsp_int_vec_overlay_start = .;
+    . += 256;
+  } > RAM_INT AT > RAM_INT
+}
 
 INCLUDE linkcmds.armv4
diff --git a/bsps/arm/tms570/start/linkcmds.tms570ls3137_hdk_sdram b/bsps/arm/tms570/start/linkcmds.tms570ls3137_hdk_sdram
index fa8365bad1..d5cbd45a87 100644
--- a/bsps/arm/tms570/start/linkcmds.tms570ls3137_hdk_sdram
+++ b/bsps/arm/tms570/start/linkcmds.tms570ls3137_hdk_sdram
@@ -1,8 +1,7 @@
 
 MEMORY {
 	ROM_INT (RX)  : ORIGIN = 0x00000000, LENGTH = 3M
-	RAM_INT_VEC :    ORIGIN = 0x08000000, LENGTH = 256
-	RAM_INT (AIWX) : ORIGIN = 0x08000100, LENGTH = 256k - 256
+	RAM_INT (AIWX) : ORIGIN = 0x08000100, LENGTH = 256k
 	RAM_EXT (AIWX) : ORIGIN = 0x80000000, LENGTH = 8M
 }
 
@@ -25,6 +24,12 @@ REGION_ALIAS ("REGION_NOCACHE", RAM_EXT);
 REGION_ALIAS ("REGION_NOCACHE_LOAD", RAM_EXT);
 
 bsp_vector_table_in_start_section = 1;
-bsp_int_vec_overlay_start = ORIGIN(RAM_INT_VEC);
+
+SECTIONS {
+  .int_vec_overlay : ALIGN_WITH_INPUT {
+    bsp_int_vec_overlay_start = .;
+    . += 256;
+  } > RAM_INT AT > RAM_INT
+}
 
 INCLUDE linkcmds.armv4
diff --git a/bsps/arm/tms570/start/linkcmds.tms570ls3137_hdk_with_loader b/bsps/arm/tms570/start/linkcmds.tms570ls3137_hdk_with_loader
index 86b602b1f1..6e633975fb 100644
--- a/bsps/arm/tms570/start/linkcmds.tms570ls3137_hdk_with_loader
+++ b/bsps/arm/tms570/start/linkcmds.tms570ls3137_hdk_with_loader
@@ -2,8 +2,7 @@
 MEMORY {
   ROM_BOOT(RX)  : ORIGIN = 0x00000000, LENGTH = 256k
   ROM_INT (RX)  : ORIGIN = 0x00040000, LENGTH = 3M-256k
-  RAM_INT_VEC :    ORIGIN = 0x08000000, LENGTH = 256
-  RAM_INT (AIWX) : ORIGIN = 0x08000100, LENGTH = 256k - 256
+  RAM_INT (AIWX) : ORIGIN = 0x08000100, LENGTH = 256k
   RAM_EXT (AIWX) : ORIGIN = 0x80000000, LENGTH = 8M
 }
 
@@ -26,6 +25,12 @@ REGION_ALIAS ("REGION_NOCACHE", RAM_INT);
 REGION_ALIAS ("REGION_NOCACHE_LOAD", RAM_INT);
 
 bsp_vector_table_in_start_section = 1;
-bsp_int_vec_overlay_start = ORIGIN(RAM_INT_VEC);
+
+SECTIONS {
+  .int_vec_overlay : ALIGN_WITH_INPUT {
+    bsp_int_vec_overlay_start = .;
+    . += 256;
+  } > RAM_INT AT > RAM_INT
+}
 
 INCLUDE linkcmds.armv4
-- 
2.35.3



More information about the devel mailing list