I am using a two function implementation to calculate Mel-frequency coefficients for a neural network. My code is executing in it's entirety without any issues. However, after using the Energy Trace technology to estimate the average energy needed - I observed that much of the time required is for calculating these coefficients as they use floating point operations. A warning issued by the compiler is the ULP 5.2 as mentioned in the title. While I found some similar questions dealing with the warning, I have not found an answer that addresses the possible solution or method of moving operations to the RAM during runtime. I cannot change or let go of the floating point as it is integral to the correctness of the calculation. How can I implement the solution for this advice/warning issued by the MSP. I tried making some changes to the linker file namely moving my variables and pragma declaration on the FRAM and also assigning the '.run' as 'FRAM2' in the following section of the file:
#ifdef __TI_COMPILER_VERSION__
#if __TI_COMPILER_VERSION__ >= 15009000
#ifndef __LARGE_CODE_MODEL__
.TI.ramfunc : {} load=FRAM, run=FRAM2, table(BINIT)
#else
.TI.ramfunc : {} load=FRAM | FRAM2, run=FRAM2, table(BINIT)
#endif
#endif
#endif
However, I am still not certain where and what exact changes can be made to the code in order to improve the power consumption while using float operations in the MSP430. Please let me know if any additional information is required. Thank you.