We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I came accross this statement in the compiler documentation "In ARM Compiler 4.1 and later, the compiler might place small global ZI data items in RW data sections as an optimization.". Can anyone explain what the optimization is?
see here: ARM Information Center
armlink will initialize the RW area either by
If a bit of ZI is in the RW area it will be treated as any other bit of RW but will have the initial value of zero.
Large ZI objects are not moved to ZI and are effectively run-length compressed.
Hi Scott,
Thanks, all makes sense now! I'd not joined the dots regarding the RW compression and the repeated 0's for the ZI area small objects.
Cheers,
Niall.
Hi Niall, do you need any more precision on this?
If not, would you please be able to mark the question answered?
Thanks!