rockbox/firmware/app.lds
Jörg Hohensohn cbbbcd1800 patch #785885 by Magnus Holmgren: way faster rolo, with assembler
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3971 a1c6a512-1295-4272-9138-f99709370657
2003-10-12 16:40:45 +00:00

100 lines
1.5 KiB
Text

ENTRY(start)
OUTPUT_FORMAT(elf32-sh)
INPUT(crt0.o)
#define PLUGINSIZE 0x8000
#ifdef DEBUG
#define DRAMSIZE 0x1f0000 - PLUGINSIZE
#define ORIGADDR 0x09010000
#else
#define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE
#define ORIGADDR 0x09000000
#endif
#define ENDADDR (ORIGADDR + DRAMSIZE)
MEMORY
{
DRAM : ORIGIN = ORIGADDR, LENGTH = DRAMSIZE
IRAM : ORIGIN = 0x0f000000, LENGTH = 0x1000
}
SECTIONS
{
.vectors :
{
*(.resetvectors);
*(.vectors);
. = ALIGN(0x200);
*(.init.text)
} > DRAM
.text :
{
*(.text)
. = ALIGN(0x4);
} > DRAM
.data :
{
*(.data)
} > DRAM
.rodata :
{
*(.rodata)
*(.rodata.str1.4)
. = ALIGN(0x4);
} > DRAM
.stack :
{
*(.stack)
_stackbegin = .;
/* We put the copy of the .iram section here to save space */
_iramcopy = .;
. += 0x2000;
_stackend = .;
} > DRAM
.bss :
{
_edata = .;
*(.bss)
*(COMMON)
_end = .;
} > DRAM
#ifdef DEBUG
.heap :
{
_poolstart = .;
. = 0x20000;
_poolend = .;
} > DRAM
#endif
.mp3buf :
{
_mp3buffer = .;
} > DRAM
.mp3end ENDADDR:
{
_mp3end = .;
} > DRAM
.plugin ENDADDR:
{
_pluginbuf = .;
}
.iram 0xf000000 : AT ( _iramcopy )
{
_iramstart = .;
*(.icode)
*(.idata)
_iramend = .;
} > IRAM
}