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

Joel Sherrill joel.sherrill at OARcorp.com
Thu Dec 10 12:14:53 UTC 2009


On 12/10/2009 01:37 AM, Leonard Bise wrote:
>
> I tried this methode but surprinsingly the memory in this area STILL 
> gets erased. I don't know by what  and it does not make any sense either.
>
> 401e0000 g       *ABS*        00000000 _RAM_END
>
> That seems correct but something is STILL clearing that damn memory !
>
Are you doing a CPU reset?

Do you have GRMON?  I think it clears memory also.
> I'm seriously lost now..
>
> Léonard.
>
>
>
>
> *Joel Sherrill <joel.sherrill at oarcorp.com>*
>
> 09.12.2009 20:28
>
> 	
> A
> 	Aleix Conchillo Flaqué <aconchillo at ice.csic.es>
> cc
> 	Leonard Bise <leonard.bise at syderal.ch>, "rtems-users at rtems.org" 
> <rtems-users at rtems.org>
> Objet
> 	Re: Réf : Re: Réf : Re: Init of the memory by RTEMS
>
>
>
> 	
>
>
>
>
>
> On 12/09/2009 10:24 AM, Aleix Conchillo Flaqué wrote:
> > Why don't you just change the start of your Application? For example:
> >
> >
> > MEMORY
> > {
> >   ram     : ORIGIN = 0x40020000, LENGTH = 2M - 128 K
> > }
> >
> > RTEMS will not modify anything from 0x40000000 to 0x4001FFFF.
> >
> Or simply leave ORIGIN alone and subtract 128K from the LENGTH.
> Either way works.  But you can't tell RTEMS about it. :)
>
> --joel
> >
> > On Wed, Dec 9, 2009 at 14:26, Leonard Bise <leonard.bise at syderal.ch
> > <mailto:leonard.bise at syderal.ch>> wrote:
> >
> >
> >     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
> > <mailto:joel.sherrill at oarcorp.com>>*
> >
> >     09.12.2009 14:16
> >
> >
> >     A
> >                      Leonard Bise <leonard.bise at syderal.ch
> > <mailto:leonard.bise at syderal.ch>>
> >     cc
> >                      Sebastian Huber <sebastian.huber at embedded-brains.de
> > <mailto:sebastian.huber at embedded-brains.de>>,
> >     "rtems-users at rtems.org <mailto:rtems-users at rtems.org>"
> > <rtems-users at rtems.org <mailto: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
> > <mailto:sebastian.huber at embedded-brains.de>>*
> > >
> > > 09.12.2009 11:31
> > >
> > >
> > > A
> > >                  Leonard Bise <leonard.bise at syderal.ch
> > <mailto:leonard.bise at syderal.ch>>
> > > cc
> > > rtems-users at rtems.org <mailto: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
> > <mailto:sebastian.huber at embedded-brains.de>
> > > PGP     : Public key available on request.
> > >
> > > Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des
> >     EHUG.
> > >
> >
> >
> >
> >     _______________________________________________
> >     rtems-users mailing list
> >     rtems-users at rtems.org <mailto:rtems-users at rtems.org>
> > http://www.rtems.org/mailman/listinfo/rtems-users
> >
> >
>
>
> -- 
> Joel Sherrill, Ph.D.             Director of Research&  Development
> joel.sherrill at OARcorp.com        On-Line Applications Research
> Ask me about RTEMS: a free RTOS  Huntsville AL 35805
>    Support Available             (256) 722-9985
>
>
>




More information about the users mailing list