Trouble with redboot on SPANSION S29GL512N

View: New views
5 Messages — Rating Filter:   Alert me  

Trouble with redboot on SPANSION S29GL512N

by Maxin B John :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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. Thanks & Regards, Maxin B. John

Re: Trouble with redboot on SPANSION S29GL512N

by Gary Thomas :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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

Re: Trouble with redboot on SPANSION S29GL512N

by Maxin B John :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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 ?

Thanks & regards,

Maxin B. John


On 4/19/07, Gary Thomas <gary@...> 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
> ------------------------------------------------------------
>

Re: Trouble with redboot on SPANSION S29GL512N

by Gary Thomas :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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

Re: Trouble with redboot on SPANSION S29GL512N

by Maxin B John :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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