sketchy slow test with LEDs
[cortex-from-scratch] / link.ld
diff --git a/link.ld b/link.ld
index d1a01dd..d8361dc 100644 (file)
--- a/link.ld
+++ b/link.ld
@@ -1,9 +1,31 @@
-/* 
- * MEMORY MAP
+/* (CC-BY-NC-SA) ROBIN KRENS - ROBIN @ ROBINKRENS.NL
+ * 
+ * $LOG$
+ * 2019/7/20 - ROBIN KRENS     
+ * Initial version 
+ * 
+ * $DESCRIPTION$
+ * Linker file for Cortex-M3 STM32 based boards
+ * Boards have similar FLASH and SRAM ORIGINs
+ * LENGTHs differs of course.
+ * 
+ * _start flag is the first procedure to be 
+ * executed (linked to beginning of FLASH at 
+ * 0x08000000). The procedure should do some
+ * basic things, such as set up the stack and
+ * reset and hard fault handler (see start.asm)
+ * *
+ * _endofbss flag is used to calculate the end 
+ * of .bss and the start of (a possible) kernel
+ * heap
+ *
+ * */
+
+MEMORY
 {
        FLASH (xr) : ORIGIN = 0x08000000, LENGTH = 512K
        SRAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K
-} */
+} 
 
 ENTRY(_start) 
 
@@ -12,17 +34,18 @@ SECTIONS
        . = 0x0;
        .text : ALIGN(4)
        {
-               /* (.vector_table */ 
+               /* (.vector_table */
                *(.text)
-
-       } 
-       . = 0x20000000;
+               *(.rodata)
+       }
+        . = 0x20000000;        
        .data :  
        {
                *(.data)
-       }
-       .bss : ALIGN(256)
+       } 
+       .bss : ALIGN(4) 
        {
                *(.bss)
        }
+               _endofbss = .;  
 }