FreeCalypso > hg > freecalypso-sw
annotate gsm-fw/finlink/ld-script.src @ 855:cbd91f807141
gsm-fw/configs/gtamodem-gsm: feature at-modem added
| author | Space Falcon <falcon@ivan.Harhan.ORG> | 
|---|---|
| date | Thu, 30 Apr 2015 02:57:45 +0000 | 
| parents | 6620bb8e3fa5 | 
| children | cbc49d533b7d | 
| 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*) | 
| 
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
 | 
62 *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
 | 
63 *libgdi.a:(.text*) | 
| 
92
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
64 *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
 | 
65 *libgpf.xip.a:(.text*) | 
| 
658
 
46e5c90fd0b8
gsm-fw: ccd hooked into the build
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents: 
636 
diff
changeset
 | 
66 *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
 | 
67 *librv.a:(.text*) | 
| 
92
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
68 *libsprintf.a:(.text*) | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
69 /* 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
 | 
70 *(.glue_7) | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
71 } > Buildmem | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
72 | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
73 /* copy-to-IRAM code */ | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
74 iram.text 0x80001C : { | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
75 /* the 7 exception and interrupt vectors @ 0x80001C */ | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
76 *(iram.vectors) | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
77 *(iram.text*) | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
78 iramcode.o(.text*) | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
79 *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
 | 
80 *libgpf.iram.a:(.text*) | 
| 
92
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
81 *libc.a:(.text*) | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
82 *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
 | 
83 } > 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
 | 
84 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
 | 
85 ` __iramtext_ram_addr = ADDR(iram.text); | 
| 
92
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
86 __iramtext_flash_addr = LOADADDR(iram.text); | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
87 __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
 | 
88 ')dnl | 
| 
92
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
89 | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
90 /* all .rodata will stay in flash */ | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
91 .rodata : { | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
92 *(.rodata*) | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
93 } > Buildmem | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
94 | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
95 /* | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
96 * All .data will go into XRAM. | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
97 * 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
 | 
98 * 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
 | 
99 * 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
 | 
100 */ | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
101 .data : { | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
102 *(.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
 | 
103 } > XRAM Put_in_flash | 
| 
92
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
104 ifelse(Buildmem,FLASH, | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
105 ` __initdata_ram_addr = ADDR(.data); | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
106 __initdata_flash_addr = LOADADDR(.data); | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
107 __initdata_size = SIZEOF(.data); | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
108 ')dnl | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
109 | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
110 /* 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
 | 
111 int.bss (NOLOAD) : { | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
112 *(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
 | 
113 *(.l1s_global) | 
| 
92
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
114 iramcode.o(.bss* COMMON) | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
115 *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
 | 
116 *libgpf.iram.a:(.bss* COMMON) | 
| 
92
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
117 *libc.a:(.bss* COMMON) | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
118 *libgcc.a:(.bss* COMMON) | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
119 . = ALIGN(4); | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
120 } > IRAM | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
121 __intbss_start = ADDR(int.bss); | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
122 __intbss_size = SIZEOF(int.bss); | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
123 | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
124 ext.bss (NOLOAD) : { | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
125 *(ext.bss*) | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
126 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
 | 
127 *comlib.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
 | 
128 *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
 | 
129 *libgdi.a:(.bss* COMMON) | 
| 
92
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
130 *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
 | 
131 *libgpf.xip.a:(.bss* COMMON) | 
| 
658
 
46e5c90fd0b8
gsm-fw: ccd hooked into the build
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents: 
636 
diff
changeset
 | 
132 *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
 | 
133 *librv.a:(.bss* COMMON) | 
| 
92
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
134 *libsprintf.a:(.bss* COMMON) | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
135 . = ALIGN(4); | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
136 } > XRAM | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
137 __extbss_start = ADDR(ext.bss); | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
138 __extbss_size = SIZEOF(ext.bss); | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
139 | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
140 /* 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
 | 
141 int.ram (NOLOAD) : { | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
142 *(int.ram*) | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
143 *(system_stack) | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
144 *(irq_stack) | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
145 *(fiq_stack) | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
146 *(timer_hisr_stack) | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
147 . = ALIGN(4); | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
148 _iram_end = .; | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
149 } > IRAM | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
150 | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
151 ext.ram (NOLOAD) : { | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
152 *(ext.ram*) | 
| 
312
 
f05ae34f7ca0
gsm-fw: ARM exception vectors hooked in
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents: 
208 
diff
changeset
 | 
153 *(except_stack) | 
| 
92
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
154 . = 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
 | 
155 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
 | 
156 ` _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
 | 
157 . += 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
 | 
158 ')dnl | 
| 
92
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
159 _xram_end = .; | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
160 } > XRAM | 
| 
 
f459043fae0c
nuc-fw config: ld script generation implemented
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
161 } | 
