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
diff --git a/flash/minimon/Makefile b/flash/minimon/Makefile
index 57ae13e..16b6c27 100644
--- a/flash/minimon/Makefile
+++ b/flash/minimon/Makefile
@@ -40,7 +40,7 @@
$(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 4eca81e..d2dc170 100644
--- a/flash/minimon/README
+++ b/flash/minimon/README
@@ -4,3 +4,6 @@
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 e7981f2..f34e94a 100644
--- a/flash/minimon/minimon.c
+++ b/flash/minimon/minimon.c
@@ -46,7 +46,7 @@
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 dbdbdc3..14150b2 100644
--- a/flash/minimon/minimon.lds
+++ b/flash/minimon/minimon.lds
@@ -3,7 +3,7 @@
MEMORY
{
- DRAM : ORIGIN = 0x09000000, LENGTH = 0x200000
+ IRAM : ORIGIN = 0x0FFFF000, LENGTH = 0x500
}
SECTIONS
@@ -12,22 +12,22 @@
{
*(.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 @@
*(.entry)
*(.text)
. = ALIGN(0x4);
- } > DRAM
+ } > IRAM
.data :
{
*(.data)
- } > DRAM
+ } > IRAM
.rodata :
{
*(.rodata)
. = ALIGN(0x4);
- } > DRAM
+ } > IRAM
.bss :
{
*(.bss)
- } > DRAM
+ } > IRAM
.stack :
{
*(.stack)
- } > DRAM
+ } > IRAM
}