This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE : Using flash memory on AT91eb55


The evaluation board has 3 memory :

 * 256K byte of 16-bit SRAM (upgradeable to 1 MB)
 * 2M bytes of 16-bit Flash (of which 1 MB is available for user software)
 * 4M bytes of Serial Data Flash (upgradeable to 16 MB)

As I understand, the 256kb SRAM is used by the variables in my code.

1 mb of flash is used by my code which take 900 kb.
the other 1mb is used by the bootloader, which take only 200kb, so I think I can perhaps use the 800 other.
So I just have to make a "const char* myArray = 0x01050000" and the data will go there ? 

I can use the 4mb of serial flash, but I don't really know how to do it.

Why is it revelent if I work in the ram or the rom, the error happen at compilation time?

thanks !

Jérôme Champion

-------- Message d'origine--------
De: Andrew Lunn [mailto:andrew@lunn.ch]
Date: jeu. 13/12/2007 16:42
À: Champion Jérôme
Cc: ecos-discuss@sourceware.org
Objet : Re: [ECOS] Using flash memory on AT91eb55
 
On Thu, Dec 13, 2007 at 04:24:09PM +0100, Champion J?r?me wrote:
> Hi, 
> I'm make a software with the Linux Synthetic Target for some month.
> Now, I want to port it the the evaluation board AT91EB55.
> But when I compile it, I've got an error like : "the address 0x2040024 from a.out of the section .bss is not in the region ram".
> I've seen that it was an arry wich is too big and which certainly do not fit in the 256ko ram of the board.
> I would like to use the flash memory to store this array, but I don't how how to define it.
> Have you got any link or tips where to search ?

Are you using a RAM image or a ROM image? 

A ROM image will run from ROM. All constant data should remain in the
flash. So maybe all you need to do is add a const keyword in the right
place.

If you have a RAM image, it is harder. What i would suggest is remove
the array from the sources and find another way to generate it as
binary data. You can then write this into flash at a well know
address. In your application just use the well known address as a
pointer.

        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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]