The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Revision:
171:3a7713b1edbc
Parent:
123:b0220dba8be7
--- a/TARGET_NUCLEO_F207ZG/TOOLCHAIN_GCC_ARM/STM32F207ZGTx_FLASH.ld	Thu Sep 06 13:39:34 2018 +0100
+++ b/TARGET_NUCLEO_F207ZG/TOOLCHAIN_GCC_ARM/STM32F207ZGTx_FLASH.ld	Thu Nov 08 11:45:42 2018 +0000
@@ -1,16 +1,25 @@
+#if !defined(MBED_APP_START)
+  #define MBED_APP_START 0x8000000
+#endif
+
+#if !defined(MBED_APP_SIZE)
+  #define MBED_APP_SIZE 1024k
+#endif
+
 /* Linker script to configure memory regions. */
 /* 97 vectors * 4 bytes = 388 bytes to reserve (0x184) */
+/* 8-byte aligned(0x184) = 0x188 */
 MEMORY
-{ 
-  FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 1024K
-  RAM (rwx) : ORIGIN = 0x20000184, LENGTH = 128K - 0x184
+{
+  FLASH (rx) : ORIGIN = MBED_APP_START, LENGTH = MBED_APP_SIZE
+  RAM (rwx) : ORIGIN = 0x20000188, LENGTH = 128K - 0x188
 }
 
 /* Linker script to place sections and symbol values. Should be used together
  * with other linker script that defines memory regions FLASH and RAM.
  * It references following symbols, which must be defined in code:
  *   Reset_Handler : Entry of reset handler
- * 
+ *
  * It defines following symbols, which code can use without definition:
  *   __exidx_start
  *   __exidx_end
@@ -85,13 +94,13 @@
         *(vtable)
         *(.data*)
 
-        . = ALIGN(4);
+        . = ALIGN(8);
         /* preinit data */
         PROVIDE_HIDDEN (__preinit_array_start = .);
         KEEP(*(.preinit_array))
         PROVIDE_HIDDEN (__preinit_array_end = .);
 
-        . = ALIGN(4);
+        . = ALIGN(8);
         /* init data */
         PROVIDE_HIDDEN (__init_array_start = .);
         KEEP(*(SORT(.init_array.*)))
@@ -99,7 +108,7 @@
         PROVIDE_HIDDEN (__init_array_end = .);
 
 
-        . = ALIGN(4);
+        . = ALIGN(8);
         /* finit data */
         PROVIDE_HIDDEN (__fini_array_start = .);
         KEEP(*(SORT(.fini_array.*)))
@@ -107,7 +116,7 @@
         PROVIDE_HIDDEN (__fini_array_end = .);
 
         KEEP(*(.jcr*))
-        . = ALIGN(4);
+        . = ALIGN(8);
         /* All data end */
         __data_end__ = .;
         _edata = .;
@@ -116,12 +125,12 @@
 
     .bss :
     {
-        . = ALIGN(4);
+        . = ALIGN(8);
         __bss_start__ = .;
         _sbss = .;
         *(.bss*)
         *(COMMON)
-        . = ALIGN(4);
+        . = ALIGN(8);
         __bss_end__ = .;
         _ebss = .;
     } > RAM