This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Why R/W data in code build

I have made a code where all the gloabl/static variables are declared like given an example
below.

uint8_t x;
uint8_t y;

void main()
{ x = 0; y = 0;
}

None of global/static variables is defines as:
uint8_t x = 5;

Abovee is just example, I have many variables are defined. All are assigned values on entering
into main, none before that.

So all variables should go to bss section. But code build shows R/W section. It should be zero
but it is not.
Below is one example for same code:

1. Opt setting : No corss module, no microlib , level 0 code: 13774 RO data: 426 RW data: 68 ZI data: 19108

1. Opt setting : cross module, no microlib , level 3, optimize for time code: 7590 RO data: 426 RW data: 48 ZI data: 19104

In both setting there is R/W data even it should not be there. Why is that so

0