annotate gsm-fw/finlink/ld-script.src @ 651:806828641b21

gsm-fw/Makefile: ccd added to SUBDIR list
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sun, 21 Sep 2014 01:02:16 +0000
parents 06ecb305f650
children 46e5c90fd0b8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
61 *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
62 *libgpf.xip.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
63 *librv.a:(.text*)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
64 *libsprintf.a:(.text*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
65 /* 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
66 *(.glue_7)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
67 } > Buildmem
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
68
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
69 /* copy-to-IRAM code */
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
70 iram.text 0x80001C : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
71 /* the 7 exception and interrupt vectors @ 0x80001C */
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
72 *(iram.vectors)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
73 *(iram.text*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
74 iramcode.o(.text*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
75 *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
76 *libgpf.iram.a:(.text*)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
77 *libc.a:(.text*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
78 *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
79 } > 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
80 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
81 ` __iramtext_ram_addr = ADDR(iram.text);
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
82 __iramtext_flash_addr = LOADADDR(iram.text);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
83 __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
84 ')dnl
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
85
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
86 /* all .rodata will stay in flash */
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
87 .rodata : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
88 *(.rodata*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
89 } > Buildmem
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 /*
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
92 * All .data will go into XRAM.
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
93 * 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
94 * 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
95 * 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
96 */
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
97 .data : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
98 *(.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
99 } > XRAM Put_in_flash
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
100 ifelse(Buildmem,FLASH,
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
101 ` __initdata_ram_addr = ADDR(.data);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
102 __initdata_flash_addr = LOADADDR(.data);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
103 __initdata_size = SIZEOF(.data);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
104 ')dnl
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
105
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
106 /* 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
107 int.bss (NOLOAD) : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
108 *(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
109 *(.l1s_global)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
110 iramcode.o(.bss* COMMON)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
111 *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
112 *libgpf.iram.a:(.bss* COMMON)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
113 *libc.a:(.bss* COMMON)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
114 *libgcc.a:(.bss* COMMON)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
115 . = ALIGN(4);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
116 } > IRAM
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
117 __intbss_start = ADDR(int.bss);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
118 __intbss_size = SIZEOF(int.bss);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
119
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
120 ext.bss (NOLOAD) : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
121 *(ext.bss*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
122 xipcode.o(.bss* COMMON)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
123 *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
124 *libgpf.xip.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
125 *librv.a:(.bss* COMMON)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
126 *libsprintf.a:(.bss* COMMON)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
127 . = ALIGN(4);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
128 } > XRAM
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
129 __extbss_start = ADDR(ext.bss);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
130 __extbss_size = SIZEOF(ext.bss);
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
131
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
132 /* 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
133 int.ram (NOLOAD) : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
134 *(int.ram*)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
135 *(system_stack)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
136 *(irq_stack)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
137 *(fiq_stack)
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
138 *(timer_hisr_stack)
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 _iram_end = .;
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
141 } > IRAM
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
142
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
143 ext.ram (NOLOAD) : {
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
144 *(ext.ram*)
312
f05ae34f7ca0 gsm-fw: ARM exception vectors hooked in
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 208
diff changeset
145 *(except_stack)
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
146 . = 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
147 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
148 ` _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
149 . += 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
150 ')dnl
92
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
151 _xram_end = .;
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
152 } > XRAM
f459043fae0c nuc-fw config: ld script generation implemented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
153 }