summaryrefslogtreecommitdiff
path: root/utils/imxtools/hwemul/dev/link.lds
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2012-11-14 12:51:51 +0100
committerAmaury Pouly <amaury.pouly@gmail.com>2012-11-14 12:51:51 +0100
commitf44d95630c1629627b99a2ccf06b434d23027bb3 (patch)
treeb93bef2c03028e0af42e840a6e5944eead2c082b /utils/imxtools/hwemul/dev/link.lds
parentec2153f2dd265129c69c690f9c6c19b61ba9bf18 (diff)
downloadrockbox-f44d95630c1629627b99a2ccf06b434d23027bb3.tar.gz
rockbox-f44d95630c1629627b99a2ccf06b434d23027bb3.zip
imxtools: introduce hwemul
The hwemul tool is a small binary blob running on the device that can received commands over USB. It is mainly intended to be loaded using the recory mode and allows to read/write registers, memory, use the OTP device, ... The tool is split into three parts: dev/ contains the actual blob (which handles both imx233 and stmp3700), lib/ contains the communication library and can also use the register description produced by the regtools/ to ease register by name, tools/ contains an interactive tool to send commands to the device when running the blob. Change-Id: Ie8cb32e987f825d8ed750d48071e43415b4dacb3
Diffstat (limited to 'utils/imxtools/hwemul/dev/link.lds')
-rw-r--r--utils/imxtools/hwemul/dev/link.lds49
1 files changed, 49 insertions, 0 deletions
diff --git a/utils/imxtools/hwemul/dev/link.lds b/utils/imxtools/hwemul/dev/link.lds
new file mode 100644
index 0000000000..97b259955f
--- /dev/null
+++ b/utils/imxtools/hwemul/dev/link.lds
@@ -0,0 +1,49 @@
1
2ENTRY(start)
3OUTPUT_FORMAT(elf32-littlearm)
4OUTPUT_ARCH(arm)
5STARTUP(crt0.o)
6
7
8
9MEMORY
10{
11 OCRAM : ORIGIN = 0, LENGTH = 0x8000
12}
13
14SECTIONS
15{
16 .octext :
17 {
18 oc_codestart = .;
19 *(.text*)
20 *(.data*)
21 *(.rodata*)
22 } > OCRAM
23
24 .bss (NOLOAD) :
25 {
26 bss_start = .;
27 *(.bss)
28 bss_end = .;
29 } > OCRAM
30
31 .stack (NOLOAD) :
32 {
33 oc_codeend = .;
34 oc_stackstart = .;
35 . += 0x1000;
36 oc_stackend = .;
37 oc_bufferstart = .;
38 } > OCRAM
39
40 .ocend (0 + 0x8000) (NOLOAD) :
41 {
42 oc_bufferend = .;
43 } > OCRAM
44
45 /DISCARD/ :
46 {
47 *(.eh_frame)
48 }
49}