[ECOS] Re: STM32 ROM .bin does not start

Bernhard Gebert bernhard_gebert@web.de
Mon Jan 4 17:03:00 GMT 2010


Now the problem is solved.
The following extracts are working corectly.

Thank you, Sergei. From now on I'll use arm-none-eabi-objdump more often!

I feel not fit enough to create a new CDL variant for the STM32 
single-chip so I am not able to contribute this to the repository, maybe 
later.

Brg,
Bernhard


_rom.ldi
*******************************
MEMORY
{
    rom   : ORIGIN = 0x08000000, LENGTH = 0x00080000
    ram   : ORIGIN = 0x20000000, LENGTH = 
0x00010000-CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE
}
SECTIONS
{
    SECTIONS_BEGIN
    SECTION_rom_vectors (rom, 0x08000000, LMA_EQ_VMA)
    SECTION_RELOCS (rom, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_text (rom, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_fini (rom, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_rodata (rom, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_rodata1 (rom, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_fixup (rom, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_gcc_except_table (rom, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_eh_frame (rom, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_got (rom, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_data (ram, 0x20000400, FOLLOWING (.got))
    SECTION_bss (ram, ALIGN (0x8), LMA_EQ_VMA)
    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
    SECTIONS_END
}

hal_vsr_table = 0x20000000;
hal_virtual_vector_table = hal_vsr_table + 128*4;
hal_startup_stack = 0x20000000 + 1024*64;

_rom.ldi
*******************************
#define CYGMEM_REGION_ram (0x20000000)
#define CYGMEM_REGION_ram_SIZE 
(0x00010000-CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE)
#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)

#define CYGMEM_REGION_rom (0x08000000)
#define CYGMEM_REGION_rom_SIZE (0x00080000)
#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)



-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list