TMS320F28386D: exceed the allocated RAM

Part Number: TMS320F28386D


Hello Experts,

This application uses a TMS320F28386

I am trying to run a filter algorithm in the CLA that requires long doubles (64-bit floats).  The macro to run this is as follows:

#define RunFilter( Filter, InputData )                                                          \

Filter.Uz   = InputData;                                                                                        \
Filter.Yz  =                              ( (Filter.Uz + Filter.Uz2) * Filter.A0A2  )    \
                                              +   ( (Filter.Uz1 - Filter.Yz1) * Filter.A1B1 )    \
                                              +   (Filter.Yz2 * Filter.B2);                                      \
Filter.Uz2  = Filter.Uz1;                                                                                        \
Filter.Uz1  = Filter.Uz;                                                                                           \
Filter.Yz2  = Filter.Yz1;                                                                                         \
Filter.Yz1  = Filter.Yz;                                                                                            \
Filter.Out  = Filter.Yz

All elements above are 64-bit long doubles

When I include the filter in the CLA ISR, the required CLA program RAM increases considerably, to the point where I exceed the allocated RAM.  If I delete other functions and increase the allocated CLA program RAM (for the sake of testing) I can get the program to fit into RAM, but then the execution takes too long and I overrun the ISR.

Is there any way to overcome this in the CLA, or does the CLA just not run with 64 bit long doubles?

Thank you,

Andy Barnett