Setup the gigabeat so that iram is faked in a different spot since the normal iram location does not seem to be working. This lays the groundwork to get rolo running.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15581 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
6e36ac547c
commit
1b3dac9042
4 changed files with 19 additions and 21 deletions
|
@ -32,16 +32,6 @@ INPUT(target/sh/crt0.o)
|
|||
#define STUBOFFSET 0
|
||||
#endif
|
||||
|
||||
#if CONFIG_CPU==S3C2440
|
||||
#include "s3c2440.h"
|
||||
#define DRAMSIZE (MEMORYSIZE * 0x100000) - 0x100 - PLUGINSIZE - STUBOFFSET - CODECSIZE - LCD_BUFFER_SIZE - TTB_SIZE
|
||||
#elif CONFIG_CPU==DM320
|
||||
#include "dm320.h"
|
||||
#define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE - STUBOFFSET - CODECSIZE - LCD_BUFFER_SIZE - TTB_SIZE
|
||||
#else
|
||||
#define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE - STUBOFFSET - CODECSIZE
|
||||
#endif
|
||||
|
||||
#if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300)
|
||||
#define DRAMORIG 0x31000000 + STUBOFFSET
|
||||
#define IRAMORIG 0x10000000
|
||||
|
@ -62,9 +52,8 @@ INPUT(target/sh/crt0.o)
|
|||
#define IRAMSIZE 0x7000
|
||||
#elif CONFIG_CPU==S3C2440
|
||||
#define DRAMORIG 0x00000100 + STUBOFFSET
|
||||
#define IRAMORIG DRAMORIG
|
||||
#define IRAM DRAM
|
||||
#define IRAMSIZE 0x1000
|
||||
#define IRAMORIG (MEMORYSIZE * 0x100000) - IRAMSIZE - LCD_BUFFER_SIZE - TTB_SIZE
|
||||
#elif CONFIG_CPU==DM320
|
||||
#define DRAMORIG 0x00900000 + STUBOFFSET
|
||||
#define IRAMORIG 0x00000000
|
||||
|
@ -79,6 +68,16 @@ INPUT(target/sh/crt0.o)
|
|||
#define IRAMSIZE 0x1000
|
||||
#endif
|
||||
|
||||
#if CONFIG_CPU==S3C2440
|
||||
#include "s3c2440.h"
|
||||
#define DRAMSIZE (MEMORYSIZE * 0x100000) - 0x100 - PLUGINSIZE - STUBOFFSET - CODECSIZE - LCD_BUFFER_SIZE - TTB_SIZE - IRAMSIZE
|
||||
#elif CONFIG_CPU==DM320
|
||||
#include "dm320.h"
|
||||
#define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE - STUBOFFSET - CODECSIZE - LCD_BUFFER_SIZE - TTB_SIZE
|
||||
#else
|
||||
#define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE - STUBOFFSET - CODECSIZE
|
||||
#endif
|
||||
|
||||
/* End of the audio buffer, where the codec buffer starts */
|
||||
#define ENDAUDIOADDR (DRAMORIG + DRAMSIZE)
|
||||
|
||||
|
@ -88,9 +87,8 @@ INPUT(target/sh/crt0.o)
|
|||
MEMORY
|
||||
{
|
||||
DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE
|
||||
#if CONFIG_CPU != S3C2440
|
||||
IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE
|
||||
#endif
|
||||
|
||||
#if CONFIG_CPU==PNX0101
|
||||
IRAM0 : ORIGIN = IRAM0ORIG, LENGTH = IRAM0SIZE
|
||||
#endif
|
||||
|
@ -234,14 +232,14 @@ SECTIONS
|
|||
|
||||
_vectorscopy = LOADADDR(.vectors);
|
||||
|
||||
.iram :
|
||||
.iram IRAMORIG :
|
||||
{
|
||||
_iramstart = .;
|
||||
*(.icode)
|
||||
*(.irodata)
|
||||
*(.idata)
|
||||
_iramend = .;
|
||||
} > DRAM
|
||||
} >IRAM AT> DRAM
|
||||
|
||||
_iramcopy = LOADADDR(.iram);
|
||||
|
||||
|
@ -253,7 +251,7 @@ SECTIONS
|
|||
_iend = .;
|
||||
} > DRAM
|
||||
|
||||
.stack :
|
||||
.stack ADDR(.data) + SIZEOF(.data) + SIZEOF(.iram) + SIZEOF(.vectors) :
|
||||
{
|
||||
*(.stack)
|
||||
stackbegin = .;
|
||||
|
|
|
@ -9,8 +9,10 @@ OUTPUT_FORMAT(elf32-littlearm)
|
|||
OUTPUT_ARCH(arm)
|
||||
#ifdef CPU_PP
|
||||
INPUT(target/arm/crt0-pp-bl.o)
|
||||
#elif defined(OLYMPUS_MROBE_500)
|
||||
#elif CONFIG_CPU==DM320
|
||||
INPUT(target/arm/tms320dm320/crt0.o)
|
||||
#elif CONFIG_CPU==S3C2440
|
||||
INPUT(target/arm/s3c2440/crt0.o)
|
||||
#elif defined(CPU_TCC77X)
|
||||
INPUT(target/arm/tcc77x/crt0.o)
|
||||
#else
|
||||
|
|
|
@ -161,7 +161,7 @@ void rolo_restart(const unsigned char* source, unsigned char* dest,
|
|||
/* Wait for the COP to tell us it is rebooting */
|
||||
while(cpu_reply != 2);
|
||||
#endif
|
||||
|
||||
|
||||
asm volatile(
|
||||
"mov r0, #0x10000000 \n"
|
||||
"mov pc, r0 \n"
|
||||
|
|
|
@ -85,8 +85,6 @@ start:
|
|||
bhi 1b
|
||||
|
||||
#ifdef BOOTLOADER
|
||||
/* Code for ARM bootloader targets other than iPod go here */
|
||||
|
||||
/* Proper initialization pulled from 0x5070 */
|
||||
|
||||
/* BWSCON
|
||||
|
|
Loading…
Reference in a new issue