where i can find RAM size used by code in the codewarrior v6.3?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

where i can find RAM size used by code in the codewarrior v6.3?

Jump to solution
1,651 Views
karunanithiprat
Contributor II

I am using MC9RS08LA8 controller and it displaying link error (L1102-Tiny ram at address 0x0E) while i compile. how to see the ram usage and how to solve this issue. I am new to this compiler.

thank you,

 

Message was edited by: karunanithi pratheep

Labels (1)
1 Solution
1,278 Views
Carlos_Mendoza
NXP Employee
NXP Employee

Hi Karunanithi Pratheep,

It seems that the RAM required for your global and static variables, plus the stack, may exceed the available RAM capacity. Please take a look to Jorge Gonzalez's answer on the following post, it explains how you can find a summary of the memory usage in the *.map file:

Re: HC08: Code Warrior newbie questions

Hope it helps!

Best Regards,

Carlos Mendoza

Technical Support Engineer

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

View solution in original post

4 Replies
1,279 Views
Carlos_Mendoza
NXP Employee
NXP Employee

Hi Karunanithi Pratheep,

It seems that the RAM required for your global and static variables, plus the stack, may exceed the available RAM capacity. Please take a look to Jorge Gonzalez's answer on the following post, it explains how you can find a summary of the memory usage in the *.map file:

Re: HC08: Code Warrior newbie questions

Hope it helps!

Best Regards,

Carlos Mendoza

Technical Support Engineer

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

1,278 Views
karunanithiprat
Contributor II

the followings are memory allocation  form my .Prm file,

if i use more then 128 bytes it showing tiny ram error... how can i utilze 256 bytes of ram..

NAMES END /* CodeWarrior will pass all the needed files to the linker by command line. But here you may add your own files too. */

SEGMENTS /* Here all RAM/ROM areas of the device are listed. Used in PLACEMENT below. */

    TINY_RAM                 =  READ_WRITE   0x0005 TO 0x000D;

    RAM                      =  READ_WRITE   0x0050 TO 0x00BF;

    RAM1                     =  NO_INIT      0x0100 TO 0x017F;

    RESERVED_RAM             =  NO_INIT      0x0000 TO 0x0004;

    ROM                      =  READ_ONLY    0x2000 TO 0x3F00;

    CONST_PAGE               =  READ_ONLY     0x3f01 TO 0x3FF9;

END

PLACEMENT /* Here all predefined and user segments are placed into the SEGMENTS defined above. */

    RESERVED                 INTO RESERVED_RAM;

    TINY_RAM_VARS            INTO TINY_RAM;

    DIRECT_RAM_VARS          INTO RAM, TINY_RAM;

   

    Myuse                    INTO RAM1;

   

    DEFAULT_RAM              INTO RAM, TINY_RAM;

    DEFAULT_ROM              INTO ROM;

    CONST_ROM               INTO CONST_PAGE;

END

STACKSIZE 0x00 /* no stack for RS08 */

/*********************************************************************************************/

READ_ONLY (R):        1CE6 (dec:     7398)

READ_WRITE (R/W):       78 (dec:      120)

NO_INIT (N/I):          B4 (dec:      180)

0 Kudos
1,278 Views
Carlos_Mendoza
NXP Employee
NXP Employee

Hi Karunanithi Pratheep,

By looking at the information in your .prm file, your DEFAULT_RAM segment is only using the RAM and TINY RAM segments, the RAM1 is only used for the Myuse segment this is why you are only using half the RAM. Is there a specific reason to use the RAM1 segment only for the Myuse segment?

What you can do is modify the PLACEMENT to the following:

PLACEMENT /* Here all predefined and user segments are placed into the SEGMENTS defined above. */

     .

     .

     .

    DEFAULT_RAM              INTO RAM, RAM1, TINY_RAM;

     .

     .

     .

END

Hope it helps!

Best Regards,

Carlos Mendoza

Technical Support Engineer

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

1,278 Views
karunanithiprat
Contributor II

yes , There are some variables declared inside the myuse area. Now i got the solution.

Thanks,

K Pratheep