Réf : Re: Réf : Re: Init of the memory by RTEMS

Leonard Bise leonard.bise at syderal.ch
Wed Dec 9 13:26:33 UTC 2009


Thanks for your answer Joel.

We are using the 4.6 version of RTEMS so I guess the memory must be 
cleared.

I already use a customized linkcmds file in this application, to specify 
various sections and other stuff.

Thats what I modified for my RAM size :

RAM_SIZE   = 2M ;

EEPROM_SIZe = 512K ;

PROM_SIZE       = 64K ;

RAM_END = RAM_START + RAM_SIZE;

MEMORY
{
  rom     : ORIGIN = 0x00000000, LENGTH = 64K
  ram     : ORIGIN = 0x40000000, LENGTH = 2M
  eeprom  : ORIGIN = 0x60000000, LENGTH = 512K
}

>If you do not reserve the memory area out of the linkcmds, then
>it is likely to be used for some other purpose and overwritten.

How can I reserve memory ? I tried creating a section like this :

  sCCA_Main 0x401E7000: {
    *(sCCA_Main)
   } > ram 

then my var in the code looks like this :

uint32 PkgHW_CCA_main __attribute__ (( section ( "sCCA_Main" ) ) ) ;

But this does not work, the data I place in 0x401E7000 before starting 
execution of my RTEMS apps is overwritten by 0.
Hope you can help.

Léonard.





Joel Sherrill <joel.sherrill at oarcorp.com> 
09.12.2009 14:16

A
Leonard Bise <leonard.bise at syderal.ch>
cc
Sebastian Huber <sebastian.huber at embedded-brains.de>, 
"rtems-users at rtems.org" <rtems-users at rtems.org>
Objet
Re: Réf : Re: Init of the memory by RTEMS






On 12/09/2009 06:41 AM, Leonard Bise wrote:
>
> I forgot to mention it.
>
> I'm using RTEMS for the LEON2 platform.
>
Version?
> Also I'm not too sure how to know the address of the workspace or heap?
>
They are next to each other and the linkcmds and symbol
table from your application should give the information.

Where did  you override the RAM size?  The linkcmds
has this:

MEMORY
{
   rom     : ORIGIN = 0x00000000, LENGTH = 256M
   ram     : ORIGIN = 0x40000000, LENGTH = 1024M
}

And the start.S zeroes out the BSS from "_edata"
to "_end".

The addresses you mentioned will be part of the
unused memory from after the bss until the end of ram
and since you didn't tell the linkcmds or RTEMS about them,
they will be put in either the Workspace or C Program Heap
and used by something.



--joel

> Léonard.
>
>
>
> *Sebastian Huber <sebastian.huber at embedded-brains.de>*
>
> 09.12.2009 11:31
>
> 
> A
>                Leonard Bise <leonard.bise at syderal.ch>
> cc
>                rtems-users at rtems.org
> Objet
>                Re: Init of the memory by RTEMS
>
>
>
> 
>
>
>
>
>
> Hi,
>
> which BSP do you use? Is the memory address 0x401E7000 part of the 
> workspace or
> heap?
>
> CU
>
> -- 
> Sebastian Huber, embedded brains GmbH
>
> Address : Obere Lagerstr. 30, D-82178 Puchheim, Germany
> Phone   : +49 89 18 90 80 79-6
> Fax     : +49 89 18 90 80 79-9
> E-Mail  : sebastian.huber at embedded-brains.de
> PGP     : Public key available on request.
>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20091209/54989bac/attachment-0001.html>


More information about the users mailing list