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
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!