diff options
| author | Jens Arnold <amiconn@rockbox.org> | 2008-10-30 00:34:43 +0000 |
|---|---|---|
| committer | Jens Arnold <amiconn@rockbox.org> | 2008-10-30 00:34:43 +0000 |
| commit | 601afcbd0bfea8ec37f34a9cdf41c7dc7a964989 (patch) | |
| tree | 2724261dc8ca4c9d74c2b044e4bbbfbdbbd48376 | |
| parent | 5456859dd787e44921934f1b30aa3b82cda4195f (diff) | |
| download | rockbox-601afcbd0bfea8ec37f34a9cdf41c7dc7a964989.zip rockbox-601afcbd0bfea8ec37f34a9cdf41c7dc7a964989.tar.gz rockbox-601afcbd0bfea8ec37f34a9cdf41c7dc7a964989.tar.bz2 rockbox-601afcbd0bfea8ec37f34a9cdf41c7dc7a964989.tar.xz | |
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/Makefile | 2 | ||||
| -rw-r--r-- | flash/minimon/README | 3 | ||||
| -rw-r--r-- | flash/minimon/minimon.c | 2 | ||||
| -rw-r--r-- | flash/minimon/minimon.lds | 20 |
4 files changed, 15 insertions, 12 deletions
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 @@ 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 4eca81e..d2dc170 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 e7981f2..f34e94a 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 dbdbdc3..14150b2 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 } |