summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Purchase <shotofadds@rockbox.org>2008-03-10 21:39:04 +0000
committerRob Purchase <shotofadds@rockbox.org>2008-03-10 21:39:04 +0000
commit9603e4e92ff9a4ae656cc4a857bdb655cf126375 (patch)
tree4c4836092f7ba7001bb8f27ba39d094b26a614fe
parent292f139f4c897b4332592f5fe93d2950fb6f24e7 (diff)
downloadrockbox-9603e4e92ff9a4ae656cc4a857bdb655cf126375.tar.gz
rockbox-9603e4e92ff9a4ae656cc4a857bdb655cf126375.zip
D2: Fix IRAM usage, but disable it for now as Tremor does not fit ('make zip' works now). Fix duplicate CONFIG_LCD value.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16623 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/app.lds15
-rw-r--r--firmware/export/config.h4
-rw-r--r--firmware/target/arm/tcc780x/crt0.S10
3 files changed, 24 insertions, 5 deletions
diff --git a/firmware/app.lds b/firmware/app.lds
index d2a9582a3d..5850a35fe1 100644
--- a/firmware/app.lds
+++ b/firmware/app.lds
@@ -261,7 +261,6 @@ SECTIONS
261 .itcm : 261 .itcm :
262 { 262 {
263 _itcmstart = .; 263 _itcmstart = .;
264 *(.icode)
265 _itcmend = .; 264 _itcmend = .;
266 } > ITCM AT> DRAM 265 } > ITCM AT> DRAM
267 266
@@ -270,13 +269,23 @@ SECTIONS
270 .dtcm : 269 .dtcm :
271 { 270 {
272 _dtcmstart = .; 271 _dtcmstart = .;
273 *(.irodata)
274 *(.idata)
275 _dtcmend = .; 272 _dtcmend = .;
276 } > DTCM AT> DRAM 273 } > DTCM AT> DRAM
277 274
278 _dtcmcopy = LOADADDR(.dtcm); 275 _dtcmcopy = LOADADDR(.dtcm);
279 276
277 .iram :
278 {
279 _iramstart = .;
280 *(.irodata)
281 *(.idata)
282 *(.icode)
283 . = ALIGN(0x4);
284 _iramend = .;
285 } > SRAM AT> DRAM
286
287 _iramcopy = LOADADDR(.iram);
288
280 .ibss (NOLOAD) : 289 .ibss (NOLOAD) :
281 { 290 {
282 _iedata = .; 291 _iedata = .;
diff --git a/firmware/export/config.h b/firmware/export/config.h
index 12a6b1cacd..c2033dfe23 100644
--- a/firmware/export/config.h
+++ b/firmware/export/config.h
@@ -114,9 +114,9 @@
114#define LCD_MROBE100 19 /* as used by Olympus M:Robe 100 */ 114#define LCD_MROBE100 19 /* as used by Olympus M:Robe 100 */
115#define LCD_LOGIKDAX 20 /* as used by Logik DAX - SSD1815 */ 115#define LCD_LOGIKDAX 20 /* as used by Logik DAX - SSD1815 */
116#define LCD_IAUDIO67 21 /* as used by iAudio 6/7 - unknown */ 116#define LCD_IAUDIO67 21 /* as used by iAudio 6/7 - unknown */
117#define LCD_COWOND2 21 /* as used by Cowon D2 - LTV250QV, TCC7801 driver */
118#define LCD_CREATIVEZVM 22 /* as used by Creative Zen Vision:M */ 117#define LCD_CREATIVEZVM 22 /* as used by Creative Zen Vision:M */
119#define LCD_TL0350A 23 /* as used by the iAudio M3 remote, treated as main LCD */ 118#define LCD_TL0350A 23 /* as used by the iAudio M3 remote, treated as main LCD */
119#define LCD_COWOND2 24 /* as used by Cowon D2 - LTV250QV, TCC7801 driver */
120 120
121/* LCD_PIXELFORMAT */ 121/* LCD_PIXELFORMAT */
122#define HORIZONTAL_PACKING 1 122#define HORIZONTAL_PACKING 1
@@ -402,7 +402,7 @@
402 defined(CPU_COLDFIRE) || /* Coldfire: core, plugins, codecs */ \ 402 defined(CPU_COLDFIRE) || /* Coldfire: core, plugins, codecs */ \
403 defined(CPU_PP) || /* PortalPlayer: core, plugins, codecs */ \ 403 defined(CPU_PP) || /* PortalPlayer: core, plugins, codecs */ \
404 defined(CPU_TCC77X) || /* Telechips: core, plugins, codecs */ \ 404 defined(CPU_TCC77X) || /* Telechips: core, plugins, codecs */ \
405 defined(CPU_TCC780X) || /* Telechips: core, plugins, codecs */ \ 405 /*defined(CPU_TCC780X) || /. Telechips: core, plugins, codecs */ \
406 (CONFIG_CPU == PNX0101)) 406 (CONFIG_CPU == PNX0101))
407#define ICODE_ATTR __attribute__ ((section(".icode"))) 407#define ICODE_ATTR __attribute__ ((section(".icode")))
408#define ICONST_ATTR __attribute__ ((section(".irodata"))) 408#define ICONST_ATTR __attribute__ ((section(".irodata")))
diff --git a/firmware/target/arm/tcc780x/crt0.S b/firmware/target/arm/tcc780x/crt0.S
index 6e092bcd82..af37b40814 100644
--- a/firmware/target/arm/tcc780x/crt0.S
+++ b/firmware/target/arm/tcc780x/crt0.S
@@ -133,6 +133,16 @@ copied_start:
133 ldrhi r5, [r4], #4 133 ldrhi r5, [r4], #4
134 strhi r5, [r2], #4 134 strhi r5, [r2], #4
135 bhi 1b 135 bhi 1b
136
137 /* Copy the IRAM (SRAM) */
138 ldr r2, =_iramcopy
139 ldr r3, =_iramstart
140 ldr r4, =_iramend
1411:
142 cmp r4, r3
143 ldrhi r5, [r2], #4
144 strhi r5, [r3], #4
145 bhi 1b
136 146
137 /* Zero out IBSS */ 147 /* Zero out IBSS */
138 ldr r2, =_iedata 148 ldr r2, =_iedata