FreeCalypso > hg > freecalypso-sw
annotate gsm-fw/finlink/ld-script.src @ 992:a7b0b426f9ca
target-utils: boot ROM UART autodetection revamped
The new implementation should work with both the familiar Calypso C035
boot ROM version found in our regular targets as well as the older
Calypso F741979B version found on the vintage D-Sample board.
| author | Mychaela Falconia <falcon@ivan.Harhan.ORG> |
|---|---|
| date | Wed, 30 Dec 2015 21:28:41 +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 } |
