annotate gsm-fw/finlink/ld-script.src @ 665:39bacc7d5c49

gsm-fw: starting to compile comlib
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sun, 28 Sep 2014 05:42:46 +0000
parents 46e5c90fd0b8
children 210268d8e553
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1 dnl This ld script source is fed through m4 in order to fill in
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
2 dnl those settings which depend on the configuration.
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
3 dnl Memory region sizes are set in ../include/config.m4, generated
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
4 dnl by the configuration mechanism based on the selected target,
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
5 dnl and the Makefile prepends flash.m4 or xram.m4 to select the
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
6 dnl type of image we are linking: either the regular flashable image,
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
7 dnl or a RAM-only test image (to be loaded via fc-xram) that does not
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
8 dnl touch the flash and pretends as if the flash doesn't even exist.
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
9
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
10 /*
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
11 * FreeCalypso ld script for the Buildmem build
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
12 */
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
13
633
da72b51c0572 gsm-fw/finlink: flashImage support added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 632
diff changeset
14 ENTRY(ifelse(Buildmem,XRAM,_FlashorXram_entry,_Flash_boot_entry))
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
15
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
16 include(`../include/config.m4')dnl
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
17 MEMORY {
632
02d14592bb73 ramImage build change: load iram.text directly into IRAM w/o wasting XRAM
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 621
diff changeset
18 ifelse(Buildmem-FLASH_BOOT_VIA_BOOTROM,FLASH-1,
02d14592bb73 ramImage build change: load iram.text directly into IRAM w/o wasting XRAM
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 621
diff changeset
19 ` FLASH_OVERLAY : ORIGIN = 0, LENGTH = 0x2000')
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
20 ifelse(Buildmem,FLASH,
632
02d14592bb73 ramImage build change: load iram.text directly into IRAM w/o wasting XRAM
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 621
diff changeset
21 ` FLASH : ORIGIN = FLASHIMAGE_BASE_ADDR,
02d14592bb73 ramImage build change: load iram.text directly into IRAM w/o wasting XRAM
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 621
diff changeset
22 LENGTH = CONFIG_FWFLASH_SIZE - FLASHIMAGE_BASE_ADDR')
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
23 IRAM : ORIGIN = 0x00800000, LENGTH = CONFIG_IRAM_SIZE
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
24 XRAM : ORIGIN = 0x01000000, LENGTH = CONFIG_XRAM_SIZE
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
25 }
208
2abe6ade042d gsm-fw FFS integration: ld script magic putting RAMFFS into ext.ram
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 143
diff changeset
26 ifelse(FFS_IN_RAM,1,`
2abe6ade042d gsm-fw FFS integration: ld script magic putting RAMFFS into ext.ram
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 143
diff changeset
27 RAMFFS_BLKSIZE_BYTES = 1 << RAMFFS_BLKSIZE_LOG2;
2abe6ade042d gsm-fw FFS integration: ld script magic putting RAMFFS into ext.ram
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 143
diff changeset
28 RAMFFS_TOTAL_SIZE = RAMFFS_BLKSIZE_BYTES * RAMFFS_NBLOCKS;
2abe6ade042d gsm-fw FFS integration: ld script magic putting RAMFFS into ext.ram
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 143
diff changeset
29 ')dnl
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
30
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
31 SECTIONS {
636
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
32 dnl The following sections exist only in the flashImage build,
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
33 dnl and only on targets that use the Calypso boot ROM.
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
34 ifelse(Buildmem-FLASH_BOOT_VIA_BOOTROM,FLASH-1,
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
35 ` /* Part of flash overlaid by the boot ROM */
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
36 bootrom.overlay 0 : {
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
37 *(bootrom.overlay)
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
38 } > FLASH_OVERLAY
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
39
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
40 /* code that enables the boot ROM and jumps to it */
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
41 bootrom.switch : {
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
42 *(bootrom.switch)
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
43 } > IRAM AT> FLASH_OVERLAY
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
44 __romswitch_ram_addr = ADDR(bootrom.switch);
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
45 __romswitch_flash_addr = LOADADDR(bootrom.switch);
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
46 __romswitch_size = SIZEOF(bootrom.switch);
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
47 ')dnl
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
48
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
49 dnl all flashImage builds
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
50 ifelse(Buildmem,FLASH,
06ecb305f650 flashImage for BootROM-enabled targets: put something sensible at 0
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 633
diff changeset
51 ` /* Flash boot entry point */
632
02d14592bb73 ramImage build change: load iram.text directly into IRAM w/o wasting XRAM
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 621
diff changeset
52 flashboot.text FLASHIMAGE_BASE_ADDR : {
02d14592bb73 ramImage build change: load iram.text directly into IRAM w/o wasting XRAM
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 621
diff changeset
53 *(flashboot.text)
02d14592bb73 ramImage build change: load iram.text directly into IRAM w/o wasting XRAM
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 621
diff changeset
54 } > FLASH
02d14592bb73 ramImage build change: load iram.text directly into IRAM w/o wasting XRAM
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 621
diff changeset
55 ')dnl
02d14592bb73 ramImage build change: load iram.text directly into IRAM w/o wasting XRAM
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 621
diff changeset
56
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
57 /* XIP code, going into flash or XRAM emulating flash */
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
58 xip.text : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
59 *(xip.text*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
60 xipcode.o(.text*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
61 *libplus.xip.a:(.text*)
489
2a26785fb5a2 gsm-fw: GPF included in the build with feature gpf, link successful
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 312
diff changeset
62 *libgpf.xip.a:(.text*)
658
46e5c90fd0b8 gsm-fw: ccd hooked into the build
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 636
diff changeset
63 *libccd.a:(.text*)
132
2c5160a9d652 nuc-fw: switched from nucdemo to Riviera, got some serial output
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 92
diff changeset
64 *librv.a:(.text*)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
65 *libsprintf.a:(.text*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
66 /* let's put the ARM->Thumb veneers in the XIP section */
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
67 *(.glue_7)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
68 } > Buildmem
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
69
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
70 /* copy-to-IRAM code */
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
71 iram.text 0x80001C : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
72 /* the 7 exception and interrupt vectors @ 0x80001C */
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
73 *(iram.vectors)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
74 *(iram.text*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
75 iramcode.o(.text*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
76 *libplus.iram.a:(.text*)
489
2a26785fb5a2 gsm-fw: GPF included in the build with feature gpf, link successful
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 312
diff changeset
77 *libgpf.iram.a:(.text*)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
78 *libc.a:(.text*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
79 *libgcc.a:(.text*)
632
02d14592bb73 ramImage build change: load iram.text directly into IRAM w/o wasting XRAM
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 621
diff changeset
80 } > IRAM Put_in_flash
02d14592bb73 ramImage build change: load iram.text directly into IRAM w/o wasting XRAM
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 621
diff changeset
81 ifelse(Buildmem,FLASH,
02d14592bb73 ramImage build change: load iram.text directly into IRAM w/o wasting XRAM
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 621
diff changeset
82 ` __iramtext_ram_addr = ADDR(iram.text);
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
83 __iramtext_flash_addr = LOADADDR(iram.text);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
84 __iramtext_size = SIZEOF(iram.text);
632
02d14592bb73 ramImage build change: load iram.text directly into IRAM w/o wasting XRAM
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 621
diff changeset
85 ')dnl
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
86
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
87 /* all .rodata will stay in flash */
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
88 .rodata : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
89 *(.rodata*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
90 } > Buildmem
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
91
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
92 /*
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
93 * All .data will go into XRAM.
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
94 * For the flash build we'll have a step that copies
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
95 * the .data section from flash to XRAM; for the RAM-only
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
96 * build it goes directly into XRAM and stays there.
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
97 */
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
98 .data : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
99 *(.data*)
632
02d14592bb73 ramImage build change: load iram.text directly into IRAM w/o wasting XRAM
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 621
diff changeset
100 } > XRAM Put_in_flash
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
101 ifelse(Buildmem,FLASH,
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
102 ` __initdata_ram_addr = ADDR(.data);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
103 __initdata_flash_addr = LOADADDR(.data);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
104 __initdata_size = SIZEOF(.data);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
105 ')dnl
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
106
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
107 /* we have two kinds of BSS: internal and external */
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
108 int.bss (NOLOAD) : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
109 *(int.bss*)
621
aa93994e9f63 gsm-fw/finlink/ld-script.src: put .l1s_global into int.bss
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 489
diff changeset
110 *(.l1s_global)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
111 iramcode.o(.bss* COMMON)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
112 *libplus.iram.a:(.bss* COMMON)
489
2a26785fb5a2 gsm-fw: GPF included in the build with feature gpf, link successful
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 312
diff changeset
113 *libgpf.iram.a:(.bss* COMMON)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
114 *libc.a:(.bss* COMMON)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
115 *libgcc.a:(.bss* COMMON)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
116 . = ALIGN(4);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
117 } > IRAM
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
118 __intbss_start = ADDR(int.bss);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
119 __intbss_size = SIZEOF(int.bss);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
120
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
121 ext.bss (NOLOAD) : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
122 *(ext.bss*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
123 xipcode.o(.bss* COMMON)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
124 *libplus.xip.a:(.bss* COMMON)
489
2a26785fb5a2 gsm-fw: GPF included in the build with feature gpf, link successful
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 312
diff changeset
125 *libgpf.xip.a:(.bss* COMMON)
658
46e5c90fd0b8 gsm-fw: ccd hooked into the build
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 636
diff changeset
126 *libccd.a:(.bss* COMMON)
132
2c5160a9d652 nuc-fw: switched from nucdemo to Riviera, got some serial output
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 92
diff changeset
127 *librv.a:(.bss* COMMON)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
128 *libsprintf.a:(.bss* COMMON)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
129 . = ALIGN(4);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
130 } > XRAM
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
131 __extbss_start = ADDR(ext.bss);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
132 __extbss_size = SIZEOF(ext.bss);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
133
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
134 /* finally, we have "raw RAM": like BSS, but we don't zero it out */
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
135 int.ram (NOLOAD) : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
136 *(int.ram*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
137 *(system_stack)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
138 *(irq_stack)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
139 *(fiq_stack)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
140 *(timer_hisr_stack)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
141 . = ALIGN(4);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
142 _iram_end = .;
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
143 } > IRAM
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
144
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
145 ext.ram (NOLOAD) : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
146 *(ext.ram*)
312
f05ae34f7ca0 gsm-fw: ARM exception vectors hooked in
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 208
diff changeset
147 *(except_stack)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
148 . = ALIGN(4);
208
2abe6ade042d gsm-fw FFS integration: ld script magic putting RAMFFS into ext.ram
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 143
diff changeset
149 ifelse(FFS_IN_RAM,1,
2abe6ade042d gsm-fw FFS integration: ld script magic putting RAMFFS into ext.ram
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 143
diff changeset
150 ` _RAMFFS_area = .;
2abe6ade042d gsm-fw FFS integration: ld script magic putting RAMFFS into ext.ram
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 143
diff changeset
151 . += RAMFFS_TOTAL_SIZE;
2abe6ade042d gsm-fw FFS integration: ld script magic putting RAMFFS into ext.ram
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 143
diff changeset
152 ')dnl
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
153 _xram_end = .;
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
154 } > XRAM
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
155 }