Hi
I have the following code in cryptography. It is a function which accepts a "key" and "state" inputs and then encrypts state using key.
uint state[4]={0,1,2,3}; uint key[8]={1,2,3,4,5,6,7,8}; Encrypt(state,key);
When I increase size of the "state" variable, I expect to see RW-Data to grow. Because variables are located in RAM. But I see that code size and RO-Data increase instead.
Why ?!
I appreciate your help.
Regards
Thanks. I know how initialization data are copied from a non-volatile memory to RAM.
This is what I do not understand: I want to know how much RAM a crypto algorithm uses. But these two codes consume different CODE but the same RAM:
<par> uint state[4]={1}; </par> and <par> uint state[40000]={1}; </par>
This is not consistent with classic model of ROM/RAM memory usage.
f.n: I have used the entire array in my code. So none of it is trimmed by the compiler optimization.
I know how initialization data are copied from a non-volatile memory to RAM.
Sorry, but it's blatantly obvious that you don't.
If you REALLY want to know, then you either have to actually interpret the answers given to you or you must carry out your own investigations.
I'm not wasting any more time with you.
First excuse me for bad English. This is the right sentence I wrote hastily:
I know THAT initialization data are copied from a non-volatile memory to RAM.
I did not really wanted to take your time.
BUT,
I wish that your first post was as short and informative as " Search this keyword" or "read that link" or "look at your compile directory" or at least your answer was like : "This is a very simple question, go and find the answer yourself. This forum is highly professional and I do not have time to answer simple questions!"
but instead it was to teach me that stop asking and "I must LEARN" to find answer by myself.
If an individual asks a question and I know the answer (but think that it is blatantly trivial and waste fo time) at least I give him a clue or even do not write anything for him, instead of teaching him that: he really DO NOT know anything and first must LEARN how to search for it.
My lesson: I will never come back here to ask anything.
Good luck.
Are you by any chance declaring these initialized variables within a function instead of globally? This would explain the behavior you are seeing very well.
local variables do not take up any more RAM than is already allocated for the stack even if your variable overruns the stack size.