fft_main.s
来自「realview22.rar」· S 代码 · 共 88 行
S
88 行
;//
;// $Copyright:
;// ----------------------------------------------------------------
;// This confidential and proprietary software may be used only as
;// authorised by a licensing agreement from ARM Limited
;// (C) COPYRIGHT 2000,2002 ARM Limited
;// ALL RIGHTS RESERVED
;// The entire notice above must be reproduced on all authorised
;// copies and copies may only be made to the extent permitted
;// by a licensing agreement from ARM Limited.
;// ----------------------------------------------------------------
;// File: fft_main.s,v
;// Revision: 1.6
;// ----------------------------------------------------------------
;// $
;//
;// Optimised ARM assembler multi-radix FFT
;//
;// The actual FFT algorithm is contained in the following header:
INCLUDE fft_main.h
;// We now implement some instantiations of the algorithm macro
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ;
; FFT EXAMPLE ;
; ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MACRO
GENERATE_FFT_FUNCTION $flags
; first work out a readable function name
; based on the flags
FFT_OPTIONS_STRING $flags, name
; Example use of the GENERATE_FFT macro follows
;
; Entry:
; r0 = input array
; r1 = output array
; r2 = number of points in FFT
; r3 = pre-scale shift
;
; Exit:
; r0 = 0 if successful
; = 1 if table too small
;
EXPORT FFT_$name
FFT_$name
STMFD sp!, {r4-r11, r14}
IF "$radix"="4O"
tablename SETS "$qname$coeforder._8"
ELSE
tablename SETS "$qname$coeforder._4"
ENDIF
IMPORT s_$tablename
LDR lr, =s_$tablename
LDR lr,[lr]
CMP N, lr
MOVGT r0, #1
LDMGTFD sp!, {r4-r11, pc}
GENERATE_FFT $flags
MOV r0, #0
LDMFD sp!, {r4-r11, pc}
LTORG
MEND
AREA FFTCODE, CODE, READONLY
GENERATE_FFT_FUNCTION FFT_16bit+FFT_RADIX4 +FFT_FORWARD
GENERATE_FFT_FUNCTION FFT_16bit+FFT_RADIX4 +FFT_INVERSE
GENERATE_FFT_FUNCTION FFT_16bit+FFT_RADIX4_8F+FFT_FORWARD
GENERATE_FFT_FUNCTION FFT_16bit+FFT_RADIX4_8F+FFT_INVERSE
GENERATE_FFT_FUNCTION FFT_32bit+FFT_RADIX4 +FFT_FORWARD
GENERATE_FFT_FUNCTION FFT_32bit+FFT_RADIX4 +FFT_INVERSE
GENERATE_FFT_FUNCTION FFT_32bit+FFT_RADIX4_8F+FFT_FORWARD
GENERATE_FFT_FUNCTION FFT_32bit+FFT_RADIX4_8F+FFT_INVERSE
GENERATE_FFT_FUNCTION FFT_32bit+FFT_RADIX4 +FFT_INVERSE+FFT_REAL
GENERATE_FFT_FUNCTION FFT_16bit+FFT_RADIX4 +FFT_FORWARD+FFT_REAL
GENERATE_FFT_FUNCTION FFT_32bit+FFT_RADIX4_8F+FFT_FORWARD+FFT_REAL
GENERATE_FFT_FUNCTION FFT_16bit+FFT_RADIX4_8F+FFT_INVERSE+FFT_REAL
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?