summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2008-10-30 00:34:43 +0000
committerJens Arnold <amiconn@rockbox.org>2008-10-30 00:34:43 +0000
commit601afcbd0bfea8ec37f34a9cdf41c7dc7a964989 (patch)
tree2724261dc8ca4c9d74c2b044e4bbbfbdbbd48376
parent5456859dd787e44921934f1b30aa3b82cda4195f (diff)
downloadrockbox-601afcbd0bfea8ec37f34a9cdf41c7dc7a964989.tar.gz
rockbox-601afcbd0bfea8ec37f34a9cdf41c7dc7a964989.zip
Minimon is loaded to 0x0ffff000 by uart_boot, so it needs to be linked to that address as well, or it won't work. Also add that hint to the README, fix a warning, and fix the disassembly base address (was wrong either way).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18930 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--flash/minimon/Makefile2
-rw-r--r--flash/minimon/README3
-rw-r--r--flash/minimon/minimon.c2
-rw-r--r--flash/minimon/minimon.lds20
4 files changed, 15 insertions, 12 deletions
diff --git a/flash/minimon/Makefile b/flash/minimon/Makefile
index 57ae13e940..16b6c2724e 100644
--- a/flash/minimon/Makefile
+++ b/flash/minimon/Makefile
@@ -40,7 +40,7 @@ LINKFILE = $(OBJDIR)/$(TARGET).lds
$(OBJDIR)/$(TARGET).bin : $(OBJDIR)/$(TARGET).elf
$(OC) -O binary $(OBJDIR)/$(TARGET).elf $(OBJDIR)/$(TARGET).bin
- $(TOOLSDIR)/sh2d $(OBJDIR)/$(TARGET).bin -o 0900000 > $(OBJDIR)/$(TARGET).asm
+ $(TOOLSDIR)/sh2d $(OBJDIR)/$(TARGET).bin -o 0x0ffff000 > $(OBJDIR)/$(TARGET).asm
$(OBJDIR)/$(TARGET).elf : $(OBJS)
$(CC) -Os -nostdlib -o $(OBJDIR)/$(TARGET).elf -L$(OBJDIR) -T$(LINKFILE) -Wl,-Map,$(OBJDIR)/$(TARGET).map
diff --git a/flash/minimon/README b/flash/minimon/README
index 4eca81e7e9..d2dc1707a6 100644
--- a/flash/minimon/README
+++ b/flash/minimon/README
@@ -4,3 +4,6 @@ MiniMon is the tiny but powerful-enough piece of code that can be loaded
with the UART boot mod.
It allows to read and write memory, flash program, execute code.
This is suitable to reflash the box, load Rockbox or the gdb stub, etc.
+
+The SVN version is linked to 0x0ffff000, i.e. start of IRAM.
+This address has to match the address uart_boot downloads it to. \ No newline at end of file
diff --git a/flash/minimon/minimon.c b/flash/minimon/minimon.c
index e7981f2d09..f34e94ac62 100644
--- a/flash/minimon/minimon.c
+++ b/flash/minimon/minimon.c
@@ -46,7 +46,7 @@ int main(void)
UINT32 size;
UINT32 content;
volatile UINT8* paddr = 0;
- volatile UINT8* pflash; // flash base address
+ volatile UINT8* pflash = 0; // flash base address
while (1)
{
diff --git a/flash/minimon/minimon.lds b/flash/minimon/minimon.lds
index dbdbdc3faa..14150b2123 100644
--- a/flash/minimon/minimon.lds
+++ b/flash/minimon/minimon.lds
@@ -3,7 +3,7 @@ INPUT(minimon.o)
MEMORY
{
- DRAM : ORIGIN = 0x09000000, LENGTH = 0x200000
+ IRAM : ORIGIN = 0x0FFFF000, LENGTH = 0x500
}
SECTIONS
@@ -12,22 +12,22 @@ SECTIONS
{
*(.startvector)
. = ALIGN(0x4);
- } > DRAM
+ } > IRAM
.got :
{
*(.got)
- } > DRAM
+ } > IRAM
.got.plt :
{
*(.got.plt)
- } > DRAM
+ } > IRAM
.rela.got :
{
*(.rela.got)
- } > DRAM
+ } > IRAM
.text :
{
@@ -35,26 +35,26 @@ SECTIONS
*(.entry)
*(.text)
. = ALIGN(0x4);
- } > DRAM
+ } > IRAM
.data :
{
*(.data)
- } > DRAM
+ } > IRAM
.rodata :
{
*(.rodata)
. = ALIGN(0x4);
- } > DRAM
+ } > IRAM
.bss :
{
*(.bss)
- } > DRAM
+ } > IRAM
.stack :
{
*(.stack)
- } > DRAM
+ } > IRAM
}