How do I move an ABI function to RAM

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How do I move an ABI function to RAM

240 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Zimbula on Thu Sep 11 21:41:51 MST 2014
I'm trying to speed up double precision floating point within my application.

My application runs within flash on a LPC4337.

What I would like to try is moving specific ABI floating point functions from flash to RAM.

Is this possible? 
Has anyone tried this?

__aeabi_dadd
__aeabi_ddiv
__aeabi_dmul
.
.
.
0 Kudos
1 Reply

225 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by lpcxpresso-support on Fri Sep 12 03:13:08 MST 2014
If you check the map file generated by the linker when you build you project, you should then be able to use the details of where these functions are being pulled from to do something similar to the method described in this previous thread on relocated CMSIS-DAP functions into RAM…

http://www.lpcware.com/content/forum/running-cmsis-dsp-library-function-ram#comment-1138707

Note that if you want performance, then you would do better looking a changing your algorithm to use floats instead of doubles. You will then be able to use the single precision floating point unit built into the Cortex-M4 in the LPC4337.

http://www.lpcware.com/content/faq/lpcxpresso/cm4-floating-point

Regards,
LPCXpresso Support
0 Kudos