Init of the memory by RTEMS
Zandin Johan
johan.zandin at ruag.com
Thu Dec 10 09:10:57 UTC 2009
Hi!
I'm not sure that it's sufficient to update the MEMORY
structure. You may also have to modify some of these:
RAM_START
RAM_SIZE
RAM_END
_RAM_START
_RAM_SIZE
_RAM_END
Best regards
/Johan Zandin
>-----Original Message-----
>From: rtems-users-bounces at rtems.org
>[mailto:rtems-users-bounces at rtems.org] On Behalf Of Leonard Bise
>Sent: den 10 december 2009 08:38
>To: Joel Sherrill
>Cc: rtems-users at rtems.org
>Subject: Réf : Re: Réf : Re: Réf : Re: Init of the memory by RTEMS
>
>
>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 !
>
>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:leonard.bise at syderal.ch>
>mailto:joel.sherrill at oarcorp.com>>*
>>
>> 09.12.2009 14:16
>>
>>
>> A
>> Leonard Bise <leonard.bise at syderal.ch
>> < <mailto:joel.sherrill at oarcorp.com>
>mailto:leonard.bise at syderal.ch>>
>> cc
>> Sebastian Huber
><sebastian.huber at embedded-brains.de
>> < <mailto:leonard.bise at syderal.ch>
>mailto:sebastian.huber at embedded-brains.de>>,
>> "rtems-users at rtems.org <
><mailto:sebastian.huber at embedded-brains.de>
>mailto:rtems-users at rtems.org>"
>> <rtems-users at rtems.org < <mailto: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:rtems-users at rtems.org>
>mailto:sebastian.huber at embedded-brains.de>>*
>> >
>> > 09.12.2009 11:31
>> >
>> >
>> > A
>> > Leonard Bise <leonard.bise at syderal.ch
>> < <mailto:sebastian.huber at embedded-brains.de>
>mailto:leonard.bise at syderal.ch>>
>> > cc
>> > rtems-users at rtems.org <
><mailto:leonard.bise at syderal.ch> 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:rtems-users at rtems.org>
>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:sebastian.huber at embedded-brains.de>
>mailto: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
>
>
><http://www.rtems.org/mailman/listinfo/rtems-users>
>
>
More information about the users
mailing list