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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 ------------------------------------------------------------