Cortex M7 DSP moving average UMAAL


I am looking to do a moving average function using DSP instructions of ARM Cortex M7. Unfortunately I couldn't find a direct example. My goal is to have variables for

- the sum

- the new value

- the oldest value

Then the algorithm is sum = sum + new value - oldest value and average = sum / ( number of values between oldest and new), ie two instructions

I think instruction UMAAL could be good for this, I found it in instruction set summary, but it is not in CMSIS library. Why is that? Where can I find details about it and how can I create my own C asm caller?

Thanks for any help and hints or other ideas on this topic, I hope it also helps other developers.

Kind regards