[ECOS] RAM Images on AT91SAM7s256

Andrew Lunn andrew@lunn.ch
Mon Jan 28 16:47:00 GMT 2008

On Mon, Jan 28, 2008 at 05:07:38PM +0100, Alois Z. wrote:
> Hi,

> I currently working with a AT91SAM7s256 based board. For debugging
> and testing I like to devlop RAM only images.

With only 64Kbytes of RAM, you will be very limited to what you can
do. I strongly suggest you get a JTAG debugger which can set hardware
breakpoints. You can then run your application from ROM and single
step, set a couple of breakpoints etc. 

> As the existing eCos
> support for this platform has only definitions for rom images I
> tried to use the existing files for ram linker file
> definitions. After looking through several ldi files and googling
> around I'm not quite shure if made the right placement for the
> 'SECTION_rom_vectors' and the 'SECTION_fixed_vectors' sections.

> Currently my ram.ldi looks like:
> {
>     ram : ORIGIN = 0x00200000, LENGTH = 0x10000
> }
> {
>     SECTION_rom_vectors (ram, 0x00200000, LMA_EQ_VMA)
>     SECTION_fixed_vectors (ram, ALIGN (0x1), LMA_EQ_VMA)
>     SECTION_text (ram, ALIGN (0x1), LMA_EQ_VMA)
>     SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
>     SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
>     SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
>     SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
>     SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
>     SECTION_data (ram, ALIGN (0x4), FOLLOWING (.gcc_except_table))
>     SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
>     CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
> }

This looks reasonable. 

How are you going to get this image into RAM?

You also need to make sure that RAM is mapped to address 0x0 as well
as 0x00200000. I know ROM startup does this, but i think RAM startup
probably does not.

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