implemented FFT amplitude dump. Somehow FFT is working, but now it is buggy. FFT results are connected with input signal, but this connection is not straightforward.

This commit is contained in:
2025-10-09 22:04:31 +03:00
parent 0dee57de4d
commit b6636a0e83
11 changed files with 9431 additions and 8438 deletions

View File

@ -1,4 +1,4 @@
BFIN GAS /tmp/ccq9Bm2j.s page 1
BFIN GAS /tmp/cczU5jtS.s page 1
1 .file "FFT_and_FP_math/C/FFT_FP_realisation.c";
@ -58,7 +58,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
33:FFT_and_FP_math/C/FFT_FP_realisation.c **** for (uint32_t k = 0; k < TWIDDLE_L; ++k){
34:FFT_and_FP_math/C/FFT_FP_realisation.c **** #ifdef PRINTF
35:FFT_and_FP_math/C/FFT_FP_realisation.c **** printf("k, angle, tw_re, tw_im: %u %g %lld %lld\n", k, 2.0 * PI * k / DATA_L, (long long)twiddle_
BFIN GAS /tmp/ccq9Bm2j.s page 2
BFIN GAS /tmp/cczU5jtS.s page 2
36:FFT_and_FP_math/C/FFT_FP_realisation.c **** #endif
@ -118,7 +118,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
50:FFT_and_FP_math/C/FFT_FP_realisation.c **** for (i = 0; i < inp_L; i++) {
54 .loc 1 50 0
55 002c 0A64 R2 += 1;
BFIN GAS /tmp/ccq9Bm2j.s page 3
BFIN GAS /tmp/cczU5jtS.s page 3
56 002e B8A2 R0 = [FP+40];
@ -178,7 +178,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
96 .loc 1 63 0
97 0062 8E57 R6 = R6 | R1;
64:FFT_and_FP_math/C/FFT_FP_realisation.c **** if (i < j) {
BFIN GAS /tmp/ccq9Bm2j.s page 4
BFIN GAS /tmp/cczU5jtS.s page 4
98 .loc 1 64 0
@ -238,7 +238,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
140 009e 8930 R1 = I1;
141 00a0 1093 [P2] = R0;
142 00a2 51B0 [P2+4] = R1;
BFIN GAS /tmp/ccq9Bm2j.s page 5
BFIN GAS /tmp/cczU5jtS.s page 5
143 .LVL12:
@ -298,7 +298,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
78:FFT_and_FP_math/C/FFT_FP_realisation.c **** uint32_t stride = N / m;
183 .loc 1 78 0
184 00ce 234F R3 <<= 4;
BFIN GAS /tmp/ccq9Bm2j.s page 6
BFIN GAS /tmp/cczU5jtS.s page 6
185 00d0 E6B9 R6 = [FP+-8];
@ -358,7 +358,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
229 010a 1091 R0 = [P2];
230 010c 51A0 R1 = [P2+4];
84:FFT_and_FP_math/C/FFT_FP_realisation.c **** int64_t wi = twiddle_im[tw_idx];
BFIN GAS /tmp/ccq9Bm2j.s page 7
BFIN GAS /tmp/cczU5jtS.s page 7
231 .loc 1 84 0
@ -418,7 +418,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
271 .loc 1 91 0
272 0136 FABA [FP+-68] = P2;
86:FFT_and_FP_math/C/FFT_FP_realisation.c **** int64_t u_im = buf[(start + k) * 2 + 1];
BFIN GAS /tmp/ccq9Bm2j.s page 8
BFIN GAS /tmp/cczU5jtS.s page 8
273 .loc 1 86 0
@ -478,7 +478,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
320 0190 F3B8 R3 = [FP+-68];
321 0192 F3B0 [SP+12] = R3;
322 0194 82CE00CC R6 = ROT R0 BY 0 ||
BFIN GAS /tmp/ccq9Bm2j.s page 9
BFIN GAS /tmp/cczU5jtS.s page 9
322 32B90000
@ -538,7 +538,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
365 nop;
366 01fa 04CC0100 R0 = R0 + R1 (NS) ||
366 9AB00000
BFIN GAS /tmp/ccq9Bm2j.s page 10
BFIN GAS /tmp/cczU5jtS.s page 10
367 [P3+8] = R2 ||
@ -598,7 +598,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
411 024e 25BB [FP+-56] = R5;
412 .LVL35:
413 0250 F6BB [FP+-4] = R6;
BFIN GAS /tmp/ccq9Bm2j.s page 11
BFIN GAS /tmp/cczU5jtS.s page 11
414 0252 836C P3 += 16;
@ -658,7 +658,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
456 .LVL38:
457 .LBE13:
76:FFT_and_FP_math/C/FFT_FP_realisation.c **** while (m <= N) {
BFIN GAS /tmp/ccq9Bm2j.s page 12
BFIN GAS /tmp/cczU5jtS.s page 12
458 .loc 1 76 0
@ -718,7 +718,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
499 .loc 1 113 0
500 02ce 01E80000 UNLINK;
501 02d2 A305 ( r7:4, p5:3 ) = [sp++];
BFIN GAS /tmp/ccq9Bm2j.s page 13
BFIN GAS /tmp/cczU5jtS.s page 13
502
@ -778,7 +778,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
19:FFT_and_FP_math/C/FFT_FP_realisation.c **** void fft_twiddle_gen(int64_t* tw_re, int64_t* tw_im){
550 .loc 1 19 0
551 02f6 2032 P4 = R0;
BFIN GAS /tmp/ccq9Bm2j.s page 14
BFIN GAS /tmp/cczU5jtS.s page 14
552 02f8 2932 P5 = R1;
@ -805,8 +805,8 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
570 0314 42E14454 R2.H = 21572;
571 0318 02E1182D R2.L = 11544;
572 031c FFE372FE call ___muldf3;
573 0320 22E1F503 R2 = 1013 (X);
574 0324 A24F R2 <<= 20;
573 0320 22E1FB01 R2 = 507 (X);
574 0324 AA4F R2 <<= 21;
575 0326 F2B0 [SP+12] = R2;
576 0328 0260 R2 = 0 (X);
577 032a FFE36BFE call ___muldf3;
@ -838,7 +838,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
598 nop;
599 0362 FFE34FFE call ___muldf3;
600 0366 FFE34DFE call _lround;
BFIN GAS /tmp/ccq9Bm2j.s page 15
BFIN GAS /tmp/cczU5jtS.s page 15
601 036a 82CE00C2 R1 = ROT R0 BY 0 ||
@ -851,7 +851,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
20:FFT_and_FP_math/C/FFT_FP_realisation.c **** for (uint32_t k = 0; k < TWIDDLE_L; ++k){
607 .loc 1 20 0
608 0376 0D64 R5 += 1;
609 0378 20E10002 R0 = 512 (X);
609 0378 20E10001 R0 = 256 (X);
610 037c 446C P4 += 8;
611 037e 456C P5 += 8;
612 0380 0508 cc =R5==R0;
@ -898,7 +898,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
647 03aa 0560 R5 = 0 (X);
648 .LVL51:
649 .LBB39:
BFIN GAS /tmp/ccq9Bm2j.s page 16
BFIN GAS /tmp/cczU5jtS.s page 16
22:FFT_and_FP_math/C/FFT_FP_realisation.c **** tw_re[k] = lround(cos(angle) * (double)FP_acc);
@ -921,8 +921,8 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
664 03c4 42E14454 R2.H = 21572;
665 03c8 02E1182D R2.L = 11544;
666 03cc FFE31AFE call ___muldf3;
667 03d0 22E1F503 R2 = 1013 (X);
668 03d4 A24F R2 <<= 20;
667 03d0 22E1FB01 R2 = 507 (X);
668 03d4 AA4F R2 <<= 21;
669 03d6 F2B0 [SP+12] = R2;
670 03d8 0260 R2 = 0 (X);
671 03da FFE313FE call ___muldf3;
@ -958,7 +958,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
697 0404 0F30 R1 = R7;
698 0406 FFE3FDFD call _sin;
699 040a 00CC12C4 R2 = R2 -|- R2 ||
BFIN GAS /tmp/ccq9Bm2j.s page 17
BFIN GAS /tmp/cczU5jtS.s page 17
699 F4B00000
@ -979,7 +979,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
20:FFT_and_FP_math/C/FFT_FP_realisation.c **** for (uint32_t k = 0; k < TWIDDLE_L; ++k){
713 .loc 1 20 0
714 0426 0D64 R5 += 1;
715 0428 20E10002 R0 = 512 (X);
715 0428 20E10001 R0 = 256 (X);
716 042c 446C P4 += 8;
717 042e 456C P5 += 8;
718 0430 0508 cc =R5==R0;
@ -1018,7 +1018,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
750 0014 00000000 .4byte .Lframe0
751 0018 00000000 .4byte .LFB4
752 001c E8020000 .4byte .LFE4-.LFB4
BFIN GAS /tmp/ccq9Bm2j.s page 18
BFIN GAS /tmp/cczU5jtS.s page 18
753 0020 42 .byte 0x4
@ -1078,7 +1078,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
807 .4byte .LCFI5-.LCFI4
808 005e 0C .byte 0xc
809 005f 0F .uleb128 0xf
BFIN GAS /tmp/ccq9Bm2j.s page 19
BFIN GAS /tmp/cczU5jtS.s page 19
810 0060 24 .uleb128 0x24
@ -1138,7 +1138,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
864 0015 7E .byte 0x7e
865 0016 1C .sleb128 28
866 0017 06000000 .4byte .LCFI1-.Ltext0
BFIN GAS /tmp/ccq9Bm2j.s page 20
BFIN GAS /tmp/cczU5jtS.s page 20
867 001b E8020000 .4byte .LFE4-.Ltext0
@ -1198,7 +1198,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
921 00a8 D6020000 .4byte .LVL44-.Ltext0
922 00ac DA020000 .4byte .LVL45-.Ltext0
923 00b0 0100 .2byte 0x1
BFIN GAS /tmp/ccq9Bm2j.s page 21
BFIN GAS /tmp/cczU5jtS.s page 21
924 00b2 55 .byte 0x55
@ -1258,7 +1258,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
978 0143 0200 .2byte 0x2
979 0145 7F .byte 0x7f
980 0146 78 .sleb128 -8
BFIN GAS /tmp/ccq9Bm2j.s page 22
BFIN GAS /tmp/cczU5jtS.s page 22
981 0147 00000000 .4byte 0x0
@ -1318,7 +1318,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1035 01b7 D6020000 .4byte .LVL44-.Ltext0
1036 01bb 0200 .2byte 0x2
1037 01bd 7F .byte 0x7f
BFIN GAS /tmp/ccq9Bm2j.s page 23
BFIN GAS /tmp/cczU5jtS.s page 23
1038 01be 48 .sleb128 -56
@ -1378,7 +1378,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1092 .LLST18:
1093 0242 E8020000 .4byte .LFB2-.Ltext0
1094 0246 EA020000 .4byte .LCFI4-.Ltext0
BFIN GAS /tmp/ccq9Bm2j.s page 24
BFIN GAS /tmp/cczU5jtS.s page 24
1095 024a 0100 .2byte 0x1
@ -1438,7 +1438,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1149 02d5 3A040000 .4byte .LVL52-.Ltext0
1150 02d9 0100 .2byte 0x1
1151 02db 55 .byte 0x55
BFIN GAS /tmp/ccq9Bm2j.s page 25
BFIN GAS /tmp/cczU5jtS.s page 25
1152 02dc 00000000 .4byte 0x0
@ -1446,7 +1446,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1154 .file 2 "/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib
1155 .file 3 "FFT_and_FP_math/C/FFT_FP_realisation.h"
1156 .section .debug_info
1157 0000 52030000 .4byte 0x352
1157 0000 51030000 .4byte 0x351
1158 0004 0200 .2byte 0x2
1159 0006 00000000 .4byte .Ldebug_abbrev0
1160 000a 04 .byte 0x4
@ -1498,7 +1498,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1206 006b 77 .byte 0x77
1207 006c 70000000 .4byte 0x70
1208 0070 02 .uleb128 0x2
BFIN GAS /tmp/ccq9Bm2j.s page 26
BFIN GAS /tmp/cczU5jtS.s page 26
1209 0071 08 .byte 0x8
@ -1558,7 +1558,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1263 00da 53000000 .4byte 0x53
1264 00de 49000000 .4byte .LLST2
1265 00e2 07 .uleb128 0x7
BFIN GAS /tmp/ccq9Bm2j.s page 27
BFIN GAS /tmp/cczU5jtS.s page 27
1266 00e3 62756600 .string "buf"
@ -1618,7 +1618,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1320 0165 0C .uleb128 0xc
1321 0166 BD010000 .4byte .LASF19
1322 016a 01 .byte 0x1
BFIN GAS /tmp/ccq9Bm2j.s page 28
BFIN GAS /tmp/cczU5jtS.s page 28
1323 016b 4D .byte 0x4d
@ -1678,7 +1678,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1377 01e0 7F .byte 0x7f
1378 01e1 A87F .sleb128 -88
1379 01e3 93 .byte 0x93
BFIN GAS /tmp/ccq9Bm2j.s page 29
BFIN GAS /tmp/cczU5jtS.s page 29
1380 01e4 04 .uleb128 0x4
@ -1738,7 +1738,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1434 0249 01 .byte 0x1
1435 024a 68 .byte 0x68
1436 024b 53000000 .4byte 0x53
BFIN GAS /tmp/ccq9Bm2j.s page 30
BFIN GAS /tmp/cczU5jtS.s page 30
1437 024f 2F020000 .4byte .LLST17
@ -1798,7 +1798,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1491 02c5 0F .uleb128 0xf
1492 02c6 90000000 .4byte .Ldebug_ranges0+0x90
1493 02ca 17 .uleb128 0x17
BFIN GAS /tmp/ccq9Bm2j.s page 31
BFIN GAS /tmp/cczU5jtS.s page 31
1494 02cb 86020000 .4byte 0x286
@ -1844,29 +1844,29 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1534 0329 00 .byte 0x0
1535 032a 1B .uleb128 0x1b
1536 032b 65000000 .4byte 0x65
1537 032f 3B030000 .4byte 0x33b
1537 032f 3A030000 .4byte 0x33a
1538 0333 1C .uleb128 0x1c
1539 0334 8C000000 .4byte 0x8c
1540 0338 FF01 .2byte 0x1ff
1541 033a 00 .byte 0x0
1542 033b 1D .uleb128 0x1d
1543 033c 66010000 .4byte .LASF34
1544 0340 03 .byte 0x3
1545 0341 17 .byte 0x17
1546 0342 2A030000 .4byte 0x32a
1547 0346 01 .byte 0x1
1548 0347 01 .byte 0x1
1549 0348 1D .uleb128 0x1d
1550 0349 10010000 .4byte .LASF35
BFIN GAS /tmp/ccq9Bm2j.s page 32
1540 0338 FF .byte 0xff
1541 0339 00 .byte 0x0
1542 033a 1D .uleb128 0x1d
1543 033b 66010000 .4byte .LASF34
1544 033f 03 .byte 0x3
1545 0340 17 .byte 0x17
1546 0341 2A030000 .4byte 0x32a
1547 0345 01 .byte 0x1
1548 0346 01 .byte 0x1
1549 0347 1D .uleb128 0x1d
1550 0348 10010000 .4byte .LASF35
BFIN GAS /tmp/cczU5jtS.s page 32
1551 034d 03 .byte 0x3
1552 034e 18 .byte 0x18
1553 034f 2A030000 .4byte 0x32a
1554 0353 01 .byte 0x1
1555 0354 01 .byte 0x1
1556 0355 00 .byte 0x0
1551 034c 03 .byte 0x3
1552 034d 18 .byte 0x18
1553 034e 2A030000 .4byte 0x32a
1554 0352 01 .byte 0x1
1555 0353 01 .byte 0x1
1556 0354 00 .byte 0x0
1557 .section .debug_abbrev
1558 0000 01 .uleb128 0x1
1559 0001 11 .uleb128 0x11
@ -1918,7 +1918,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1605 002f 0B .uleb128 0xb
1606 0030 3E .uleb128 0x3e
1607 0031 0B .uleb128 0xb
BFIN GAS /tmp/ccq9Bm2j.s page 33
BFIN GAS /tmp/cczU5jtS.s page 33
1608 0032 03 .uleb128 0x3
@ -1978,7 +1978,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1662 0068 03 .uleb128 0x3
1663 0069 0E .uleb128 0xe
1664 006a 3A .uleb128 0x3a
BFIN GAS /tmp/ccq9Bm2j.s page 34
BFIN GAS /tmp/cczU5jtS.s page 34
1665 006b 0B .uleb128 0xb
@ -2038,7 +2038,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1719 00a1 0B .uleb128 0xb
1720 00a2 3B .uleb128 0x3b
1721 00a3 0B .uleb128 0xb
BFIN GAS /tmp/ccq9Bm2j.s page 35
BFIN GAS /tmp/cczU5jtS.s page 35
1722 00a4 49 .uleb128 0x49
@ -2098,7 +2098,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1776 00da 0B .uleb128 0xb
1777 00db 49 .uleb128 0x49
1778 00dc 13 .uleb128 0x13
BFIN GAS /tmp/ccq9Bm2j.s page 36
BFIN GAS /tmp/cczU5jtS.s page 36
1779 00dd 00 .byte 0x0
@ -2158,7 +2158,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1833 0113 16 .uleb128 0x16
1834 0114 05 .uleb128 0x5
1835 0115 00 .byte 0x0
BFIN GAS /tmp/ccq9Bm2j.s page 37
BFIN GAS /tmp/cczU5jtS.s page 37
1836 0116 31 .uleb128 0x31
@ -2218,10 +2218,10 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1890 014c 49 .uleb128 0x49
1891 014d 13 .uleb128 0x13
1892 014e 2F .uleb128 0x2f
BFIN GAS /tmp/ccq9Bm2j.s page 38
BFIN GAS /tmp/cczU5jtS.s page 38
1893 014f 05 .uleb128 0x5
1893 014f 0B .uleb128 0xb
1894 0150 00 .byte 0x0
1895 0151 00 .byte 0x0
1896 0152 1D .uleb128 0x1d
@ -2246,7 +2246,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1915 0000 40000000 .4byte 0x40
1916 0004 0200 .2byte 0x2
1917 0006 00000000 .4byte .Ldebug_info0
1918 000a 56030000 .4byte 0x356
1918 000a 55030000 .4byte 0x355
1919 000e AB000000 .4byte 0xab
1920 0012 4646545F .string "FFT_fp"
1920 667000
@ -2278,7 +2278,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1940 0000 AE000000 .4byte .LBB3-.Ltext0
1941 0004 8C020000 .4byte .LBE3-.Ltext0
1942 0008 8E020000 .4byte .LBB13-.Ltext0
BFIN GAS /tmp/ccq9Bm2j.s page 39
BFIN GAS /tmp/cczU5jtS.s page 39
1943 000c 90020000 .4byte .LBE13-.Ltext0
@ -2338,7 +2338,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
1997 00e4 34040000 .4byte .LBE36-.Ltext0
1998 00e8 F6030000 .4byte .LBB31-.Ltext0
1999 00ec 02040000 .4byte .LBE31-.Ltext0
BFIN GAS /tmp/ccq9Bm2j.s page 40
BFIN GAS /tmp/cczU5jtS.s page 40
2000 00f0 00000000 .4byte 0x0
@ -2398,7 +2398,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
2036 20636861
2036 7200
2037 .LASF39:
BFIN GAS /tmp/ccq9Bm2j.s page 41
BFIN GAS /tmp/cczU5jtS.s page 41
2038 00a2 6666745F .string "fft_twiddle_gen"
@ -2458,7 +2458,7 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
2062 65642069
2063 .LASF17:
2064 0151 746D705F .string "tmp_re"
BFIN GAS /tmp/ccq9Bm2j.s page 42
BFIN GAS /tmp/cczU5jtS.s page 42
2064 726500
@ -2512,14 +2512,14 @@ BFIN GAS /tmp/ccq9Bm2j.s page 1
2090 72657061
2090 726500
2091 .ident "GCC: (ADI-2014R1-RC2) 4.3.5"
BFIN GAS /tmp/ccq9Bm2j.s page 43
BFIN GAS /tmp/cczU5jtS.s page 43
DEFINED SYMBOLS
*ABS*:0000000000000000 FFT_and_FP_math/C/FFT_FP_realisation.c
/tmp/ccq9Bm2j.s:16 .text:0000000000000000 _FFT_fp
/tmp/ccq9Bm2j.s:532 .text:00000000000002e8 _fft_twiddle_gen
/tmp/ccq9Bm2j.s:627 .text:000000000000038c _fft_fp_prepare
/tmp/cczU5jtS.s:16 .text:0000000000000000 _FFT_fp
/tmp/cczU5jtS.s:532 .text:00000000000002e8 _fft_twiddle_gen
/tmp/cczU5jtS.s:627 .text:000000000000038c _fft_fp_prepare
UNDEFINED SYMBOLS
___udivsi3