annotate target-utils/env/iram.lds @ 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 e7ba9fcb3637
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1 OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
2 OUTPUT_ARCH(arm)
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
3 ENTRY(_entry)
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
4 SECTIONS
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
5 {
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
6 /* code */
629
e7ba9fcb3637 target-utils: move loadagent to 0x838000 in preparation for ramImages that
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 11
diff changeset
7 . = Base_addr;
2
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
8 .text : {
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
9 /* regular code */
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
10 *(.text*)
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
11 /* gcc voodoo */
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
12 *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
13 . = ALIGN(4);
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
14 }
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
15
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
16 /* read-only data */
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
17 . = ALIGN(4);
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
18 .rodata : {
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
19 *(.rodata*)
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
20 }
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
21
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
22 /* initialized data */
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
23 . = ALIGN(4);
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
24 .data : {
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
25 *(.data)
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
26 }
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
27 PROVIDE(edata = .);
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
28
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
29 /* uninitialized data */
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
30 .bss (NOLOAD) : {
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
31 . = ALIGN(4);
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
32 __bss_start = .;
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
33 *(.bss)
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
34 }
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
35 . = ALIGN(4);
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
36 __bss_end = .;
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
37 /* end of image */
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
38 _end = .;
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
39 PROVIDE(end = .);
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
40 }
ddda170fa6f4 loadagent.elf compiled and linked, no printf yet
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
41
11
40f607bb0a2c target-utils refactored
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
42 /*
40f607bb0a2c target-utils refactored
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
43 * stack_bottom will be set via the --defsym option to ld.
40f607bb0a2c target-utils refactored
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
44 * Some programs have minimal IRAM requirements, so it would make more
40f607bb0a2c target-utils refactored
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
45 * sense to set stack_bottom to 0x83FFFC, don't use the upper half of
40f607bb0a2c target-utils refactored
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
46 * IRAM for anything, and make that program portable to Calypso Lite
40f607bb0a2c target-utils refactored
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
47 * devices. But for some other programs we might have some use for
40f607bb0a2c target-utils refactored
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
48 * the larger IRAM of our full Calypso devices, in which case we would
40f607bb0a2c target-utils refactored
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
49 * want to set stack_bottom to 0x87FFFC instead.
40f607bb0a2c target-utils refactored
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 2
diff changeset
50 */