[<<][arm][>>][..]
Fri Jun 24 20:27:36 CEST 2011

Arm and alginment

It's imperative to properly align data storage on ARM.  A normal STR
instruction needs 4-byte align, STRH[1] needs 2-bytes align and STRB
needs 2-byte.

Note that it's very easy to make mistakes against this when you start
liberally casting void pointers to other types.  I spent a couple of
hours tracking down an obscure error that happened only in optimized
code.  Granted, it took so long to find because eCos data exception
handling just ignored the error, and that stepping through the
optimized code was nearly impossible due to heavy inlining
(spaghetti-izing).

[1] http://www.rz.uni-karlsruhe.de/rz/docs/VTune/reference/INST_STRH.htm



arm7_9 dcc_downloads enable
arm7_9 fast_memory_access enable



[Reply][About]
[<<][arm][>>][..]