Perform non-power-of-two FFT using ARM CMSIS library
Here is some code that calculates a 1280 tap FFT based on 5 256 tap FFTs

%% 1280 FFT based on five FFTs of 256 each
n = 1280; 
% Create a piece of noise
x = randn(n,1);
% calculate FFT using MATLAB native fft() function. 
% We'll use this as a reference to prove it works
fx = fft(x);

% Break down into five signals of 256 points each, interleaved
p = x(1:5:end);
q = x(2:5:end);
r = x(3:5:end);
s = x(4:5:end);
t = x(5:5:end);
% FFT each of those. This is a 256 power-of-two standard FFT
fp = fft(p);
fq = fft(q);
fr = fft(r);
fs = fft(s);
ft = fft(t);
% Do five times periodic extension (just repeat it 5 times)
fp5 = repmat(fp,5,1);
fq5 = repmat(fq,5,1);
fr5 = repmat(fr,5,1);
fs5 = repmat(fs,5,1);
ft5 = repmat(ft,5,1);
% calculate the 1280 twiddle factors
k5 = (0:n-1)';
W5 = exp(-1i*2*pi*k5/n);
% assemble the result
fy5 = fp5 + W5.*fq5 + W5.^2.*fr5 + W5.^3.*fs5 + W5.^4.*ft5;
% calculate the error
ferror = fy5-fx;
fprintf('Error = %6.2f dB\n',10*log10(sum(ferror.*conj(ferror))./sum(fx.*conj(fx))));