1
0
Fork 0
forked from len0rd/rockbox

M:Robe 500i: More LCD initialization, and beginnings of support for QVGA as well as VGA on the LCD. MPEGPlayer now works with reasonable performance on smaller videos, but YUV blitting persists after MPEGPlayer is left, some cleanup/changes to the initialization code. This should be functionally equivalent for the ZVM, but the #ifdef's may need to be added back for app.lds. Get the bootloader building again.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20598 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Karl Kurbjun 2009-04-01 03:21:18 +00:00
parent a606121dd8
commit 4fa96fbc91
10 changed files with 238 additions and 173 deletions

View file

@ -1,11 +1,17 @@
#include "config.h"
ENTRY(start)
OUTPUT_FORMAT(elf32-littlearm)
OUTPUT_ARCH(arm)
STARTUP(target/arm/tms320dm320/crt0.o)
#define DRAMSIZE (MEMORYSIZE * 0x100000)
#define LCD_BUFFER_SIZE (LCD_WIDTH*LCD_HEIGHT*2)
/* must be 16Kb (0x4000) aligned */
#define TTB_SIZE (0x4000)
#define DRAMSIZE (MEMORYSIZE * 0x100000) - TTB_SIZE - LCD_BUFFER_SIZE
#define DRAMORIG 0x01900000 /* actually it's 0x00900000 */
#define IRAMORIG 0x00000000
@ -13,6 +19,12 @@ STARTUP(target/arm/tms320dm320/crt0.o)
#define FLASHORIG 0x00100000
#define FLASHSIZE 8M
/* Now we have the LCD buffer */
#define LCDBEGIN (DRAMSIZE+0x00900000)
/* Finally the TTB table */
#define TTBBEGIN (LCDBEGIN + LCD_BUFFER_SIZE)
MEMORY
{
DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE
@ -28,6 +40,7 @@ SECTIONS
loadaddress = .;
_loadaddress = .;
*(.init.text)
*(.icode)
*(.text*)
*(.glue_7)
*(.glue_7t)
@ -40,6 +53,7 @@ SECTIONS
*(.rodata*)
*(.rodata.str1.1)
*(.rodata.str1.4)
*(.irodata)
. = ALIGN(0x4);
/* Pseudo-allocate the copies of the data sections */
@ -47,8 +61,6 @@ SECTIONS
} > DRAM
.data : {
*(.icode)
*(.irodata)
*(.idata)
*(.data*)
. = ALIGN(0x4);
@ -84,4 +96,14 @@ SECTIONS
_vectorsend = .;
} AT > DRAM
_vectorscopy = LOADADDR(.vectors);
.lcdbuffer LCDBEGIN (NOLOAD) :
{
_lcdbuf = .;
}
.ttbtable TTBBEGIN (NOLOAD) :
{
_ttbstart = .;
}
}