FreeCalypso > hg > freecalypso-sw
annotate gsm-fw/finlink/ld-script.src @ 912:f50c71442d50
etmsync: die ID read implemented
author | Space Falcon <falcon@ivan.Harhan.ORG> |
---|---|
date | Tue, 08 Sep 2015 08:18:42 +0000 |
parents | ab20a5e9dbf3 |
children |
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*) |
899
ab20a5e9dbf3
gsm-fw/L1/dsp code made into a library in preparation for adding patch codes
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
860
diff
changeset
|
62 *libdsp.a:(.text*) |
822
2d3f29ef866d
gsm-fw: first attempt to link with g23m-aci and g23m-gsm included
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
671
diff
changeset
|
63 *libdti.a:(.text*) |
843
7666dd5df2bc
gsm-fw: libgdi.a added to the link with CONFIG_INCLUDE_PS
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
822
diff
changeset
|
64 *libgdi.a:(.text*) |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
65 *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
|
66 *libgpf.xip.a:(.text*) |
658
46e5c90fd0b8
gsm-fw: ccd hooked into the build
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
636
diff
changeset
|
67 *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
|
68 *librv.a:(.text*) |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
69 *libsprintf.a:(.text*) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
70 /* 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
|
71 *(.glue_7) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
72 } > Buildmem |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
73 |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
74 /* copy-to-IRAM code */ |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
75 iram.text 0x80001C : { |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
76 /* the 7 exception and interrupt vectors @ 0x80001C */ |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
77 *(iram.vectors) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
78 *(iram.text*) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
79 iramcode.o(.text*) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
80 *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
|
81 *libgpf.iram.a:(.text*) |
860
cbc49d533b7d
gsm-fw: new implementation of bzero() and some specialized bcopy variants
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
849
diff
changeset
|
82 *libiram.a:(.text*) |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
83 *libc.a:(.text*) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
84 *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
|
85 } > 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
|
86 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
|
87 ` __iramtext_ram_addr = ADDR(iram.text); |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
88 __iramtext_flash_addr = LOADADDR(iram.text); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
89 __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
|
90 ')dnl |
92
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 /* all .rodata will stay in flash */ |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
93 .rodata : { |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
94 *(.rodata*) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
95 } > Buildmem |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
96 |
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 * All .data will go into XRAM. |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
99 * 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
|
100 * 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
|
101 * 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
|
102 */ |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
103 .data : { |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
104 *(.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
|
105 } > XRAM Put_in_flash |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
106 ifelse(Buildmem,FLASH, |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
107 ` __initdata_ram_addr = ADDR(.data); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
108 __initdata_flash_addr = LOADADDR(.data); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
109 __initdata_size = SIZEOF(.data); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
110 ')dnl |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
111 |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
112 /* 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
|
113 int.bss (NOLOAD) : { |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
114 *(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
|
115 *(.l1s_global) |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
116 iramcode.o(.bss* COMMON) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
117 *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
|
118 *libgpf.iram.a:(.bss* COMMON) |
860
cbc49d533b7d
gsm-fw: new implementation of bzero() and some specialized bcopy variants
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
849
diff
changeset
|
119 *libiram.a:(.bss* COMMON) |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
120 *libc.a:(.bss* COMMON) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
121 *libgcc.a:(.bss* COMMON) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
122 . = ALIGN(4); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
123 } > IRAM |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
124 __intbss_start = ADDR(int.bss); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
125 __intbss_size = SIZEOF(int.bss); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
126 |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
127 ext.bss (NOLOAD) : { |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
128 *(ext.bss*) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
129 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
|
130 *comlib.a:(.bss* COMMON) |
899
ab20a5e9dbf3
gsm-fw/L1/dsp code made into a library in preparation for adding patch codes
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
860
diff
changeset
|
131 *libdsp.a:(.bss* COMMON) |
849
6620bb8e3fa5
gsm-fw/finlink/ld-script.src: take care of bss from libdti and libgdi
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
843
diff
changeset
|
132 *libdti.a:(.bss* COMMON) |
6620bb8e3fa5
gsm-fw/finlink/ld-script.src: take care of bss from libdti and libgdi
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
843
diff
changeset
|
133 *libgdi.a:(.bss* COMMON) |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
134 *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
|
135 *libgpf.xip.a:(.bss* COMMON) |
658
46e5c90fd0b8
gsm-fw: ccd hooked into the build
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
636
diff
changeset
|
136 *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
|
137 *librv.a:(.bss* COMMON) |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
138 *libsprintf.a:(.bss* COMMON) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
139 . = ALIGN(4); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
140 } > XRAM |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
141 __extbss_start = ADDR(ext.bss); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
142 __extbss_size = SIZEOF(ext.bss); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
143 |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
144 /* 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
|
145 int.ram (NOLOAD) : { |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
146 *(int.ram*) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
147 *(system_stack) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
148 *(irq_stack) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
149 *(fiq_stack) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
150 *(timer_hisr_stack) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
151 . = ALIGN(4); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
152 _iram_end = .; |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
153 } > IRAM |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
154 |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
155 ext.ram (NOLOAD) : { |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
156 *(ext.ram*) |
312
f05ae34f7ca0
gsm-fw: ARM exception vectors hooked in
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
208
diff
changeset
|
157 *(except_stack) |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
158 . = 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
|
159 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
|
160 ` _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
|
161 . += 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
|
162 ')dnl |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
163 _xram_end = .; |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
164 } > XRAM |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
165 } |