diff options
author | Amaury Pouly <pamaury@rockbox.org> | 2011-09-05 18:32:40 +0000 |
---|---|---|
committer | Amaury Pouly <pamaury@rockbox.org> | 2011-09-05 18:32:40 +0000 |
commit | 333b9ed2c330bb005456444de0eb16ad422496fa (patch) | |
tree | 4d5718001f69101b3c8db6cdc81d64b4b4676b27 | |
parent | 205254097249034a7cab46413cdda0152adc4578 (diff) | |
download | rockbox-333b9ed2c330bb005456444de0eb16ad422496fa.tar.gz rockbox-333b9ed2c330bb005456444de0eb16ad422496fa.zip |
imx233/fuze+: fix apps linker script, add comment in bootloader
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30436 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | bootloader/imx233.c | 2 | ||||
-rw-r--r-- | firmware/target/arm/imx233/app.lds | 20 |
2 files changed, 18 insertions, 4 deletions
diff --git a/bootloader/imx233.c b/bootloader/imx233.c index b0ca0c3b01..548bb3686f 100644 --- a/bootloader/imx233.c +++ b/bootloader/imx233.c | |||
@@ -138,6 +138,8 @@ void main(uint32_t arg) | |||
138 | if(ret < 0) | 138 | if(ret < 0) |
139 | error(EATA, ret, true); | 139 | error(EATA, ret, true); |
140 | 140 | ||
141 | /* NOTE: allow disk_init and disk_mount_all to fail since we can do USB after. | ||
142 | * We need this order to determine the correct logical sector size */ | ||
141 | while(!disk_init(IF_MV(0))) | 143 | while(!disk_init(IF_MV(0))) |
142 | printf("disk_init failed!"); | 144 | printf("disk_init failed!"); |
143 | 145 | ||
diff --git a/firmware/target/arm/imx233/app.lds b/firmware/target/arm/imx233/app.lds index 5b83fe1c14..a4fb8af0f1 100644 --- a/firmware/target/arm/imx233/app.lds +++ b/firmware/target/arm/imx233/app.lds | |||
@@ -17,7 +17,7 @@ STARTUP(target/arm/imx233/crt0.o) | |||
17 | #define DRAMSIZE (DRAM_SIZE - PLUGINSIZE - CODECSIZE - FRAME_SIZE - TTB_SIZE) | 17 | #define DRAMSIZE (DRAM_SIZE - PLUGINSIZE - CODECSIZE - FRAME_SIZE - TTB_SIZE) |
18 | 18 | ||
19 | /* End of the audio buffer, where the codec buffer starts */ | 19 | /* End of the audio buffer, where the codec buffer starts */ |
20 | #define ENDAUDIOADDR (DRAMORIG + DRAMSIZE) | 20 | #define ENDAUDIOADDR (CACHED_DRAM_ADDR + DRAMSIZE) |
21 | 21 | ||
22 | /* Where the codec buffer ends, and the plugin buffer starts */ | 22 | /* Where the codec buffer ends, and the plugin buffer starts */ |
23 | #define ENDADDR (ENDAUDIOADDR + CODEC_SIZE) | 23 | #define ENDADDR (ENDAUDIOADDR + CODEC_SIZE) |
@@ -29,15 +29,14 @@ STARTUP(target/arm/imx233/crt0.o) | |||
29 | MEMORY | 29 | MEMORY |
30 | { | 30 | { |
31 | IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE | 31 | IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE |
32 | DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE | 32 | DRAM : ORIGIN = CACHED_DRAM_ADDR, LENGTH = DRAM_SIZE - TTB_SIZE - FRAME_SIZE |
33 | UNCACHED_DRAM : ORIGIN = UNCACHED_DRAM_ADDR, LENGTH = DRAM_SIZE - TTB_SIZE - FRAME_SIZE | ||
33 | } | 34 | } |
34 | 35 | ||
35 | SECTIONS | 36 | SECTIONS |
36 | { | 37 | { |
37 | .text : | 38 | .text : |
38 | { | 39 | { |
39 | loadaddress = .; | ||
40 | _loadaddress = .; | ||
41 | *(.text*) | 40 | *(.text*) |
42 | } > DRAM | 41 | } > DRAM |
43 | 42 | ||
@@ -89,10 +88,23 @@ SECTIONS | |||
89 | stackend = .; | 88 | stackend = .; |
90 | } > DRAM | 89 | } > DRAM |
91 | 90 | ||
91 | /* treat .bss and .ncbss as a single section */ | ||
92 | .bss (NOLOAD) : | 92 | .bss (NOLOAD) : |
93 | { | 93 | { |
94 | _edata = .; | 94 | _edata = .; |
95 | *(.bss*); | 95 | *(.bss*); |
96 | } > DRAM | ||
97 | |||
98 | /* align on cache size boundary to avoid mixing cached and noncached stuff */ | ||
99 | .ncbss . - CACHED_DRAM_ADDR + UNCACHED_DRAM_ADDR (NOLOAD) : | ||
100 | { | ||
101 | . = ALIGN(CACHEALIGN_SIZE); | ||
102 | *(.ncbss*) | ||
103 | . = ALIGN(CACHEALIGN_SIZE); | ||
104 | } AT> DRAM | ||
105 | |||
106 | .bssendadr . - UNCACHED_DRAM_ADDR + CACHED_DRAM_ADDR (NOLOAD) : | ||
107 | { | ||
96 | _end = .; | 108 | _end = .; |
97 | } > DRAM | 109 | } > DRAM |
98 | 110 | ||