diff options
author | Rob Purchase <shotofadds@rockbox.org> | 2008-03-10 21:39:04 +0000 |
---|---|---|
committer | Rob Purchase <shotofadds@rockbox.org> | 2008-03-10 21:39:04 +0000 |
commit | 9603e4e92ff9a4ae656cc4a857bdb655cf126375 (patch) | |
tree | 4c4836092f7ba7001bb8f27ba39d094b26a614fe /firmware | |
parent | 292f139f4c897b4332592f5fe93d2950fb6f24e7 (diff) |
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
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/app.lds | 15 | ||||
-rw-r--r-- | firmware/export/config.h | 4 | ||||
-rw-r--r-- | firmware/target/arm/tcc780x/crt0.S | 10 |
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 .itcm : { _itcmstart = .; - *(.icode) _itcmend = .; } > ITCM AT> DRAM @@ -270,13 +269,23 @@ SECTIONS .dtcm : { _dtcmstart = .; - *(.irodata) - *(.idata) _dtcmend = .; } > DTCM AT> DRAM _dtcmcopy = LOADADDR(.dtcm); + .iram : + { + _iramstart = .; + *(.irodata) + *(.idata) + *(.icode) + . = ALIGN(0x4); + _iramend = .; + } > SRAM AT> DRAM + + _iramcopy = LOADADDR(.iram); + .ibss (NOLOAD) : { _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 @@ #define LCD_MROBE100 19 /* as used by Olympus M:Robe 100 */ #define LCD_LOGIKDAX 20 /* as used by Logik DAX - SSD1815 */ #define LCD_IAUDIO67 21 /* as used by iAudio 6/7 - unknown */ -#define LCD_COWOND2 21 /* as used by Cowon D2 - LTV250QV, TCC7801 driver */ #define LCD_CREATIVEZVM 22 /* as used by Creative Zen Vision:M */ #define LCD_TL0350A 23 /* as used by the iAudio M3 remote, treated as main LCD */ +#define LCD_COWOND2 24 /* as used by Cowon D2 - LTV250QV, TCC7801 driver */ /* LCD_PIXELFORMAT */ #define HORIZONTAL_PACKING 1 @@ -402,7 +402,7 @@ defined(CPU_COLDFIRE) || /* Coldfire: core, plugins, codecs */ \ defined(CPU_PP) || /* PortalPlayer: core, plugins, codecs */ \ defined(CPU_TCC77X) || /* Telechips: core, plugins, codecs */ \ - defined(CPU_TCC780X) || /* Telechips: core, plugins, codecs */ \ + /*defined(CPU_TCC780X) || /. Telechips: core, plugins, codecs */ \ (CONFIG_CPU == PNX0101)) #define ICODE_ATTR __attribute__ ((section(".icode"))) #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: ldrhi r5, [r4], #4 strhi r5, [r2], #4 bhi 1b + + /* Copy the IRAM (SRAM) */ + ldr r2, =_iramcopy + ldr r3, =_iramstart + ldr r4, =_iramend +1: + cmp r4, r3 + ldrhi r5, [r2], #4 + strhi r5, [r3], #4 + bhi 1b /* Zero out IBSS */ ldr r2, =_iedata |