This is the mail archive of the ecos-devel@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Trouble with redboot on SPANSION S29GL512N


Dear Gary Thomas,

I have modified the files as given below..

romram.h

#include <cyg/infra/cyg_type.h>
#include <stddef.h>

extern unsigned long SDRAMSize;
#define CYGMEM_REGION_ram (0)
#define CYGMEM_REGION_ram_SIZE (SDRAMSize)
#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
#define CYGMEM_REGION_rom (0x60000000)
#define CYGMEM_REGION_rom_SIZE (0x1000000)
#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
extern char CYG_LABEL_NAME (_heap1) [];
#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (_heap1))
#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram_SIZE - (size_t)
CYG_LABEL_NAME (_heap1))



romram.ldi

MEMORY
{
   ram : ORIGIN = 0, LENGTH = 0x10000000
   rom : ORIGIN = 0x60000000, LENGTH = 0x1000000
}

SECTIONS
{
   SECTIONS_BEGIN
   SECTION_fixed_vectors (ram, 0x20, LMA_EQ_VMA)
   SECTION_rom_vectors (ram, 0x8000, AT (0x60000000))
   SECTION_text (ram, ALIGN (0x4), FOLLOWING (.rom_vectors))
   SECTION_fini (ram, ALIGN (0x4), FOLLOWING (.text))
   SECTION_rodata (ram, ALIGN (0x4), FOLLOWING (.fini))
   SECTION_rodata1 (ram, ALIGN (0x4), FOLLOWING (.rodata))
   SECTION_fixup (ram, ALIGN (0x4), FOLLOWING (.rodata1))
   SECTION_gcc_except_table (ram, ALIGN (0x4), FOLLOWING (.fixup))
   SECTION_data (ram, ALIGN (0x4), FOLLOWING (.gcc_except_table))
   SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
   _heap1 = ALIGN (0x8);
   SECTIONS_END
}

romram.mlt


version 0 region ram 0 10000000 0 ! region rom 60000000 1000000 1 ! section fixed_vectors 0 1 0 1 1 0 1 0 20 20 ! section rom_vectors 0 1 0 1 1 1 1 1 8000 60000000 text text ! section text 0 4 1 1 0 1 0 1 fini fini ! section fini 0 4 1 1 0 1 0 1 rodata rodata ! section rodata 0 4 1 1 0 1 0 1 rodata1 rodata1 ! section rodata1 0 4 1 1 0 1 0 1 fixup fixup ! section fixup 0 4 1 1 0 1 0 1 gcc_except_table gcc_except_table ! section gcc_except_table 0 4 1 1 0 1 0 1 data data ! section data 0 1 1 1 0 1 0 bss bss ! section bss 0 4 0 1 0 1 0 1 heap1 heap1 ! section heap1 0 8 0 0 0 0 0 0 !

But still the redboot is not booting.
Please help.

Thanks & Regards,

Maxin B. John

On 4/20/07, Gary Thomas <gary@mlbassoc.com> wrote:
Maxin John wrote:
> Dear Gary Thomas,
>
> Thank you very much. But I am a bit consfused. I would like to know
> where I need to modify that. So how user can change the memory layout
> if he wants to change ?
>   I not sure  that I am suppossed to change the *.ldi  files. So am I
> suppossed to change the  size in  *.h or *.mlt file and recompile
> again ?

The current files (as provided by Cirrus) only map 16MB for FLASH.
You'll need to make adjustments in 3 places to handle your 64MB device.
   hal/arm/arm9/ep93xx/v2_0/include/pkgconf/mlt_arm_arm9_edb9301_romram.h
   hal/arm/arm9/ep93xx/v2_0/include/pkgconf/mlt_arm_arm9_edb9301_romram.ldi
   hal/arm/arm9/ep93xx/v2_0/include/hal_platform_setup.h
>
> On 4/19/07, Gary Thomas <gary@mlbassoc.com> wrote:
>> Maxin B John wrote:
>> > Dear all,
>> >
>> >   I have compiled ECOS to support AMD/SPANSION S29GL512N  flash for
>> EP9301 .
>> > I have compiled the the redboot.bin but on booting , the system hangs.
>> > The flash_am29xxxxx_parts.inl is modified like this
>> >
>> > #ifdef CYGHWR_DEVS_FLASH_AMD_S29GL512N
>> > {
>> > //AMD/SPANSION S29GL512N
>> > long_device_id:true,
>> > device_id: FLASHWORD(0x227e),
>> > device_id2: FLASHWORD(0x2223),
>> > device_id3: FLASHWORD(0x2221),
>> > block_size:0x20000 * CYGNUM_FLASH_INTERLEAVE,
>> > block_count:512,
>> > device_size:0x4000000 * CYGNUM_FLASH_INTERLEAVE,
>> > base_mask:~(0x4000000 * CYGNUM_FLASH_INTERLEAVE-1),
>> > bootblock : false,
>> > banked :false,
>> > },
>> > #endif
>> >
>> > Please let me know if anyone had successfully compiled the redboot with
>> > SPANSION S29GL512N with EP9301.
>>
>> Make sure your memory map (which on ARM includes some
>> assembly tables) have been adjusted to handle the FLASH.
>> If they are not able to handle the entire size (64MB in
>> this case), then RedBoot will hang/die.

--
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]