source: trunk/softs/tsar_boot/preloader.ld.in @ 772

Last change on this file since 772 was 759, checked in by cfuguet, 10 years ago

tsar_boot: preloader ldscript is automatically generated

  • Stack for processor 0 is allocated at the end of the cluster(0,0) ram segment:

SEG_RAM_BASE + SEG_RAM_SIZE - RESET_STACK_SIZE

  • code base is equal to the SEG_ROM_BASE constant defined in the hard_config.h file.
File size: 730 bytes
Line 
1/**
2 * \file   : preloader.ld.in
3 * \author : Cesar Fuguet
4 * \date   : July 24, 2014
5 *
6 * \brief  : preloader ldscript template
7 * \note   : must be compiled with gcc to generate an instance
8 */
9
10#include <defs.h>
11
12/* Definition of the base address for code segment */
13
14seg_code_base = SEG_ROM_BASE;
15seg_data_base = SEG_RAM_BASE + SEG_RAM_SIZE - RESET_STACK_SIZE - 0x4000;
16
17/* Grouping sections into segments */
18
19ENTRY(reset)
20
21SECTIONS
22{
23    . = seg_code_base;
24    .text :
25    {
26        *(.reset)
27        *(.rodata)
28        *(.rodata.*)
29        . = ALIGN(0x4);
30        dtb_addr = .;
31        INCLUDE "build/platform.ld";
32    }
33
34    . = seg_data_base;
35    .bss ALIGN(0x4) (NOLOAD) :
36    {
37        *(.data)
38        *(.bss)
39    }
40}
Note: See TracBrowser for help on using the repository browser.