Hello, my application is utilizing almost all RAM.
Now i need to add a feature and for that i declare a 2D array:
static const char * states[][2] = { {"st10","st20"}, {"st11","st21"}, . . . }
I am using a chip with 32KB Ram. Without this new array memory consumption is as follows:
Program Size: Code=95100 RO-data=6428 RW-data=396 ZI-data=37728
once i add 17-th element in the array I get:
Error: L6220E: Execution region RW_IRAM1 size (32776 bytes) exceeds limit (32768 bytes)
Why do i get this error? Aren't static const arrays are stored only in flash memory?
Yes, that was it. Thanks.
So now my array is stored on flash and at run time it is fetched from flash any time i access a cell from the array?
it is fetched from flash any time i access a cell from the array?
That's an odd way of phrasing it. It works the same way as it would if it were in RAM. When an element of the array is accessed, it is read from flash.
Thanks.
I know I have to improve my English.