annotate target-utils/flash-boot-test/ld.script @ 497:74610c4f10f7

target-utils: added 10 ms delay at the end of abb_power_off() The deosmification of the ABB access code (replacement of osmo_delay_ms() bogus delays with correctly-timed ones, which are significantly shorter) had one annoying side effect: when executing the poweroff command from any of the programs, one last '=' prompt character was being sent (and received by the x86 host) as the Calypso board powers off. With delays being shorter now, the abb_power_off() function was returning and the standalone program's main loop was printing its prompt before the Iota chip fully executed the switch-off sequence! I thought about inserting an endless tight loop at the end of the abb_power_off() function, but the implemented solution of a 10 ms delay is a little nicer IMO because if the DEVOFF operation doesn't happen for some reason in a manual hacking scenario, there won't be an artificial blocker in the form of a tight loop keeping us from further poking around.
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 25 May 2019 20:44:05 +0000
parents dbb54db721d1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
197
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 ENTRY(_entry)
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 SECTIONS
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 {
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 /* flash boot */
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 .vectors 0 : {
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 *(.vectors)
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 }
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 .magic 0x2000 : {
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 *(.magic)
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 }
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 /* main code */
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 .text 0x4000 : {
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 /* regular code */
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 *(.text*)
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 /* gcc voodoo */
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 . = ALIGN(4);
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 }
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 /* read-only data */
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 . = ALIGN(4);
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 .rodata : {
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 *(.rodata*)
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 }
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 /* cannot have any initialized data */
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 /DISCARD/ : {
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 *(.data)
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 }
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 /* uninitialized data */
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 .bss 0x83C000 (NOLOAD) : {
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 . = ALIGN(4);
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 __bss_start = .;
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 *(.bss)
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 }
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 . = ALIGN(4);
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 __bss_end = .;
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 /* end of image */
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 _end = .;
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 PROVIDE(end = .);
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 }
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45
dbb54db721d1 target-utils/flash-boot-test written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 stack_bottom = 0x83FFFC;