annotate gsm-fw/finlink/ld-script.src @ 687:95608d9c90de

gsm-fw/g23m-gsm/alr/Makefile: link xipcode.o
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Mon, 29 Sep 2014 23:42:53 +0000
parents 210268d8e553
children 2d3f29ef866d
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*)
671
210268d8e553 gsm-fw: comlib included in the build along with ccd
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 658
diff changeset
61 *comlib.a:(.text*)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
62 *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
63 *libgpf.xip.a:(.text*)
658
46e5c90fd0b8 gsm-fw: ccd hooked into the build
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 636
diff changeset
64 *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
65 *librv.a:(.text*)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
66 *libsprintf.a:(.text*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
67 /* 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
68 *(.glue_7)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
69 } > Buildmem
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
70
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
71 /* copy-to-IRAM code */
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
72 iram.text 0x80001C : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
73 /* the 7 exception and interrupt vectors @ 0x80001C */
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
74 *(iram.vectors)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
75 *(iram.text*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
76 iramcode.o(.text*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
77 *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
78 *libgpf.iram.a:(.text*)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
79 *libc.a:(.text*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
80 *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
81 } > 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
82 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
83 ` __iramtext_ram_addr = ADDR(iram.text);
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
84 __iramtext_flash_addr = LOADADDR(iram.text);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
85 __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
86 ')dnl
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
87
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
88 /* all .rodata will stay in flash */
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 *(.rodata*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
91 } > Buildmem
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 /*
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
94 * All .data will go into XRAM.
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
95 * 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
96 * 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
97 * 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
98 */
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
99 .data : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
100 *(.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
101 } > XRAM Put_in_flash
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
102 ifelse(Buildmem,FLASH,
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
103 ` __initdata_ram_addr = ADDR(.data);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
104 __initdata_flash_addr = LOADADDR(.data);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
105 __initdata_size = SIZEOF(.data);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
106 ')dnl
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
107
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
108 /* 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
109 int.bss (NOLOAD) : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
110 *(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
111 *(.l1s_global)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
112 iramcode.o(.bss* COMMON)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
113 *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
114 *libgpf.iram.a:(.bss* COMMON)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
115 *libc.a:(.bss* COMMON)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
116 *libgcc.a:(.bss* COMMON)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
117 . = ALIGN(4);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
118 } > IRAM
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
119 __intbss_start = ADDR(int.bss);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
120 __intbss_size = SIZEOF(int.bss);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
121
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
122 ext.bss (NOLOAD) : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
123 *(ext.bss*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
124 xipcode.o(.bss* COMMON)
671
210268d8e553 gsm-fw: comlib included in the build along with ccd
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 658
diff changeset
125 *comlib.a:(.bss* COMMON)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
126 *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
127 *libgpf.xip.a:(.bss* COMMON)
658
46e5c90fd0b8 gsm-fw: ccd hooked into the build
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 636
diff changeset
128 *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
129 *librv.a:(.bss* COMMON)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
130 *libsprintf.a:(.bss* COMMON)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
131 . = ALIGN(4);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
132 } > XRAM
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
133 __extbss_start = ADDR(ext.bss);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
134 __extbss_size = SIZEOF(ext.bss);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
135
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
136 /* 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
137 int.ram (NOLOAD) : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
138 *(int.ram*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
139 *(system_stack)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
140 *(irq_stack)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
141 *(fiq_stack)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
142 *(timer_hisr_stack)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
143 . = ALIGN(4);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
144 _iram_end = .;
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
145 } > IRAM
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
146
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
147 ext.ram (NOLOAD) : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
148 *(ext.ram*)
312
f05ae34f7ca0 gsm-fw: ARM exception vectors hooked in
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 208
diff changeset
149 *(except_stack)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
150 . = 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
151 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
152 ` _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
153 . += 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
154 ')dnl
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
155 _xram_end = .;
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
156 } > XRAM
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
157 }