Just some hazy answers...hopefully someone with real info will add...

1. The entire executable program and constant data is loaded into ROM.
You can get an idea of what is involved by looking at the
build/tmote/app.c file which is what gets crunched into ROM.

2. I think you get some obscure errors about .bss and such, but I
don't know the details. Try making something with a couple huge
arrays in RAM and ROM and see what transpires.

2.1. Not sure what you mean by "control the memory size". Each controller
chip has a fixed size of RAM and ROM so it's more of a #define sort of
thing. InternalFlash is yet another memory, basically EEPROM that can
be accessed for cross-boot data storage.

2.2. Again I'm not sure, but most assemblers have options to output
link listings. I doubt you can control the segments other than using
"const" and such in your code. There is a little bit of discussion on
this list. Probably you'll have to dig into the doc for the MSP asm...

MS

Gracinda García Lago wrote:
> Hi!
> I have some doubts about RAM and flash memory size and how the compiler 
> "control" them, I have tried to find the answer in  posted messages but 
> without any success.
>  
> I am using a msp4030 micro, flash memory size is 48KB and RAM memory 
> size is 10240B.
> When you compile an application  for instance Oscilloscope, using "make 
> tmote" it gives you back information about bytes in RAM and bytes in ROM.
> 10614 bytes in ROM
>     380 bytes in RAM
>  
> 1. Why the bytes size is so big in ROM memory (Flash)? I know that in 
> ROM you will have to load the boot loader, but what else is going to be 
> loaded in ROM ?
> 2. Other doubt: if you tried to compile an application that requires 
> more bytes that your memory size, maybe when you compile, it will give 
> you some errors (overlap sections).
>     2.1.How can the compiler control the memory size (every micro has a 
> different memory size) and know it?
> Where is this information?  I have tried to look for it, but only I have 
> find a component related to InternalFlash but anything else.
>     2.2.And how can I know the mapping that the compiler is doing for 
> both memories? what has been loaded in every segment of the memory? Can 
> I control this mapping?
>  
> I am just starting with TinyOs, and I am kind of lost.
> Thank you for your help!
>  
> Regards!
>  
>  
>  
>  
>  
>  
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Tinyos-help mailing list
> [email protected]
> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to