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 have a struct containing several word8, word16 and word32. Writing a full 32-bits value causes mis-writing to the previous 32-bits value. 2 bytes go to the correct place, and 2 bytes to the previous. Having 8 or 16 bits entities in the same struct works fine and they align correctly. I don't use __packed. Some times I don't see the overwritten data, when I assume it's written to padded cells. We have 16 bits external ram for this. Little endian. Keil tool, ARM compiler.
Øyvind Teig home.no.net/.../work.html
What about ContextPtr? Is it aligned to a 4-byte boundary?
ContextPtr 0x3c012d46 is 1006710086 and divided by 4 is 251677521,5 --- NO! ---
So, I'd have to look at our malloc! Ported from AVR ATMega256 application! I have the code available!
Thank you! I'll keep the list posted with the result!
Case closed!
Our local "malloc" reimplemented to align on 4-byte boundary!
Thank you very much!