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