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
This commit is contained in:
Jens Arnold 2008-10-30 00:34:43 +00:00
parent 5456859dd7
commit 601afcbd0b
4 changed files with 15 additions and 12 deletions

View file

@ -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

View file

@ -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.

View file

@ -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)
{

View file

@ -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
}