FreeCalypso > hg > freecalypso-sw
annotate gsm-fw/finlink/ld-script.src @ 873:3be5a1b4c91a
rvinterf/Makefile: asyncshell added
author | Space Falcon <falcon@ivan.Harhan.ORG> |
---|---|
date | Sat, 30 May 2015 06:45:21 +0000 |
parents | cbc49d533b7d |
children | ab20a5e9dbf3 |
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*) |
860
cbc49d533b7d
gsm-fw: new implementation of bzero() and some specialized bcopy variants
Space Falcon <falcon@ivan.Harhan.ORG>
parents:
849
diff
changeset
|
81 *libiram.a:(.text*) |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
82 *libc.a:(.text*) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
83 *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
|
84 } > 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
|
85 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
|
86 ` __iramtext_ram_addr = ADDR(iram.text); |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
87 __iramtext_flash_addr = LOADADDR(iram.text); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
88 __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
|
89 ')dnl |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
90 |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
91 /* all .rodata will stay in flash */ |
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 *(.rodata*) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
94 } > Buildmem |
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 /* |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
97 * All .data will go into XRAM. |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
98 * 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
|
99 * 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
|
100 * 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
|
101 */ |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
102 .data : { |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
103 *(.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
|
104 } > XRAM Put_in_flash |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
105 ifelse(Buildmem,FLASH, |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
106 ` __initdata_ram_addr = ADDR(.data); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
107 __initdata_flash_addr = LOADADDR(.data); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
108 __initdata_size = SIZEOF(.data); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
109 ')dnl |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
110 |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
111 /* 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
|
112 int.bss (NOLOAD) : { |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
113 *(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
|
114 *(.l1s_global) |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
115 iramcode.o(.bss* COMMON) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
116 *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
|
117 *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
|
118 *libiram.a:(.bss* COMMON) |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
119 *libc.a:(.bss* COMMON) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
120 *libgcc.a:(.bss* COMMON) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
121 . = ALIGN(4); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
122 } > IRAM |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
123 __intbss_start = ADDR(int.bss); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
124 __intbss_size = SIZEOF(int.bss); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
125 |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
126 ext.bss (NOLOAD) : { |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
127 *(ext.bss*) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
128 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
|
129 *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
|
130 *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
|
131 *libgdi.a:(.bss* COMMON) |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
132 *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
|
133 *libgpf.xip.a:(.bss* COMMON) |
658
46e5c90fd0b8
gsm-fw: ccd hooked into the build
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
636
diff
changeset
|
134 *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
|
135 *librv.a:(.bss* COMMON) |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
136 *libsprintf.a:(.bss* COMMON) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
137 . = ALIGN(4); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
138 } > XRAM |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
139 __extbss_start = ADDR(ext.bss); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
140 __extbss_size = SIZEOF(ext.bss); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
141 |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
142 /* 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
|
143 int.ram (NOLOAD) : { |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
144 *(int.ram*) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
145 *(system_stack) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
146 *(irq_stack) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
147 *(fiq_stack) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
148 *(timer_hisr_stack) |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
149 . = ALIGN(4); |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
150 _iram_end = .; |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
151 } > IRAM |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
152 |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
153 ext.ram (NOLOAD) : { |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
154 *(ext.ram*) |
312
f05ae34f7ca0
gsm-fw: ARM exception vectors hooked in
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
208
diff
changeset
|
155 *(except_stack) |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
156 . = 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
|
157 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
|
158 ` _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
|
159 . += 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
|
160 ')dnl |
92
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
161 _xram_end = .; |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
162 } > XRAM |
f459043fae0c
nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
163 } |