This is the mail archive of the
ecos-devel@sourceware.org
mailing list for the eCos project.
Re: Trouble with redboot on SPANSION S29GL512N
- From: "Maxin John" <arm dot maxinbjohn at gmail dot com>
- To: "Gary Thomas" <gary at mlbassoc dot com>
- Cc: ecos-devel at ecos dot sourceware dot org
- Date: Fri, 20 Apr 2007 18:03:43 +0530
- Subject: Re: Trouble with redboot on SPANSION S29GL512N
- Dkim-signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=nJjlBzIpCBelIAMgWNAEVQjJlWxzYTeZbXuMmef2hR/4RD/tNxozosqmto52+d4fvTMmsZoRmetF7iTyxAB5WLzaPB1Gr6U5zmN84Z1MRU40vpijDjTAQ5IaAXVEuCAiZA1KWrrhQKpfqaE2K5KmgsBshZfpLU2IBwAvN5EajtQ=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=S9edEPvJRXnTJdjmcIi4/QAikeA4uepn1oxCrUdIwmG2vn15DdnRHSNWphkLHftWyd24EN4Oh9h0yeQ/u3lRGvPFnVlT82FTex8yCiHLu29Aj8TmfQAhDJvtNSd1PCAxUjG0MyTt3OYGMrS4uNGO+jwnuw07HW/+mSOMq4ydZTE=
- References: <10078647.post@talk.nabble.com> <4627822A.7090902@mlbassoc.com> <ef974dc70704192212m755dc081heaab1cce9ed2d826@mail.gmail.com> <4628A9AF.6020108@mlbassoc.com>
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
------------------------------------------------------------