You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ma...@apache.org on 2015/11/03 23:41:35 UTC

[2/5] incubator-mynewt-larva git commit: Make flash as the default destination when building for Olimex.

Make flash as the default destination when building for Olimex.


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/commit/337106c5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/tree/337106c5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/diff/337106c5

Branch: refs/heads/master
Commit: 337106c5bb0023a2de7a65434aac9796bccb02d1
Parents: 6a7a34d
Author: Marko Kiiskila <ma...@runtime.io>
Authored: Tue Nov 3 14:38:51 2015 -0800
Committer: Marko Kiiskila <ma...@runtime.io>
Committed: Tue Nov 3 14:38:51 2015 -0800

----------------------------------------------------------------------
 .../olimex_stm32-e407_devboard.ld               | 34 +++++++++++---------
 1 file changed, 18 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/blob/337106c5/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard.ld
----------------------------------------------------------------------
diff --git a/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard.ld b/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard.ld
index 2872894..952b728 100755
--- a/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard.ld
+++ b/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard.ld
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
  
-/* Linker script for STM32F407 when running code from SRAM */
+/* Linker script for STM32F407 when running from flash and not using the bootloader */
 
 /* Linker script to configure memory regions. */
 MEMORY
 { 
   FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1024K
   CCM (rwx) : ORIGIN = 0x10000000, LENGTH = 64K
-  RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x20000
+  RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x20000 
 }
 
 /* Linker script to place sections and symbol values. Should be used together
@@ -55,7 +55,7 @@ MEMORY
  *   __corebss_start__
  *   __corebss_end__
  *   __ecoredata
- *   __ecorebss
+ *   __ecorebs
  */
 ENTRY(Reset_Handler)
 
@@ -63,8 +63,9 @@ SECTIONS
 {
     .text :
     {
-        __vector_tbl_reloc__ = .;
+        __isr_vector_start = .;
         KEEP(*(.isr_vector))
+        __isr_vector_end = .;
         *(.text*)
 
         KEEP(*(.init))
@@ -87,40 +88,41 @@ SECTIONS
         *(.rodata*)
 
         KEEP(*(.eh_frame*))
-    } > RAM
+    } > FLASH
 
     .ARM.extab : 
     {
         *(.ARM.extab* .gnu.linkonce.armextab.*)
-    } > RAM
+    } > FLASH
 
     __exidx_start = .;
     .ARM.exidx :
     {
         *(.ARM.exidx* .gnu.linkonce.armexidx.*)
-    } > RAM
+    } > FLASH
 
     __exidx_end = .;
 
-    . = ALIGN(8);
     __etext = .;
 
+    .vector_relocation :
+    {
+        . = ALIGN(4);
+        __vector_tbl_reloc__ = .;
+        . = . + (__isr_vector_end - __isr_vector_start);
+        . = ALIGN(4);
+    } > RAM
+
     .coredata : AT (__etext)
     {
         __coredata_start__ = .;
         *(.data.core)
-        . = ALIGN(8);
+        . = ALIGN(4);
         __coredata_end__ = .;
     } > CCM
 
     __ecoredata = __etext + SIZEOF(.coredata);
-
-    /* This section is here so that the start of .data has the same VMA and LMA */
-    .ram_coredata (NOLOAD):
-    {
-        . = . + SIZEOF(.coredata);
-    } > RAM
-
+        
     .data : AT (__ecoredata)
     {
         __data_start__ = .;