test: add board FFT validation and VCD capture

This commit is contained in:
2026-07-15 04:13:15 +08:00
parent 2359e7976c
commit d45646342b
10 changed files with 198 additions and 23 deletions

View File

@@ -18,6 +18,8 @@ unsigned long CORE_CLOCKS_PER_SEC = 33000000L;
const float PI = 3.14159265358979323846;
#define FFT_MAX_ABS_ERROR_LIMIT 8
// 软件FFT实现 (基2 DIT-FFT 算法)
void sw_fft(float re[], float im[], int n) {
int i, j, k, l;
@@ -185,5 +187,13 @@ int main(int argc, char** argv)
}
printf("Max Abs Error : Re=%d, Im=%d\n", max_abs_err_re, max_abs_err_im);
return 0;
int passed = max_abs_err_re <= FFT_MAX_ABS_ERROR_LIMIT &&
max_abs_err_im <= FFT_MAX_ABS_ERROR_LIMIT;
printf("FFT_DMA_MAX_ABS_ERROR_RE=%d\n", max_abs_err_re);
printf("FFT_DMA_MAX_ABS_ERROR_IM=%d\n", max_abs_err_im);
printf("FFT_DMA_ERROR_LIMIT=%d\n", FFT_MAX_ABS_ERROR_LIMIT);
printf("FFT_DMA_RESULT=%s\n", passed ? "PASS" : "FAIL");
printf("FFT_DMA_DONE\n");
return passed ? 0 : 1;
}