diff options
| -rw-r--r-- | apps/plugins/plugin.lds | 2 | ||||
| -rw-r--r-- | firmware/app.lds | 2 | ||||
| -rw-r--r-- | firmware/crt0.S | 26 | ||||
| -rw-r--r-- | firmware/export/gdb_api.h | 2 | ||||
| -rw-r--r-- | gdb/linker.cfg | 4 |
5 files changed, 30 insertions, 6 deletions
diff --git a/apps/plugins/plugin.lds b/apps/plugins/plugin.lds index 0e1657c..f9c2406 100644 --- a/apps/plugins/plugin.lds +++ b/apps/plugins/plugin.lds @@ -33,7 +33,7 @@ OUTPUT_FORMAT(elf32-sh) #define IRAMORIG 0x4000c000 #define IRAMSIZE 0xc000 #elif CONFIG_CPU == PNX0101 -#define DRAMORIG 0x24000000 +#define DRAMORIG 0xc00000 + STUBOFFSET #define IRAMORIG 0x408000 #define IRAMSIZE 0x8000 #else diff --git a/firmware/app.lds b/firmware/app.lds index e796f4a..74cca5a 100644 --- a/firmware/app.lds +++ b/firmware/app.lds @@ -127,7 +127,7 @@ _pluginbuf = 0; #define IRAMORIG 0x40000000 #define IRAMSIZE 0xc000 #elif CONFIG_CPU==PNX0101 -#define DRAMORIG 0x24000000 + STUBOFFSET +#define DRAMORIG 0xc00000 + STUBOFFSET #define IRAMORIG 0x400000 #define IRAMSIZE 0x8000 #else diff --git a/firmware/crt0.S b/firmware/crt0.S index 264b9c9..a207006 100644 --- a/firmware/crt0.S +++ b/firmware/crt0.S @@ -80,7 +80,31 @@ remap_start: mov pc, r0 L_post_remap: .word remap_end remap_end: -#endif /* PP specific */ + +#elif CONFIG_CPU == PNX0101 + +#ifndef DEBUG + ldr r0, =0x80105000 + mov r1, #1 + str r1, [r0, #4] + mov r1, #0 + str r1, [r0, #4] +1: ldr r1, [r0] + cmp r1, #0 + bne 1b + mov r1, #0x74 + str r1, [r0, #8] + mov r1, #2 + str r1, [r0, #0x18] + mov r1, #0x120 + str r1, [r0, #0x30] + mov r1, #6 + str r1, [r0, #4] + ldr r0, =1f + mov r15, r0 +1: +#endif /* !DEBUG */ +#endif /* chipset specific */ #ifndef DEBUG /* Copy exception handler code to address 0 */ diff --git a/firmware/export/gdb_api.h b/firmware/export/gdb_api.h index 896c8d3..a395baa 100644 --- a/firmware/export/gdb_api.h +++ b/firmware/export/gdb_api.h @@ -24,7 +24,7 @@ #define GDB_API_MAGIC 0x6db570b #ifdef IRIVER_IFP7XX_SERIES -#define GDB_API_ADDRESS 0x24006000 +#define GDB_API_ADDRESS 0xc06000 #endif struct gdb_api diff --git a/gdb/linker.cfg b/gdb/linker.cfg index 46ec779..af604e0 100644 --- a/gdb/linker.cfg +++ b/gdb/linker.cfg @@ -13,8 +13,8 @@ OUTPUT_FORMAT(elf32-sh) MEMORY { IRAM : ORIGIN = 0, LENGTH = 0x10000 - DRAM : ORIGIN = 0x24000000, LENGTH = 0x6000 - DRAM_API : ORIGIN = 0x24006000, LENGTH = 0x100 + DRAM : ORIGIN = 0xc00000, LENGTH = 0x6000 + DRAM_API : ORIGIN = 0xc06000, LENGTH = 0x100 } SECTIONS |