|ARM Technical Support Knowledge Articles|
Applies to: DS-5
The ARM Compiler library functions are generally optimized for performance and code size, and in most cases it is not necessary to override them. However, you might need to customize some parts of the library for your target environment or to remove a dependency on semihosting.
For example, it might be more efficient for the CPU to access an external memory controller in a way that is different to what is expected by the
memcpy() implementation provided by the
__aeabi_memcpy() library function. In such situations, you can override the default implementation with your own
__aeabi_memcpy() function that includes the optimization for memory access to the external memory controller.
To override/re-implement the library functions you will need to:
--library_interface=noneoption during compilation. This will tell the compiler to look for local implementation of library functions. If no local definition is found the function is linked with library code. (Refer to the ARM Compiler User guide for more details on this compiler option).
The Libraries and Floating-Point Support User Guide contains an example of redefining low-level library functions to enable direct use of high-level library functions in the C library.
Once the compiler finds the definition of a library function in your code it will not pull in the definition(s) from the C/C++ libraries during compile or link time.
Article last edited on: 2016-05-09 09:28:04
Did you find this article helpful? Yes No
How can we improve this article?