ARM Overview: Difference between revisions
[unchecked revision] | [unchecked revision] |
Content deleted Content added
m fixed link and added new link |
|||
Line 249:
==Coding Gotchas==
===== Missing Division Functions (__aeabi_uidivmod, __aeabi_idiv) / No Division Support =====
This is caused by using GCC and not linking with ''libgcc''.
You must also make sure you use the ''libgcc'' that has been compiled for your target machine/architecture/platform. See [[Libgcc]] for more information. You can produce the correct library for GCC by reading [[GCC_Cross-Compiler]].
This issue is actually complicated because different CPUs may not support hardware division, support it only through the floating point operations, in thumb mode, in native mode, or a combination. Also, in certain situations you may find it faster or more compact to use different methods because you may be interested in code size or performance. Normally, ''libgcc'' will handle all of these situations and provide the needed symbols, however here are some various sources of information that can give you a more in-depth understanding:
|