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