[ECOS] Confused with RAM layout, help~

Andrew Lunn andrew@lunn.ch
Fri Dec 17 08:51:00 GMT 2004


On Fri, Dec 17, 2004 at 01:07:44PM +0800, Yanjun Yang wrote:

> I got an xscale based system from Intel and want to port the most
> recent RedBoot to support this board. Since Intel provided an early
> version RedBoot with source I thought the task will be easy. But
> when the new RedBoot banner came out, it issued a line about RAM as
> follow:
> 
> RAM: 0xa0000000-0xa4000000, [0xa0043d48-0x00eb1000] available

This 0x00eb1000 probably shows that you have your heap in a funy
location. Please show us your *_ROM.ldi and *_ROM.h file from the hal
include/pkgconf directory.

> The older working version RedBoot just gives:
> 
> RAM: 0xa0000000-0xa4000000
> 
> There was also other problems, but I think this must be solved first.
> 
> The variant I use is PXA2X0, and I heard in this list that ARM
> always assume RAM is started from 0x00000000, but that's where my
> FLASH started.

After boot the flash and RAM are normally remapped so that RAM is at
0x0 and the FLASH is somewhere higher. If looks like redboot is
printing the unmapped addresses. 
 
> BTW, I have four E28F128J3A devices to form 64M of 32 bits memory,
> but only the first two can be recognized when I set
> CYGNUM_FLASH_BASE as 0x00040000 (any block boundery but the first
> one), and any access to the FLASH data will cause some memory
> violation.

You need to give the address the flash is mapped to, not the physical
address. I suggest you take a closer look at the start up code for
your HAL and see where it remaps the various types of memory to. Its
probaby using the MMU to do this.

        Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list