Compare commits
4 Commits
42f53ae5a5
...
ef8a2eb174
| Author | SHA1 | Date | |
|---|---|---|---|
| ef8a2eb174 | |||
| 9fad008cda | |||
| 6670031bcc | |||
| 9b02f0af1c |
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[submodule "kissfft"]
|
||||||
|
path = kissfft
|
||||||
|
url = https://github.com/mborgerding/kissfft.git
|
||||||
Binary file not shown.
Binary file not shown.
@ -1,4 +1,4 @@
|
|||||||
BFIN GAS /tmp/ccpnrlOk.s page 1
|
BFIN GAS /tmp/ccOE2Ces.s page 1
|
||||||
|
|
||||||
|
|
||||||
1 .file "src/l502_cmd.c";
|
1 .file "src/l502_cmd.c";
|
||||||
@ -58,7 +58,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
36:src/l502_cmd.c **** static void f_cmd_stream_enable(t_l502_bf_cmd *cmd);
|
36:src/l502_cmd.c **** static void f_cmd_stream_enable(t_l502_bf_cmd *cmd);
|
||||||
37:src/l502_cmd.c **** static void f_cmd_stream_disable(t_l502_bf_cmd *cmd);
|
37:src/l502_cmd.c **** static void f_cmd_stream_disable(t_l502_bf_cmd *cmd);
|
||||||
38:src/l502_cmd.c **** static void f_cmd_async_out(t_l502_bf_cmd *cmd);
|
38:src/l502_cmd.c **** static void f_cmd_async_out(t_l502_bf_cmd *cmd);
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 2
|
BFIN GAS /tmp/ccOE2Ces.s page 2
|
||||||
|
|
||||||
|
|
||||||
39:src/l502_cmd.c **** static void f_cmd_fpga_reg_wr(t_l502_bf_cmd *cmd);
|
39:src/l502_cmd.c **** static void f_cmd_fpga_reg_wr(t_l502_bf_cmd *cmd);
|
||||||
@ -118,7 +118,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
93:src/l502_cmd.c ****
|
93:src/l502_cmd.c ****
|
||||||
94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE;
|
94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE;
|
||||||
95:src/l502_cmd.c **** }
|
95:src/l502_cmd.c **** }
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 3
|
BFIN GAS /tmp/ccOE2Ces.s page 3
|
||||||
|
|
||||||
|
|
||||||
96:src/l502_cmd.c ****
|
96:src/l502_cmd.c ****
|
||||||
@ -178,7 +178,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
34 .LFE19:
|
34 .LFE19:
|
||||||
35 .size _l502_cmd_set_req, .-_l502_cmd_set_req
|
35 .size _l502_cmd_set_req, .-_l502_cmd_set_req
|
||||||
36 0026 0000 .align 4
|
36 0026 0000 .align 4
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 4
|
BFIN GAS /tmp/ccOE2Ces.s page 4
|
||||||
|
|
||||||
|
|
||||||
37 .global _l502_cmd_done;
|
37 .global _l502_cmd_done;
|
||||||
@ -238,7 +238,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
83 _f_cmd_set_param:
|
83 _f_cmd_set_param:
|
||||||
84 .LFB30:
|
84 .LFB30:
|
||||||
131:src/l502_cmd.c ****
|
131:src/l502_cmd.c ****
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 5
|
BFIN GAS /tmp/ccOE2Ces.s page 5
|
||||||
|
|
||||||
|
|
||||||
132:src/l502_cmd.c **** static void f_cmd_streams_start(t_l502_bf_cmd *cmd) {
|
132:src/l502_cmd.c **** static void f_cmd_streams_start(t_l502_bf_cmd *cmd) {
|
||||||
@ -298,7 +298,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
186:src/l502_cmd.c **** fpga_reg_write(cmd->param, cmd->data[0]);
|
186:src/l502_cmd.c **** fpga_reg_write(cmd->param, cmd->data[0]);
|
||||||
187:src/l502_cmd.c **** }
|
187:src/l502_cmd.c **** }
|
||||||
188:src/l502_cmd.c **** l502_cmd_done(err, NULL, 0);
|
188:src/l502_cmd.c **** l502_cmd_done(err, NULL, 0);
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 6
|
BFIN GAS /tmp/ccOE2Ces.s page 6
|
||||||
|
|
||||||
|
|
||||||
189:src/l502_cmd.c **** }
|
189:src/l502_cmd.c **** }
|
||||||
@ -358,7 +358,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
111 0086 10E60202 [P2+2056] = R0;
|
111 0086 10E60202 [P2+2056] = R0;
|
||||||
90:src/l502_cmd.c **** g_state.cmd.data_size = size;
|
90:src/l502_cmd.c **** g_state.cmd.data_size = size;
|
||||||
112 .loc 1 90 0
|
112 .loc 1 90 0
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 7
|
BFIN GAS /tmp/ccOE2Ces.s page 7
|
||||||
|
|
||||||
|
|
||||||
113 008a 0060 R0 = 0 (X);
|
113 008a 0060 R0 = 0 (X);
|
||||||
@ -418,7 +418,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
259:src/l502_cmd.c **** break;
|
259:src/l502_cmd.c **** break;
|
||||||
260:src/l502_cmd.c **** case L502_BF_PARAM_IN_STEP_SIZE:
|
260:src/l502_cmd.c **** case L502_BF_PARAM_IN_STEP_SIZE:
|
||||||
261:src/l502_cmd.c **** err = sport_in_set_step_size(cmd->data[0]);
|
261:src/l502_cmd.c **** err = sport_in_set_step_size(cmd->data[0]);
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 8
|
BFIN GAS /tmp/ccOE2Ces.s page 8
|
||||||
|
|
||||||
|
|
||||||
262:src/l502_cmd.c **** break;
|
262:src/l502_cmd.c **** break;
|
||||||
@ -478,7 +478,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
287:src/l502_cmd.c **** g_module_info.dac_cbr[ch].offs = *po;
|
287:src/l502_cmd.c **** g_module_info.dac_cbr[ch].offs = *po;
|
||||||
138 .loc 1 287 0
|
138 .loc 1 287 0
|
||||||
139 00a8 20E1FDFD R0 = -515 (X);
|
139 00a8 20E1FDFD R0 = -515 (X);
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 9
|
BFIN GAS /tmp/ccOE2Ces.s page 9
|
||||||
|
|
||||||
|
|
||||||
140 .LVL11:
|
140 .LVL11:
|
||||||
@ -538,7 +538,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
191 0044 B8000000 .dd .L11;
|
191 0044 B8000000 .dd .L11;
|
||||||
192 0048 B8000000 .dd .L11;
|
192 0048 B8000000 .dd .L11;
|
||||||
193 004c B8000000 .dd .L11;
|
193 004c B8000000 .dd .L11;
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 10
|
BFIN GAS /tmp/ccOE2Ces.s page 10
|
||||||
|
|
||||||
|
|
||||||
194 0050 B8000000 .dd .L11;
|
194 0050 B8000000 .dd .L11;
|
||||||
@ -598,7 +598,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
244 00ec 0000 nop;
|
244 00ec 0000 nop;
|
||||||
245 .LBB14:
|
245 .LBB14:
|
||||||
280:src/l502_cmd.c **** uint32_t ch = cmd->data[0];
|
280:src/l502_cmd.c **** uint32_t ch = cmd->data[0];
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 11
|
BFIN GAS /tmp/ccOE2Ces.s page 11
|
||||||
|
|
||||||
|
|
||||||
246 .loc 1 280 0
|
246 .loc 1 280 0
|
||||||
@ -658,7 +658,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
291 .loc 1 271 0
|
291 .loc 1 271 0
|
||||||
292 012a 82CE108E R7 = R0 << 2 ||
|
292 012a 82CE108E R7 = R0 << 2 ||
|
||||||
292 69A10000
|
292 69A10000
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 12
|
BFIN GAS /tmp/ccOE2Ces.s page 12
|
||||||
|
|
||||||
|
|
||||||
293 R1 = [P5+20] ||
|
293 R1 = [P5+20] ||
|
||||||
@ -718,7 +718,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
340 0186 7C2F jump.s .L9;
|
340 0186 7C2F jump.s .L9;
|
||||||
341 .L14:
|
341 .L14:
|
||||||
231:src/l502_cmd.c **** if (cmd->data_size < 5) {
|
231:src/l502_cmd.c **** if (cmd->data_size < 5) {
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 13
|
BFIN GAS /tmp/ccOE2Ces.s page 13
|
||||||
|
|
||||||
|
|
||||||
342 .loc 1 231 0
|
342 .loc 1 231 0
|
||||||
@ -778,7 +778,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
390 .LVL23:
|
390 .LVL23:
|
||||||
391 01de 502F jump.s .L9;
|
391 01de 502F jump.s .L9;
|
||||||
392 .LVL24:
|
392 .LVL24:
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 14
|
BFIN GAS /tmp/ccOE2Ces.s page 14
|
||||||
|
|
||||||
|
|
||||||
393 .L34:
|
393 .L34:
|
||||||
@ -838,7 +838,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
437 .LBB21:
|
437 .LBB21:
|
||||||
438 .LBB20:
|
438 .LBB20:
|
||||||
94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE;
|
94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE;
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 15
|
BFIN GAS /tmp/ccOE2Ces.s page 15
|
||||||
|
|
||||||
|
|
||||||
439 .loc 1 94 0
|
439 .loc 1 94 0
|
||||||
@ -898,7 +898,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
485 0254 08E60302 [P1+2060] = R0;
|
485 0254 08E60302 [P1+2060] = R0;
|
||||||
91:src/l502_cmd.c **** if (size && (data!=g_state.cmd.data))
|
91:src/l502_cmd.c **** if (size && (data!=g_state.cmd.data))
|
||||||
486 .loc 1 91 0
|
486 .loc 1 91 0
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 16
|
BFIN GAS /tmp/ccOE2Ces.s page 16
|
||||||
|
|
||||||
|
|
||||||
487 0258 4208 cc =P2==P0;
|
487 0258 4208 cc =P2==P0;
|
||||||
@ -958,7 +958,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
534 0294 804F R0 <<= 16;
|
534 0294 804F R0 <<= 16;
|
||||||
535 0296 000C cc =R0==0;
|
535 0296 000C cc =R0==0;
|
||||||
536 0298 1618 if cc jump .L46;
|
536 0298 1618 if cc jump .L46;
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 17
|
BFIN GAS /tmp/ccOE2Ces.s page 17
|
||||||
|
|
||||||
|
|
||||||
537 029a 20E1FEFD R0 = -514 (X);
|
537 029a 20E1FEFD R0 = -514 (X);
|
||||||
@ -1018,7 +1018,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
584 02d2 00E80300 LINK 12;
|
584 02d2 00E80300 LINK 12;
|
||||||
585 .LCFI10:
|
585 .LCFI10:
|
||||||
158:src/l502_cmd.c **** if (cmd->data_size < 1) {
|
158:src/l502_cmd.c **** if (cmd->data_size < 1) {
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 18
|
BFIN GAS /tmp/ccOE2Ces.s page 18
|
||||||
|
|
||||||
|
|
||||||
586 .loc 1 158 0
|
586 .loc 1 158 0
|
||||||
@ -1078,7 +1078,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
634 .LBE33:
|
634 .LBE33:
|
||||||
635 .LBE32:
|
635 .LBE32:
|
||||||
177:src/l502_cmd.c **** }
|
177:src/l502_cmd.c **** }
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 19
|
BFIN GAS /tmp/ccOE2Ces.s page 19
|
||||||
|
|
||||||
|
|
||||||
636 .loc 1 177 0
|
636 .loc 1 177 0
|
||||||
@ -1138,7 +1138,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
153:src/l502_cmd.c **** l502_cmd_done(stream_disable(cmd->param), NULL, 0);
|
153:src/l502_cmd.c **** l502_cmd_done(stream_disable(cmd->param), NULL, 0);
|
||||||
684 .loc 1 153 0
|
684 .loc 1 153 0
|
||||||
685 0356 50A0 R0 = [P2+4];
|
685 0356 50A0 R0 = [P2+4];
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 20
|
BFIN GAS /tmp/ccOE2Ces.s page 20
|
||||||
|
|
||||||
|
|
||||||
686 .LVL65:
|
686 .LVL65:
|
||||||
@ -1198,7 +1198,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
731 .loc 1 94 0
|
731 .loc 1 94 0
|
||||||
732 039a 20E1035A R0 = 23043 (X);
|
732 039a 20E1035A R0 = 23043 (X);
|
||||||
733 039e 50E60104 W [P2+2050] = R0;
|
733 039e 50E60104 W [P2+2050] = R0;
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 21
|
BFIN GAS /tmp/ccOE2Ces.s page 21
|
||||||
|
|
||||||
|
|
||||||
734 .LBE41:
|
734 .LBE41:
|
||||||
@ -1258,7 +1258,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
779 .loc 1 137 0
|
779 .loc 1 137 0
|
||||||
780 03d4 FFE316FE call _streams_stop;
|
780 03d4 FFE316FE call _streams_stop;
|
||||||
781 .LVL73:
|
781 .LVL73:
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 22
|
BFIN GAS /tmp/ccOE2Ces.s page 22
|
||||||
|
|
||||||
|
|
||||||
782 .LBB48:
|
782 .LBB48:
|
||||||
@ -1318,7 +1318,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
826 .loc 1 134 0
|
826 .loc 1 134 0
|
||||||
827 041a 01E80000 UNLINK;
|
827 041a 01E80000 UNLINK;
|
||||||
828 041e 1000 rts;
|
828 041e 1000 rts;
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 23
|
BFIN GAS /tmp/ccOE2Ces.s page 23
|
||||||
|
|
||||||
|
|
||||||
829 .LFE20:
|
829 .LFE20:
|
||||||
@ -1378,7 +1378,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
302:src/l502_cmd.c **** uint32_t ret_size = 0;
|
302:src/l502_cmd.c **** uint32_t ret_size = 0;
|
||||||
303:src/l502_cmd.c ****
|
303:src/l502_cmd.c ****
|
||||||
304:src/l502_cmd.c ****
|
304:src/l502_cmd.c ****
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 24
|
BFIN GAS /tmp/ccOE2Ces.s page 24
|
||||||
|
|
||||||
|
|
||||||
305:src/l502_cmd.c **** switch (cmd->param) {
|
305:src/l502_cmd.c **** switch (cmd->param) {
|
||||||
@ -1438,7 +1438,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
350:src/l502_cmd.c **** ret_size = 1;
|
350:src/l502_cmd.c **** ret_size = 1;
|
||||||
351:src/l502_cmd.c **** break;
|
351:src/l502_cmd.c **** break;
|
||||||
352:src/l502_cmd.c **** case L502_BF_PARAM_ADC_FRAME_DELAY:
|
352:src/l502_cmd.c **** case L502_BF_PARAM_ADC_FRAME_DELAY:
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 25
|
BFIN GAS /tmp/ccOE2Ces.s page 25
|
||||||
|
|
||||||
|
|
||||||
353:src/l502_cmd.c **** cmd->data[0] = g_set.adc_frame_delay;
|
353:src/l502_cmd.c **** cmd->data[0] = g_set.adc_frame_delay;
|
||||||
@ -1498,7 +1498,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
902 .loc 1 383 0
|
902 .loc 1 383 0
|
||||||
903 0478 01E80000 UNLINK;
|
903 0478 01E80000 UNLINK;
|
||||||
904 047c 8504 ( p5:5 ) = [sp++];
|
904 047c 8504 ( p5:5 ) = [sp++];
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 26
|
BFIN GAS /tmp/ccOE2Ces.s page 26
|
||||||
|
|
||||||
|
|
||||||
905
|
905
|
||||||
@ -1558,7 +1558,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
958 0158 AA050000 .dd .L86;
|
958 0158 AA050000 .dd .L86;
|
||||||
959 015c 5A040000 .dd .L75;
|
959 015c 5A040000 .dd .L75;
|
||||||
960 0160 5A040000 .dd .L75;
|
960 0160 5A040000 .dd .L75;
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 27
|
BFIN GAS /tmp/ccOE2Ces.s page 27
|
||||||
|
|
||||||
|
|
||||||
961 0164 5A040000 .dd .L75;
|
961 0164 5A040000 .dd .L75;
|
||||||
@ -1618,7 +1618,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
1013 .loc 1 308 0
|
1013 .loc 1 308 0
|
||||||
1014 0492 1860 R0 = 3 (X);
|
1014 0492 1860 R0 = 3 (X);
|
||||||
1015 0494 68B1 [P5+20] = R0;
|
1015 0494 68B1 [P5+20] = R0;
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 28
|
BFIN GAS /tmp/ccOE2Ces.s page 28
|
||||||
|
|
||||||
|
|
||||||
1016 0496 1360 R3 = 2 (X);
|
1016 0496 1360 R3 = 2 (X);
|
||||||
@ -1678,7 +1678,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
1061 .LVL90:
|
1061 .LVL90:
|
||||||
1062 .L77:
|
1062 .L77:
|
||||||
312:src/l502_cmd.c **** cmd->data[0] = g_mode;
|
312:src/l502_cmd.c **** cmd->data[0] = g_mode;
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 29
|
BFIN GAS /tmp/ccOE2Ces.s page 29
|
||||||
|
|
||||||
|
|
||||||
1063 .loc 1 312 0
|
1063 .loc 1 312 0
|
||||||
@ -1738,7 +1738,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
1112 .loc 1 332 0
|
1112 .loc 1 332 0
|
||||||
1113 051e 20E1FF00 R0 = 255 (X);
|
1113 051e 20E1FF00 R0 = 255 (X);
|
||||||
331:src/l502_cmd.c **** uint32_t index = cmd->data[0];
|
331:src/l502_cmd.c **** uint32_t index = cmd->data[0];
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 30
|
BFIN GAS /tmp/ccOE2Ces.s page 30
|
||||||
|
|
||||||
|
|
||||||
1114 .loc 1 331 0
|
1114 .loc 1 331 0
|
||||||
@ -1798,7 +1798,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
1159 .LVL103:
|
1159 .LVL103:
|
||||||
1160 .L83:
|
1160 .L83:
|
||||||
349:src/l502_cmd.c **** cmd->data[0] = g_set.ref_freq;
|
349:src/l502_cmd.c **** cmd->data[0] = g_set.ref_freq;
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 31
|
BFIN GAS /tmp/ccOE2Ces.s page 31
|
||||||
|
|
||||||
|
|
||||||
1161 .loc 1 349 0
|
1161 .loc 1 349 0
|
||||||
@ -1858,7 +1858,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
1211 .LVL112:
|
1211 .LVL112:
|
||||||
1212 05ce 2260 R2 = 4 (X);
|
1212 05ce 2260 R2 = 4 (X);
|
||||||
1213 05d0 652F jump.s .L91;
|
1213 05d0 652F jump.s .L91;
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 32
|
BFIN GAS /tmp/ccOE2Ces.s page 32
|
||||||
|
|
||||||
|
|
||||||
1214 .LVL113:
|
1214 .LVL113:
|
||||||
@ -1918,7 +1918,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
1263 0606 49E10000 P1.H = _f_cmd_tbl;
|
1263 0606 49E10000 P1.H = _f_cmd_tbl;
|
||||||
1264 060a 09E12002 P1.L = _f_cmd_tbl;
|
1264 060a 09E12002 P1.L = _f_cmd_tbl;
|
||||||
103:src/l502_cmd.c **** usr_cmd_process(cmd);
|
103:src/l502_cmd.c **** usr_cmd_process(cmd);
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 33
|
BFIN GAS /tmp/ccOE2Ces.s page 33
|
||||||
|
|
||||||
|
|
||||||
1265 .loc 1 103 0
|
1265 .loc 1 103 0
|
||||||
@ -1978,7 +1978,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
1318 0676 5B18 if cc jump .L123;
|
1318 0676 5B18 if cc jump .L123;
|
||||||
1319 0678 0000 nop;
|
1319 0678 0000 nop;
|
||||||
1320 067a 4AE10000 P2.H = _f_cmd_tbl;
|
1320 067a 4AE10000 P2.H = _f_cmd_tbl;
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 34
|
BFIN GAS /tmp/ccOE2Ces.s page 34
|
||||||
|
|
||||||
|
|
||||||
1321 067e 0AE12002 P2.L = _f_cmd_tbl;
|
1321 067e 0AE12002 P2.L = _f_cmd_tbl;
|
||||||
@ -2038,7 +2038,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
1369 06dc 1032 P2 = R0;
|
1369 06dc 1032 P2 = R0;
|
||||||
1370 06de 4030 R0 = P0;
|
1370 06de 4030 R0 = P0;
|
||||||
115:src/l502_cmd.c **** }
|
115:src/l502_cmd.c **** }
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 35
|
BFIN GAS /tmp/ccOE2Ces.s page 35
|
||||||
|
|
||||||
|
|
||||||
1371 .loc 1 115 0
|
1371 .loc 1 115 0
|
||||||
@ -2098,7 +2098,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
1413 .loc 1 108 0
|
1413 .loc 1 108 0
|
||||||
1414 0712 915A P2 = P1 + P2;
|
1414 0712 915A P2 = P1 + P2;
|
||||||
1415 0714 52AC P2 = [P2+4];
|
1415 0714 52AC P2 = [P2+4];
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 36
|
BFIN GAS /tmp/ccOE2Ces.s page 36
|
||||||
|
|
||||||
|
|
||||||
1416 0716 5200 jump (P2);
|
1416 0716 5200 jump (P2);
|
||||||
@ -2158,7 +2158,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
1469 .size _l502_cmd_start, .-_l502_cmd_start
|
1469 .size _l502_cmd_start, .-_l502_cmd_start
|
||||||
1470 .align 4
|
1470 .align 4
|
||||||
1471 .global _l502_cmd_check_req;
|
1471 .global _l502_cmd_check_req;
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 37
|
BFIN GAS /tmp/ccOE2Ces.s page 37
|
||||||
|
|
||||||
|
|
||||||
1472 .type _l502_cmd_check_req, STT_FUNC;
|
1472 .type _l502_cmd_check_req, STT_FUNC;
|
||||||
@ -2218,7 +2218,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
1518 0792 0000 nop;
|
1518 0792 0000 nop;
|
||||||
1519 0794 50E50004 R0 = W [P2+2048] (X);
|
1519 0794 50E50004 R0 = W [P2+2048] (X);
|
||||||
1520 0798 C042 R0 = R0.L (Z);
|
1520 0798 C042 R0 = R0.L (Z);
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 38
|
BFIN GAS /tmp/ccOE2Ces.s page 38
|
||||||
|
|
||||||
|
|
||||||
1521 079a 09A1 R1 = [P1+16];
|
1521 079a 09A1 R1 = [P1+16];
|
||||||
@ -2278,7 +2278,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
1575 0824 0000 nop;
|
1575 0824 0000 nop;
|
||||||
1576 0826 40E50004 R0 = W [P0+2048] (X);
|
1576 0826 40E50004 R0 = W [P0+2048] (X);
|
||||||
1577 082a C042 R0 = R0.L (Z);
|
1577 082a C042 R0 = R0.L (Z);
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 39
|
BFIN GAS /tmp/ccOE2Ces.s page 39
|
||||||
|
|
||||||
|
|
||||||
1578 082c 11E41600 R1 = [P2+88];
|
1578 082c 11E41600 R1 = [P2+88];
|
||||||
@ -2338,7 +2338,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
1624 0874 0060 R0 = 0 (X);
|
1624 0874 0060 R0 = 0 (X);
|
||||||
1625 .LVL152:
|
1625 .LVL152:
|
||||||
1626 0876 F42F jump.s .L132;
|
1626 0876 F42F jump.s .L132;
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 40
|
BFIN GAS /tmp/ccOE2Ces.s page 40
|
||||||
|
|
||||||
|
|
||||||
1627 .LVL153:
|
1627 .LVL153:
|
||||||
@ -2398,7 +2398,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
1677 08a4 4860 R0 = 9 (X);
|
1677 08a4 4860 R0 = 9 (X);
|
||||||
1678 .LVL168:
|
1678 .LVL168:
|
||||||
1679 08a6 DC2F jump.s .L132;
|
1679 08a6 DC2F jump.s .L132;
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 41
|
BFIN GAS /tmp/ccOE2Ces.s page 41
|
||||||
|
|
||||||
|
|
||||||
1680 .LVL169:
|
1680 .LVL169:
|
||||||
@ -2458,7 +2458,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
1734 .size _f_regaddr_k, 24
|
1734 .size _f_regaddr_k, 24
|
||||||
1735 _f_regaddr_k:
|
1735 _f_regaddr_k:
|
||||||
1736 0288 08040000 .long 1032
|
1736 0288 08040000 .long 1032
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 42
|
BFIN GAS /tmp/ccOE2Ces.s page 42
|
||||||
|
|
||||||
|
|
||||||
1737 028c 09040000 .long 1033
|
1737 028c 09040000 .long 1033
|
||||||
@ -2518,7 +2518,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
1791 .4byte .LCFI1-.LFB16
|
1791 .4byte .LCFI1-.LFB16
|
||||||
1792 0039 0E .byte 0xe
|
1792 0039 0E .byte 0xe
|
||||||
1793 003a 04 .uleb128 0x4
|
1793 003a 04 .uleb128 0x4
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 43
|
BFIN GAS /tmp/ccOE2Ces.s page 43
|
||||||
|
|
||||||
|
|
||||||
1794 003b 8D .byte 0x8d
|
1794 003b 8D .byte 0x8d
|
||||||
@ -2578,7 +2578,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
1848 .LEFDE6:
|
1848 .LEFDE6:
|
||||||
1849 .LSFDE8:
|
1849 .LSFDE8:
|
||||||
1850 0080 14000000 .4byte .LEFDE8-.LASFDE8
|
1850 0080 14000000 .4byte .LEFDE8-.LASFDE8
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 44
|
BFIN GAS /tmp/ccOE2Ces.s page 44
|
||||||
|
|
||||||
|
|
||||||
1851 .LASFDE8:
|
1851 .LASFDE8:
|
||||||
@ -2638,7 +2638,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
1905 00d4 2C000000 .4byte .LFE25-.LFB25
|
1905 00d4 2C000000 .4byte .LFE25-.LFB25
|
||||||
1906 00d8 46 .byte 0x4
|
1906 00d8 46 .byte 0x4
|
||||||
1907 .4byte .LCFI11-.LFB25
|
1907 .4byte .LCFI11-.LFB25
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 45
|
BFIN GAS /tmp/ccOE2Ces.s page 45
|
||||||
|
|
||||||
|
|
||||||
1908 00d9 0C .byte 0xc
|
1908 00d9 0C .byte 0xc
|
||||||
@ -2698,7 +2698,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
1962 0124 8F .byte 0x8f
|
1962 0124 8F .byte 0x8f
|
||||||
1963 0125 02 .uleb128 0x2
|
1963 0125 02 .uleb128 0x2
|
||||||
1964 0126 A3 .byte 0xa3
|
1964 0126 A3 .byte 0xa3
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 46
|
BFIN GAS /tmp/ccOE2Ces.s page 46
|
||||||
|
|
||||||
|
|
||||||
1965 0127 01 .uleb128 0x1
|
1965 0127 01 .uleb128 0x1
|
||||||
@ -2758,7 +2758,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
2019 0171 8F .byte 0x8f
|
2019 0171 8F .byte 0x8f
|
||||||
2020 0172 03 .uleb128 0x3
|
2020 0172 03 .uleb128 0x3
|
||||||
2021 0173 A3 .byte 0xa3
|
2021 0173 A3 .byte 0xa3
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 47
|
BFIN GAS /tmp/ccOE2Ces.s page 47
|
||||||
|
|
||||||
|
|
||||||
2022 0174 02 .uleb128 0x2
|
2022 0174 02 .uleb128 0x2
|
||||||
@ -2818,7 +2818,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
2076 001f 28000000 .4byte .LFB16-.Ltext0
|
2076 001f 28000000 .4byte .LFB16-.Ltext0
|
||||||
2077 0023 2A000000 .4byte .LCFI1-.Ltext0
|
2077 0023 2A000000 .4byte .LCFI1-.Ltext0
|
||||||
2078 0027 0100 .2byte 0x1
|
2078 0027 0100 .2byte 0x1
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 48
|
BFIN GAS /tmp/ccOE2Ces.s page 48
|
||||||
|
|
||||||
|
|
||||||
2079 0029 5E .byte 0x5e
|
2079 0029 5E .byte 0x5e
|
||||||
@ -2878,7 +2878,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
2133 00b9 7E .byte 0x7e
|
2133 00b9 7E .byte 0x7e
|
||||||
2134 00ba 08 .sleb128 8
|
2134 00ba 08 .sleb128 8
|
||||||
2135 00bb 6E000000 .4byte .LCFI5-.Ltext0
|
2135 00bb 6E000000 .4byte .LCFI5-.Ltext0
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 49
|
BFIN GAS /tmp/ccOE2Ces.s page 49
|
||||||
|
|
||||||
|
|
||||||
2136 00bf E4010000 .4byte .LFE30-.Ltext0
|
2136 00bf E4010000 .4byte .LFE30-.Ltext0
|
||||||
@ -2938,7 +2938,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
2190 0151 BE000000 .4byte .LVL15-.Ltext0
|
2190 0151 BE000000 .4byte .LVL15-.Ltext0
|
||||||
2191 0155 0100 .2byte 0x1
|
2191 0155 0100 .2byte 0x1
|
||||||
2192 0157 51 .byte 0x51
|
2192 0157 51 .byte 0x51
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 50
|
BFIN GAS /tmp/ccOE2Ces.s page 50
|
||||||
|
|
||||||
|
|
||||||
2193 0158 F0000000 .4byte .LVL16-.Ltext0
|
2193 0158 F0000000 .4byte .LVL16-.Ltext0
|
||||||
@ -2998,7 +2998,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
2247 01e9 4C020000 .4byte .LVL31-.Ltext0
|
2247 01e9 4C020000 .4byte .LVL31-.Ltext0
|
||||||
2248 01ed 0100 .2byte 0x1
|
2248 01ed 0100 .2byte 0x1
|
||||||
2249 01ef 5A .byte 0x5a
|
2249 01ef 5A .byte 0x5a
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 51
|
BFIN GAS /tmp/ccOE2Ces.s page 51
|
||||||
|
|
||||||
|
|
||||||
2250 01f0 6E020000 .4byte .LVL33-.Ltext0
|
2250 01f0 6E020000 .4byte .LVL33-.Ltext0
|
||||||
@ -3058,7 +3058,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
2304 0280 5A .byte 0x5a
|
2304 0280 5A .byte 0x5a
|
||||||
2305 0281 BE020000 .4byte .LVL42-.Ltext0
|
2305 0281 BE020000 .4byte .LVL42-.Ltext0
|
||||||
2306 0285 CC020000 .4byte .LVL45-.Ltext0
|
2306 0285 CC020000 .4byte .LVL45-.Ltext0
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 52
|
BFIN GAS /tmp/ccOE2Ces.s page 52
|
||||||
|
|
||||||
|
|
||||||
2307 0289 0100 .2byte 0x1
|
2307 0289 0100 .2byte 0x1
|
||||||
@ -3118,7 +3118,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
2361 031b 0100 .2byte 0x1
|
2361 031b 0100 .2byte 0x1
|
||||||
2362 031d 5A .byte 0x5a
|
2362 031d 5A .byte 0x5a
|
||||||
2363 031e 00000000 .4byte 0x0
|
2363 031e 00000000 .4byte 0x0
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 53
|
BFIN GAS /tmp/ccOE2Ces.s page 53
|
||||||
|
|
||||||
|
|
||||||
2364 0322 00000000 .4byte 0x0
|
2364 0322 00000000 .4byte 0x0
|
||||||
@ -3178,7 +3178,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
2418 03b5 0200 .2byte 0x2
|
2418 03b5 0200 .2byte 0x2
|
||||||
2419 03b7 7F .byte 0x7f
|
2419 03b7 7F .byte 0x7f
|
||||||
2420 03b8 08 .sleb128 8
|
2420 03b8 08 .sleb128 8
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 54
|
BFIN GAS /tmp/ccOE2Ces.s page 54
|
||||||
|
|
||||||
|
|
||||||
2421 03b9 00000000 .4byte 0x0
|
2421 03b9 00000000 .4byte 0x0
|
||||||
@ -3238,7 +3238,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
2475 044b 0100 .2byte 0x1
|
2475 044b 0100 .2byte 0x1
|
||||||
2476 044d 5E .byte 0x5e
|
2476 044d 5E .byte 0x5e
|
||||||
2477 044e FC030000 .4byte .LCFI15-.Ltext0
|
2477 044e FC030000 .4byte .LCFI15-.Ltext0
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 55
|
BFIN GAS /tmp/ccOE2Ces.s page 55
|
||||||
|
|
||||||
|
|
||||||
2478 0452 20040000 .4byte .LFE20-.Ltext0
|
2478 0452 20040000 .4byte .LFE20-.Ltext0
|
||||||
@ -3298,7 +3298,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
2532 04dd 5A040000 .4byte .LVL79-.Ltext0
|
2532 04dd 5A040000 .4byte .LVL79-.Ltext0
|
||||||
2533 04e1 62040000 .4byte .LVL81-.Ltext0
|
2533 04e1 62040000 .4byte .LVL81-.Ltext0
|
||||||
2534 04e5 0100 .2byte 0x1
|
2534 04e5 0100 .2byte 0x1
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 56
|
BFIN GAS /tmp/ccOE2Ces.s page 56
|
||||||
|
|
||||||
|
|
||||||
2535 04e7 5D .byte 0x5d
|
2535 04e7 5D .byte 0x5d
|
||||||
@ -3358,7 +3358,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
2589 057b 53 .byte 0x53
|
2589 057b 53 .byte 0x53
|
||||||
2590 057c 7E050000 .4byte .LVL104-.Ltext0
|
2590 057c 7E050000 .4byte .LVL104-.Ltext0
|
||||||
2591 0580 82050000 .4byte .LVL105-.Ltext0
|
2591 0580 82050000 .4byte .LVL105-.Ltext0
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 57
|
BFIN GAS /tmp/ccOE2Ces.s page 57
|
||||||
|
|
||||||
|
|
||||||
2592 0584 0100 .2byte 0x1
|
2592 0584 0100 .2byte 0x1
|
||||||
@ -3418,7 +3418,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
2646 0615 00000000 .4byte 0x0
|
2646 0615 00000000 .4byte 0x0
|
||||||
2647 .LLST40:
|
2647 .LLST40:
|
||||||
2648 0619 F8050000 .4byte .LVL119-.Ltext0
|
2648 0619 F8050000 .4byte .LVL119-.Ltext0
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 58
|
BFIN GAS /tmp/ccOE2Ces.s page 58
|
||||||
|
|
||||||
|
|
||||||
2649 061d 02060000 .4byte .LVL120-.Ltext0
|
2649 061d 02060000 .4byte .LVL120-.Ltext0
|
||||||
@ -3478,7 +3478,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
2703 06b0 2A070000 .4byte .LVL139-.Ltext0
|
2703 06b0 2A070000 .4byte .LVL139-.Ltext0
|
||||||
2704 06b4 2C070000 .4byte .LVL140-.Ltext0
|
2704 06b4 2C070000 .4byte .LVL140-.Ltext0
|
||||||
2705 06b8 0100 .2byte 0x1
|
2705 06b8 0100 .2byte 0x1
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 59
|
BFIN GAS /tmp/ccOE2Ces.s page 59
|
||||||
|
|
||||||
|
|
||||||
2706 06ba 50 .byte 0x50
|
2706 06ba 50 .byte 0x50
|
||||||
@ -3538,7 +3538,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
2760 074d 0100 .2byte 0x1
|
2760 074d 0100 .2byte 0x1
|
||||||
2761 074f 50 .byte 0x50
|
2761 074f 50 .byte 0x50
|
||||||
2762 0750 96080000 .4byte .LVL160-.Ltext0
|
2762 0750 96080000 .4byte .LVL160-.Ltext0
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 60
|
BFIN GAS /tmp/ccOE2Ces.s page 60
|
||||||
|
|
||||||
|
|
||||||
2763 0754 98080000 .4byte .LVL161-.Ltext0
|
2763 0754 98080000 .4byte .LVL161-.Ltext0
|
||||||
@ -3598,7 +3598,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
2817 0027 06 .byte 0x6
|
2817 0027 06 .byte 0x6
|
||||||
2818 0028 3A080000 .4byte .LASF0
|
2818 0028 3A080000 .4byte .LASF0
|
||||||
2819 002c 03 .uleb128 0x3
|
2819 002c 03 .uleb128 0x3
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 61
|
BFIN GAS /tmp/ccOE2Ces.s page 61
|
||||||
|
|
||||||
|
|
||||||
2820 002d CB030000 .4byte .LASF3
|
2820 002d CB030000 .4byte .LASF3
|
||||||
@ -3658,7 +3658,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
2874 0093 C6000000 .4byte .LASF12
|
2874 0093 C6000000 .4byte .LASF12
|
||||||
2875 0097 05 .uleb128 0x5
|
2875 0097 05 .uleb128 0x5
|
||||||
2876 0098 04 .byte 0x4
|
2876 0098 04 .byte 0x4
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 62
|
BFIN GAS /tmp/ccOE2Ces.s page 62
|
||||||
|
|
||||||
|
|
||||||
2877 0099 03 .byte 0x3
|
2877 0099 03 .byte 0x3
|
||||||
@ -3718,7 +3718,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
2931 0108 06 .uleb128 0x6
|
2931 0108 06 .uleb128 0x6
|
||||||
2932 0109 97080000 .4byte .LASF28
|
2932 0109 97080000 .4byte .LASF28
|
||||||
2933 010d 25 .sleb128 37
|
2933 010d 25 .sleb128 37
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 63
|
BFIN GAS /tmp/ccOE2Ces.s page 63
|
||||||
|
|
||||||
|
|
||||||
2934 010e 06 .uleb128 0x6
|
2934 010e 06 .uleb128 0x6
|
||||||
@ -3778,7 +3778,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
2988 0178 06 .uleb128 0x6
|
2988 0178 06 .uleb128 0x6
|
||||||
2989 0179 8F010000 .4byte .LASF43
|
2989 0179 8F010000 .4byte .LASF43
|
||||||
2990 017d FE7B .sleb128 -514
|
2990 017d FE7B .sleb128 -514
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 64
|
BFIN GAS /tmp/ccOE2Ces.s page 64
|
||||||
|
|
||||||
|
|
||||||
2991 017f 06 .uleb128 0x6
|
2991 017f 06 .uleb128 0x6
|
||||||
@ -3838,7 +3838,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
3045 01e8 23 .byte 0x23
|
3045 01e8 23 .byte 0x23
|
||||||
3046 01e9 00 .uleb128 0x0
|
3046 01e9 00 .uleb128 0x0
|
||||||
3047 01ea 08 .uleb128 0x8
|
3047 01ea 08 .uleb128 0x8
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 65
|
BFIN GAS /tmp/ccOE2Ces.s page 65
|
||||||
|
|
||||||
|
|
||||||
3048 01eb D3030000 .4byte .LASF55
|
3048 01eb D3030000 .4byte .LASF55
|
||||||
@ -3898,7 +3898,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
3102 024c D3010000 .4byte 0x1d3
|
3102 024c D3010000 .4byte 0x1d3
|
||||||
3103 0250 0C .uleb128 0xc
|
3103 0250 0C .uleb128 0xc
|
||||||
3104 0251 20 .byte 0x20
|
3104 0251 20 .byte 0x20
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 66
|
BFIN GAS /tmp/ccOE2Ces.s page 66
|
||||||
|
|
||||||
|
|
||||||
3105 0252 04 .byte 0x4
|
3105 0252 04 .byte 0x4
|
||||||
@ -3958,7 +3958,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
3159 02b2 23 .byte 0x23
|
3159 02b2 23 .byte 0x23
|
||||||
3160 02b3 45000000 .4byte 0x45
|
3160 02b3 45000000 .4byte 0x45
|
||||||
3161 02b7 02 .byte 0x2
|
3161 02b7 02 .byte 0x2
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 67
|
BFIN GAS /tmp/ccOE2Ces.s page 67
|
||||||
|
|
||||||
|
|
||||||
3162 02b8 23 .byte 0x23
|
3162 02b8 23 .byte 0x23
|
||||||
@ -4018,7 +4018,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
3216 0315 00 .uleb128 0x0
|
3216 0315 00 .uleb128 0x0
|
||||||
3217 0316 0D .uleb128 0xd
|
3217 0316 0D .uleb128 0xd
|
||||||
3218 0317 696E00 .string "in"
|
3218 0317 696E00 .string "in"
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 68
|
BFIN GAS /tmp/ccOE2Ces.s page 68
|
||||||
|
|
||||||
|
|
||||||
3219 031a 04 .byte 0x4
|
3219 031a 04 .byte 0x4
|
||||||
@ -4078,7 +4078,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
3273 0380 23 .byte 0x23
|
3273 0380 23 .byte 0x23
|
||||||
3274 0381 8010 .uleb128 0x800
|
3274 0381 8010 .uleb128 0x800
|
||||||
3275 0383 00 .byte 0x0
|
3275 0383 00 .byte 0x0
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 69
|
BFIN GAS /tmp/ccOE2Ces.s page 69
|
||||||
|
|
||||||
|
|
||||||
3276 0384 03 .uleb128 0x3
|
3276 0384 03 .uleb128 0x3
|
||||||
@ -4138,7 +4138,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
3330 03ea 01 .sleb128 1
|
3330 03ea 01 .sleb128 1
|
||||||
3331 03eb 06 .uleb128 0x6
|
3331 03eb 06 .uleb128 0x6
|
||||||
3332 03ec CA080000 .4byte .LASF88
|
3332 03ec CA080000 .4byte .LASF88
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 70
|
BFIN GAS /tmp/ccOE2Ces.s page 70
|
||||||
|
|
||||||
|
|
||||||
3333 03f0 02 .sleb128 2
|
3333 03f0 02 .sleb128 2
|
||||||
@ -4198,7 +4198,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
3387 044e 00 .uleb128 0x0
|
3387 044e 00 .uleb128 0x0
|
||||||
3388 044f 08 .uleb128 0x8
|
3388 044f 08 .uleb128 0x8
|
||||||
3389 0450 40070000 .4byte .LASF96
|
3389 0450 40070000 .4byte .LASF96
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 71
|
BFIN GAS /tmp/ccOE2Ces.s page 71
|
||||||
|
|
||||||
|
|
||||||
3390 0454 06 .byte 0x6
|
3390 0454 06 .byte 0x6
|
||||||
@ -4258,7 +4258,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
3444 04b7 23 .byte 0x23
|
3444 04b7 23 .byte 0x23
|
||||||
3445 04b8 01 .uleb128 0x1
|
3445 04b8 01 .uleb128 0x1
|
||||||
3446 04b9 08 .uleb128 0x8
|
3446 04b9 08 .uleb128 0x8
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 72
|
BFIN GAS /tmp/ccOE2Ces.s page 72
|
||||||
|
|
||||||
|
|
||||||
3447 04ba 4A050000 .4byte .LASF102
|
3447 04ba 4A050000 .4byte .LASF102
|
||||||
@ -4318,7 +4318,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
3501 051c 69000000 .4byte 0x69
|
3501 051c 69000000 .4byte 0x69
|
||||||
3502 0520 03 .byte 0x3
|
3502 0520 03 .byte 0x3
|
||||||
3503 0521 23 .byte 0x23
|
3503 0521 23 .byte 0x23
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 73
|
BFIN GAS /tmp/ccOE2Ces.s page 73
|
||||||
|
|
||||||
|
|
||||||
3504 0522 8410 .uleb128 0x804
|
3504 0522 8410 .uleb128 0x804
|
||||||
@ -4378,7 +4378,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
3558 0589 42020000 .4byte 0x242
|
3558 0589 42020000 .4byte 0x242
|
||||||
3559 058d FF .byte 0xff
|
3559 058d FF .byte 0xff
|
||||||
3560 058e 00 .byte 0x0
|
3560 058e 00 .byte 0x0
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 74
|
BFIN GAS /tmp/ccOE2Ces.s page 74
|
||||||
|
|
||||||
|
|
||||||
3561 058f 03 .uleb128 0x3
|
3561 058f 03 .uleb128 0x3
|
||||||
@ -4438,7 +4438,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
3615 05f2 00000000 .4byte .LFB19
|
3615 05f2 00000000 .4byte .LFB19
|
||||||
3616 05f6 26000000 .4byte .LFE19
|
3616 05f6 26000000 .4byte .LFE19
|
||||||
3617 05fa 00000000 .4byte .LLST0
|
3617 05fa 00000000 .4byte .LLST0
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 75
|
BFIN GAS /tmp/ccOE2Ces.s page 75
|
||||||
|
|
||||||
|
|
||||||
3618 05fe 14 .uleb128 0x14
|
3618 05fe 14 .uleb128 0x14
|
||||||
@ -4498,7 +4498,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
3672 0682 01 .byte 0x1
|
3672 0682 01 .byte 0x1
|
||||||
3673 0683 D3 .byte 0xd3
|
3673 0683 D3 .byte 0xd3
|
||||||
3674 0684 BE050000 .4byte 0x5be
|
3674 0684 BE050000 .4byte 0x5be
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 76
|
BFIN GAS /tmp/ccOE2Ces.s page 76
|
||||||
|
|
||||||
|
|
||||||
3675 0688 CF000000 .4byte .LLST6
|
3675 0688 CF000000 .4byte .LLST6
|
||||||
@ -4558,7 +4558,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
3729 070e 00 .byte 0x0
|
3729 070e 00 .byte 0x0
|
||||||
3730 070f 10 .uleb128 0x10
|
3730 070f 10 .uleb128 0x10
|
||||||
3731 0710 04 .byte 0x4
|
3731 0710 04 .byte 0x4
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 77
|
BFIN GAS /tmp/ccOE2Ces.s page 77
|
||||||
|
|
||||||
|
|
||||||
3732 0711 27040000 .4byte 0x427
|
3732 0711 27040000 .4byte 0x427
|
||||||
@ -4618,7 +4618,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
3786 0792 C0 .byte 0xc0
|
3786 0792 C0 .byte 0xc0
|
||||||
3787 0793 57000000 .4byte 0x57
|
3787 0793 57000000 .4byte 0x57
|
||||||
3788 0797 03020000 .4byte .LLST14
|
3788 0797 03020000 .4byte .LLST14
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 78
|
BFIN GAS /tmp/ccOE2Ces.s page 78
|
||||||
|
|
||||||
|
|
||||||
3789 079b 1A .uleb128 0x1a
|
3789 079b 1A .uleb128 0x1a
|
||||||
@ -4678,7 +4678,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
3843 081f 00 .byte 0x0
|
3843 081f 00 .byte 0x0
|
||||||
3844 0820 18 .uleb128 0x18
|
3844 0820 18 .uleb128 0x18
|
||||||
3845 0821 25030000 .4byte .LASF122
|
3845 0821 25030000 .4byte .LASF122
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 79
|
BFIN GAS /tmp/ccOE2Ces.s page 79
|
||||||
|
|
||||||
|
|
||||||
3846 0825 01 .byte 0x1
|
3846 0825 01 .byte 0x1
|
||||||
@ -4738,7 +4738,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
3900 08ac 1C .uleb128 0x1c
|
3900 08ac 1C .uleb128 0x1c
|
||||||
3901 08ad 5B060000 .4byte 0x65b
|
3901 08ad 5B060000 .4byte 0x65b
|
||||||
3902 08b1 1C .uleb128 0x1c
|
3902 08b1 1C .uleb128 0x1c
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 80
|
BFIN GAS /tmp/ccOE2Ces.s page 80
|
||||||
|
|
||||||
|
|
||||||
3903 08b2 52060000 .4byte 0x652
|
3903 08b2 52060000 .4byte 0x652
|
||||||
@ -4798,7 +4798,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
3957 0939 91 .byte 0x91
|
3957 0939 91 .byte 0x91
|
||||||
3958 093a 1C .uleb128 0x1c
|
3958 093a 1C .uleb128 0x1c
|
||||||
3959 093b 5B060000 .4byte 0x65b
|
3959 093b 5B060000 .4byte 0x65b
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 81
|
BFIN GAS /tmp/ccOE2Ces.s page 81
|
||||||
|
|
||||||
|
|
||||||
3960 093f 1C .uleb128 0x1c
|
3960 093f 1C .uleb128 0x1c
|
||||||
@ -4858,7 +4858,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
4014 09c6 01 .byte 0x1
|
4014 09c6 01 .byte 0x1
|
||||||
4015 09c7 85 .byte 0x85
|
4015 09c7 85 .byte 0x85
|
||||||
4016 09c8 1C .uleb128 0x1c
|
4016 09c8 1C .uleb128 0x1c
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 82
|
BFIN GAS /tmp/ccOE2Ces.s page 82
|
||||||
|
|
||||||
|
|
||||||
4017 09c9 5B060000 .4byte 0x65b
|
4017 09c9 5B060000 .4byte 0x65b
|
||||||
@ -4918,7 +4918,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
4071 0a4f 2D01 .2byte 0x12d
|
4071 0a4f 2D01 .2byte 0x12d
|
||||||
4072 0a51 57000000 .4byte 0x57
|
4072 0a51 57000000 .4byte 0x57
|
||||||
4073 0a55 06050000 .4byte .LLST36
|
4073 0a55 06050000 .4byte .LLST36
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 83
|
BFIN GAS /tmp/ccOE2Ces.s page 83
|
||||||
|
|
||||||
|
|
||||||
4074 0a59 22 .uleb128 0x22
|
4074 0a59 22 .uleb128 0x22
|
||||||
@ -4978,7 +4978,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
4128 0ad2 1C .uleb128 0x1c
|
4128 0ad2 1C .uleb128 0x1c
|
||||||
4129 0ad3 5B060000 .4byte 0x65b
|
4129 0ad3 5B060000 .4byte 0x65b
|
||||||
4130 0ad7 1C .uleb128 0x1c
|
4130 0ad7 1C .uleb128 0x1c
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 84
|
BFIN GAS /tmp/ccOE2Ces.s page 84
|
||||||
|
|
||||||
|
|
||||||
4131 0ad8 52060000 .4byte 0x652
|
4131 0ad8 52060000 .4byte 0x652
|
||||||
@ -5038,7 +5038,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
4185 0b62 19070000 .4byte .LLST43
|
4185 0b62 19070000 .4byte .LLST43
|
||||||
4186 0b66 2D .uleb128 0x2d
|
4186 0b66 2D .uleb128 0x2d
|
||||||
4187 0b67 C60A0000 .4byte 0xac6
|
4187 0b67 C60A0000 .4byte 0xac6
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 85
|
BFIN GAS /tmp/ccOE2Ces.s page 85
|
||||||
|
|
||||||
|
|
||||||
4188 0b6b 25 .uleb128 0x25
|
4188 0b6b 25 .uleb128 0x25
|
||||||
@ -5098,7 +5098,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
4242 0be0 C4050000 .4byte 0x5c4
|
4242 0be0 C4050000 .4byte 0x5c4
|
||||||
4243 0be4 EF0B0000 .4byte 0xbef
|
4243 0be4 EF0B0000 .4byte 0xbef
|
||||||
4244 0be8 0F .uleb128 0xf
|
4244 0be8 0F .uleb128 0xf
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 86
|
BFIN GAS /tmp/ccOE2Ces.s page 86
|
||||||
|
|
||||||
|
|
||||||
4245 0be9 42020000 .4byte 0x242
|
4245 0be9 42020000 .4byte 0x242
|
||||||
@ -5158,7 +5158,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
4299 0000 01 .uleb128 0x1
|
4299 0000 01 .uleb128 0x1
|
||||||
4300 0001 11 .uleb128 0x11
|
4300 0001 11 .uleb128 0x11
|
||||||
4301 0002 01 .byte 0x1
|
4301 0002 01 .byte 0x1
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 87
|
BFIN GAS /tmp/ccOE2Ces.s page 87
|
||||||
|
|
||||||
|
|
||||||
4302 0003 25 .uleb128 0x25
|
4302 0003 25 .uleb128 0x25
|
||||||
@ -5218,7 +5218,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
4356 0039 0B .uleb128 0xb
|
4356 0039 0B .uleb128 0xb
|
||||||
4357 003a 0B .uleb128 0xb
|
4357 003a 0B .uleb128 0xb
|
||||||
4358 003b 3A .uleb128 0x3a
|
4358 003b 3A .uleb128 0x3a
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 88
|
BFIN GAS /tmp/ccOE2Ces.s page 88
|
||||||
|
|
||||||
|
|
||||||
4359 003c 0B .uleb128 0xb
|
4359 003c 0B .uleb128 0xb
|
||||||
@ -5278,7 +5278,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
4413 0072 21 .uleb128 0x21
|
4413 0072 21 .uleb128 0x21
|
||||||
4414 0073 00 .byte 0x0
|
4414 0073 00 .byte 0x0
|
||||||
4415 0074 49 .uleb128 0x49
|
4415 0074 49 .uleb128 0x49
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 89
|
BFIN GAS /tmp/ccOE2Ces.s page 89
|
||||||
|
|
||||||
|
|
||||||
4416 0075 13 .uleb128 0x13
|
4416 0075 13 .uleb128 0x13
|
||||||
@ -5338,7 +5338,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
4470 00ab 2F .uleb128 0x2f
|
4470 00ab 2F .uleb128 0x2f
|
||||||
4471 00ac 0B .uleb128 0xb
|
4471 00ac 0B .uleb128 0xb
|
||||||
4472 00ad 00 .byte 0x0
|
4472 00ad 00 .byte 0x0
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 90
|
BFIN GAS /tmp/ccOE2Ces.s page 90
|
||||||
|
|
||||||
|
|
||||||
4473 00ae 00 .byte 0x0
|
4473 00ae 00 .byte 0x0
|
||||||
@ -5398,7 +5398,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
4527 00e4 3A .uleb128 0x3a
|
4527 00e4 3A .uleb128 0x3a
|
||||||
4528 00e5 0B .uleb128 0xb
|
4528 00e5 0B .uleb128 0xb
|
||||||
4529 00e6 3B .uleb128 0x3b
|
4529 00e6 3B .uleb128 0x3b
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 91
|
BFIN GAS /tmp/ccOE2Ces.s page 91
|
||||||
|
|
||||||
|
|
||||||
4530 00e7 0B .uleb128 0xb
|
4530 00e7 0B .uleb128 0xb
|
||||||
@ -5458,7 +5458,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
4584 011d 0B .uleb128 0xb
|
4584 011d 0B .uleb128 0xb
|
||||||
4585 011e 27 .uleb128 0x27
|
4585 011e 27 .uleb128 0x27
|
||||||
4586 011f 0C .uleb128 0xc
|
4586 011f 0C .uleb128 0xc
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 92
|
BFIN GAS /tmp/ccOE2Ces.s page 92
|
||||||
|
|
||||||
|
|
||||||
4587 0120 11 .uleb128 0x11
|
4587 0120 11 .uleb128 0x11
|
||||||
@ -5518,7 +5518,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
4641 0156 13 .uleb128 0x13
|
4641 0156 13 .uleb128 0x13
|
||||||
4642 0157 00 .byte 0x0
|
4642 0157 00 .byte 0x0
|
||||||
4643 0158 00 .byte 0x0
|
4643 0158 00 .byte 0x0
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 93
|
BFIN GAS /tmp/ccOE2Ces.s page 93
|
||||||
|
|
||||||
|
|
||||||
4644 0159 1C .uleb128 0x1c
|
4644 0159 1C .uleb128 0x1c
|
||||||
@ -5578,7 +5578,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
4698 018f 11 .uleb128 0x11
|
4698 018f 11 .uleb128 0x11
|
||||||
4699 0190 01 .uleb128 0x1
|
4699 0190 01 .uleb128 0x1
|
||||||
4700 0191 12 .uleb128 0x12
|
4700 0191 12 .uleb128 0x12
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 94
|
BFIN GAS /tmp/ccOE2Ces.s page 94
|
||||||
|
|
||||||
|
|
||||||
4701 0192 01 .uleb128 0x1
|
4701 0192 01 .uleb128 0x1
|
||||||
@ -5638,7 +5638,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
4755 01c8 01 .uleb128 0x1
|
4755 01c8 01 .uleb128 0x1
|
||||||
4756 01c9 58 .uleb128 0x58
|
4756 01c9 58 .uleb128 0x58
|
||||||
4757 01ca 0B .uleb128 0xb
|
4757 01ca 0B .uleb128 0xb
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 95
|
BFIN GAS /tmp/ccOE2Ces.s page 95
|
||||||
|
|
||||||
|
|
||||||
4758 01cb 59 .uleb128 0x59
|
4758 01cb 59 .uleb128 0x59
|
||||||
@ -5698,7 +5698,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
4812 0201 00 .byte 0x0
|
4812 0201 00 .byte 0x0
|
||||||
4813 0202 29 .uleb128 0x29
|
4813 0202 29 .uleb128 0x29
|
||||||
4814 0203 05 .uleb128 0x5
|
4814 0203 05 .uleb128 0x5
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 96
|
BFIN GAS /tmp/ccOE2Ces.s page 96
|
||||||
|
|
||||||
|
|
||||||
4815 0204 00 .byte 0x0
|
4815 0204 00 .byte 0x0
|
||||||
@ -5758,7 +5758,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
4869 023a 3B .uleb128 0x3b
|
4869 023a 3B .uleb128 0x3b
|
||||||
4870 023b 0B .uleb128 0xb
|
4870 023b 0B .uleb128 0xb
|
||||||
4871 023c 27 .uleb128 0x27
|
4871 023c 27 .uleb128 0x27
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 97
|
BFIN GAS /tmp/ccOE2Ces.s page 97
|
||||||
|
|
||||||
|
|
||||||
4872 023d 0C .uleb128 0xc
|
4872 023d 0C .uleb128 0xc
|
||||||
@ -5818,7 +5818,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
4926 0273 0C .uleb128 0xc
|
4926 0273 0C .uleb128 0xc
|
||||||
4927 0274 00 .byte 0x0
|
4927 0274 00 .byte 0x0
|
||||||
4928 0275 00 .byte 0x0
|
4928 0275 00 .byte 0x0
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 98
|
BFIN GAS /tmp/ccOE2Ces.s page 98
|
||||||
|
|
||||||
|
|
||||||
4929 0276 00 .byte 0x0
|
4929 0276 00 .byte 0x0
|
||||||
@ -5878,7 +5878,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
4969 002c 1A010000 .4byte .LBE12-.Ltext0
|
4969 002c 1A010000 .4byte .LBE12-.Ltext0
|
||||||
4970 0030 B8000000 .4byte .LBB10-.Ltext0
|
4970 0030 B8000000 .4byte .LBB10-.Ltext0
|
||||||
4971 0034 BE000000 .4byte .LBE10-.Ltext0
|
4971 0034 BE000000 .4byte .LBE10-.Ltext0
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 99
|
BFIN GAS /tmp/ccOE2Ces.s page 99
|
||||||
|
|
||||||
|
|
||||||
4972 0038 00000000 .4byte 0x0
|
4972 0038 00000000 .4byte 0x0
|
||||||
@ -5938,7 +5938,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
5014 0044 4C353032 .string "L502_SYNC_INTERNAL"
|
5014 0044 4C353032 .string "L502_SYNC_INTERNAL"
|
||||||
5014 5F53594E
|
5014 5F53594E
|
||||||
5014 435F494E
|
5014 435F494E
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 100
|
BFIN GAS /tmp/ccOE2Ces.s page 100
|
||||||
|
|
||||||
|
|
||||||
5014 5445524E
|
5014 5445524E
|
||||||
@ -5998,7 +5998,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
5034 00
|
5034 00
|
||||||
5035 .LASF79:
|
5035 .LASF79:
|
||||||
5036 0101 4C353032 .string "L502_ADC_RANGE_2"
|
5036 0101 4C353032 .string "L502_ADC_RANGE_2"
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 101
|
BFIN GAS /tmp/ccOE2Ces.s page 101
|
||||||
|
|
||||||
|
|
||||||
5036 5F414443
|
5036 5F414443
|
||||||
@ -6058,7 +6058,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
5058 5F42465F
|
5058 5F42465F
|
||||||
5058 4552525F
|
5058 4552525F
|
||||||
5058 46495253
|
5058 46495253
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 102
|
BFIN GAS /tmp/ccOE2Ces.s page 102
|
||||||
|
|
||||||
|
|
||||||
5058 545F434F
|
5058 545F434F
|
||||||
@ -6118,7 +6118,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
5082 5F73697A
|
5082 5F73697A
|
||||||
5082 6500
|
5082 6500
|
||||||
5083 .LASF34:
|
5083 .LASF34:
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 103
|
BFIN GAS /tmp/ccOE2Ces.s page 103
|
||||||
|
|
||||||
|
|
||||||
5084 026f 4C353032 .string "L502_BF_PARAM_IN_STEP_SIZE"
|
5084 026f 4C353032 .string "L502_BF_PARAM_IN_STEP_SIZE"
|
||||||
@ -6178,7 +6178,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
5105 .LASF90:
|
5105 .LASF90:
|
||||||
5106 0335 4C353032 .string "L502_SYNC_DI_SYN1_FALL"
|
5106 0335 4C353032 .string "L502_SYNC_DI_SYN1_FALL"
|
||||||
5106 5F53594E
|
5106 5F53594E
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 104
|
BFIN GAS /tmp/ccOE2Ces.s page 104
|
||||||
|
|
||||||
|
|
||||||
5106 435F4449
|
5106 435F4449
|
||||||
@ -6238,7 +6238,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
5130 5F42465F
|
5130 5F42465F
|
||||||
5130 434D445F
|
5130 434D445F
|
||||||
5130 4153594E
|
5130 4153594E
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 105
|
BFIN GAS /tmp/ccOE2Ces.s page 105
|
||||||
|
|
||||||
|
|
||||||
5130 435F5459
|
5130 435F5459
|
||||||
@ -6298,7 +6298,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
5153 .LASF69:
|
5153 .LASF69:
|
||||||
5154 04d8 76616C69 .string "valid"
|
5154 04d8 76616C69 .string "valid"
|
||||||
5154 6400
|
5154 6400
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 106
|
BFIN GAS /tmp/ccOE2Ces.s page 106
|
||||||
|
|
||||||
|
|
||||||
5155 .LASF16:
|
5155 .LASF16:
|
||||||
@ -6358,7 +6358,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
5177 .LASF89:
|
5177 .LASF89:
|
||||||
5178 0587 4C353032 .string "L502_SYNC_DI_SYN2_RISE"
|
5178 0587 4C353032 .string "L502_SYNC_DI_SYN2_RISE"
|
||||||
5178 5F53594E
|
5178 5F53594E
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 107
|
BFIN GAS /tmp/ccOE2Ces.s page 107
|
||||||
|
|
||||||
|
|
||||||
5178 435F4449
|
5178 435F4449
|
||||||
@ -6418,7 +6418,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
5202 0627 665F636D .string "f_cmd_streams_start"
|
5202 0627 665F636D .string "f_cmd_streams_start"
|
||||||
5202 645F7374
|
5202 645F7374
|
||||||
5202 7265616D
|
5202 7265616D
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 108
|
BFIN GAS /tmp/ccOE2Ces.s page 108
|
||||||
|
|
||||||
|
|
||||||
5202 735F7374
|
5202 735F7374
|
||||||
@ -6478,7 +6478,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
5226 72745F6D
|
5226 72745F6D
|
||||||
5226 6F646500
|
5226 6F646500
|
||||||
5227 .LASF104:
|
5227 .LASF104:
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 109
|
BFIN GAS /tmp/ccOE2Ces.s page 109
|
||||||
|
|
||||||
|
|
||||||
5228 06ef 6C63685F .string "lch_cnt"
|
5228 06ef 6C63685F .string "lch_cnt"
|
||||||
@ -6538,7 +6538,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
5252 50415241
|
5252 50415241
|
||||||
5252 4D5F454E
|
5252 4D5F454E
|
||||||
5252 41424C45
|
5252 41424C45
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 110
|
BFIN GAS /tmp/ccOE2Ces.s page 110
|
||||||
|
|
||||||
|
|
||||||
5253 .LASF67:
|
5253 .LASF67:
|
||||||
@ -6598,7 +6598,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
5274 7420756E
|
5274 7420756E
|
||||||
5274 7369676E
|
5274 7369676E
|
||||||
5274 65642069
|
5274 65642069
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 111
|
BFIN GAS /tmp/ccOE2Ces.s page 111
|
||||||
|
|
||||||
|
|
||||||
5274 6E7400
|
5274 6E7400
|
||||||
@ -6658,7 +6658,7 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
5296 0938 745F6C35 .string "t_l502_bf_cmd"
|
5296 0938 745F6C35 .string "t_l502_bf_cmd"
|
||||||
5296 30325F62
|
5296 30325F62
|
||||||
5296 665F636D
|
5296 665F636D
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 112
|
BFIN GAS /tmp/ccOE2Ces.s page 112
|
||||||
|
|
||||||
|
|
||||||
5296 6400
|
5296 6400
|
||||||
@ -6680,31 +6680,31 @@ BFIN GAS /tmp/ccpnrlOk.s page 1
|
|||||||
5302 4D5F494E
|
5302 4D5F494E
|
||||||
5302 5F425546
|
5302 5F425546
|
||||||
5303 .ident "GCC: (ADI-2014R1-RC2) 4.3.5"
|
5303 .ident "GCC: (ADI-2014R1-RC2) 4.3.5"
|
||||||
BFIN GAS /tmp/ccpnrlOk.s page 113
|
BFIN GAS /tmp/ccOE2Ces.s page 113
|
||||||
|
|
||||||
|
|
||||||
DEFINED SYMBOLS
|
DEFINED SYMBOLS
|
||||||
*ABS*:0000000000000000 src/l502_cmd.c
|
*ABS*:0000000000000000 src/l502_cmd.c
|
||||||
/tmp/ccpnrlOk.s:13 .text:0000000000000000 _l502_cmd_set_req
|
/tmp/ccOE2Ces.s:13 .text:0000000000000000 _l502_cmd_set_req
|
||||||
.bss:0000000000000000 _f_cmd_req
|
.bss:0000000000000000 _f_cmd_req
|
||||||
/tmp/ccpnrlOk.s:39 .text:0000000000000028 _l502_cmd_done
|
/tmp/ccOE2Ces.s:39 .text:0000000000000028 _l502_cmd_done
|
||||||
/tmp/ccpnrlOk.s:83 .text:0000000000000064 _f_cmd_set_param
|
/tmp/ccOE2Ces.s:83 .text:0000000000000064 _f_cmd_set_param
|
||||||
/tmp/ccpnrlOk.s:1735 .rodata:0000000000000288 _f_regaddr_k
|
/tmp/ccOE2Ces.s:1735 .rodata:0000000000000288 _f_regaddr_k
|
||||||
/tmp/ccpnrlOk.s:1745 .rodata:00000000000002a0 _f_regaddr_offs
|
/tmp/ccOE2Ces.s:1745 .rodata:00000000000002a0 _f_regaddr_offs
|
||||||
/tmp/ccpnrlOk.s:401 .text:00000000000001e4 _f_cmd_get_out_status
|
/tmp/ccOE2Ces.s:401 .text:00000000000001e4 _f_cmd_get_out_status
|
||||||
/tmp/ccpnrlOk.s:451 .text:0000000000000224 _f_cmd_fpga_reg_rd
|
/tmp/ccOE2Ces.s:451 .text:0000000000000224 _f_cmd_fpga_reg_rd
|
||||||
/tmp/ccpnrlOk.s:516 .text:000000000000027c _f_cmd_fpga_reg_wr
|
/tmp/ccOE2Ces.s:516 .text:000000000000027c _f_cmd_fpga_reg_wr
|
||||||
/tmp/ccpnrlOk.s:579 .text:00000000000002d0 _f_cmd_async_out
|
/tmp/ccOE2Ces.s:579 .text:00000000000002d0 _f_cmd_async_out
|
||||||
/tmp/ccpnrlOk.s:677 .text:0000000000000350 _f_cmd_stream_disable
|
/tmp/ccOE2Ces.s:677 .text:0000000000000350 _f_cmd_stream_disable
|
||||||
/tmp/ccpnrlOk.s:710 .text:000000000000037c _f_cmd_stream_enable
|
/tmp/ccOE2Ces.s:710 .text:000000000000037c _f_cmd_stream_enable
|
||||||
/tmp/ccpnrlOk.s:743 .text:00000000000003a8 _f_cmd_preload
|
/tmp/ccOE2Ces.s:743 .text:00000000000003a8 _f_cmd_preload
|
||||||
/tmp/ccpnrlOk.s:773 .text:00000000000003d0 _f_cmd_stream_stop
|
/tmp/ccOE2Ces.s:773 .text:00000000000003d0 _f_cmd_stream_stop
|
||||||
/tmp/ccpnrlOk.s:803 .text:00000000000003f8 _f_cmd_streams_start
|
/tmp/ccOE2Ces.s:803 .text:00000000000003f8 _f_cmd_streams_start
|
||||||
/tmp/ccpnrlOk.s:833 .text:0000000000000420 _f_cmd_config
|
/tmp/ccOE2Ces.s:833 .text:0000000000000420 _f_cmd_config
|
||||||
/tmp/ccpnrlOk.s:863 .text:0000000000000448 _f_cmd_get_param
|
/tmp/ccOE2Ces.s:863 .text:0000000000000448 _f_cmd_get_param
|
||||||
/tmp/ccpnrlOk.s:1249 .text:00000000000005f8 _l502_cmd_start
|
/tmp/ccOE2Ces.s:1249 .text:00000000000005f8 _l502_cmd_start
|
||||||
/tmp/ccpnrlOk.s:1705 .rodata:0000000000000220 _f_cmd_tbl
|
/tmp/ccOE2Ces.s:1705 .rodata:0000000000000220 _f_cmd_tbl
|
||||||
/tmp/ccpnrlOk.s:1473 .text:0000000000000740 _l502_cmd_check_req
|
/tmp/ccOE2Ces.s:1473 .text:0000000000000740 _l502_cmd_check_req
|
||||||
|
|
||||||
UNDEFINED SYMBOLS
|
UNDEFINED SYMBOLS
|
||||||
_g_state
|
_g_state
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
1
kissfft
Submodule
1
kissfft
Submodule
Submodule kissfft added at 7bce4153c6
191
src/kiss_fft_framework.c
Normal file
191
src/kiss_fft_framework.c
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
#include "kiss_fft_framework.h"
|
||||||
|
#include <string.h> // memset
|
||||||
|
|
||||||
|
// ---------------- Внутреннее состояние ----------------
|
||||||
|
static kiss_fftr_cfg s_cfg = 0;
|
||||||
|
static int s_cfg_bytes = 0;
|
||||||
|
static kiss_fft_scalar*s_in_q15 = 0; // длина FFT_N
|
||||||
|
static kiss_fft_cpx* s_out_cpx = 0; // длина FFT_RESULT_L
|
||||||
|
|
||||||
|
// Безопасный пресдвиг входа (uniform scaling) перед прямым БПФ, чтобы не словить переполнение.
|
||||||
|
// Для типичных окон/сигналов N=1024..4096 хорошо работает 4..6 бит. Подстройте при необходимости.
|
||||||
|
#ifndef KISS_FFT_PRESHIFT_BITS
|
||||||
|
#define KISS_FFT_PRESHIFT_BITS 5
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ---------------- Вспомогательные функции ----------------
|
||||||
|
static inline int16_t sat16(int32_t x){
|
||||||
|
if (x > 32767) return 32767;
|
||||||
|
if (x < -32768) return -32768;
|
||||||
|
return (int16_t)x;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void prescale_block_q15(kiss_fft_scalar* x, int n, int k){
|
||||||
|
if (k <= 0) return;
|
||||||
|
for (int i = 0; i < n; ++i) x[i] = (kiss_fft_scalar)( ((int32_t)x[i]) >> k );
|
||||||
|
}
|
||||||
|
|
||||||
|
// Целочисленный sqrt для 32-бит (возвращает floor(sqrt(x)))
|
||||||
|
static uint32_t isqrt_u32(uint64_t x){
|
||||||
|
// Быстрый целочисленный sqrt (битовый Ньютона-Рафсона для 64->32)
|
||||||
|
uint64_t op = x;
|
||||||
|
uint64_t res = 0;
|
||||||
|
uint64_t one = (uint64_t)1 << 62; // самая высокая чётная степень 4
|
||||||
|
|
||||||
|
while (one > op) one >>= 2;
|
||||||
|
while (one != 0) {
|
||||||
|
if (op >= res + one) {
|
||||||
|
op -= res + one;
|
||||||
|
res = (res >> 1) + one;
|
||||||
|
} else {
|
||||||
|
res >>= 1;
|
||||||
|
}
|
||||||
|
one >>= 2;
|
||||||
|
}
|
||||||
|
return (uint32_t)res;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Быстрый целочисленный |complex|: sqrt(r^2 + i^2) с защитой от переполнения.
|
||||||
|
// Вход: r,i в Q15 (int16). Возврат: модуль в "сырых" единицах Q15 (int16 амплитуда).
|
||||||
|
static uint32_t cpx_abs_q15(int16_t r, int16_t i){
|
||||||
|
int32_t rr = (int32_t)r;
|
||||||
|
int32_t ii = (int32_t)i;
|
||||||
|
uint64_t mag2 = (uint64_t)(rr*rr) + (uint64_t)(ii*ii); // до ~2*(32767^2) — влезает в 32, но берём 64 для запаса
|
||||||
|
return isqrt_u32(mag2);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ЦОДИК (CORDIC) для atan2 в фиксированной точности.
|
||||||
|
// Возвращает угол в формате Q15, диапазон [-32768 .. +32767] ≈ [-π .. +π].
|
||||||
|
// Источник: классическая вращательная CORDIC, таблица арктангенсов в Q15 (углы).
|
||||||
|
static int16_t cordic_atan2_q15(int16_t y, int16_t x){
|
||||||
|
// Масштабирующий коэффициент CORDIC (K ≈ 0.607252) нам не нужен для угла.
|
||||||
|
// Представим x,y как 32-бит для предотвращения переполнений при сдвигах.
|
||||||
|
int32_t X = x;
|
||||||
|
int32_t Y = y;
|
||||||
|
int32_t Z = 0;
|
||||||
|
|
||||||
|
// Нормализация квадранта
|
||||||
|
if (X < 0) {
|
||||||
|
X = -X; Y = -Y;
|
||||||
|
Z = (int32_t)32768; // +π в Q15 (переполнится до -32768, мы это учтём позже как unsigned фазу)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Таблица arctan(2^-i) в Q15 (угол), i=0..14 (достаточно для 16-бит точности)
|
||||||
|
static const int16_t atan_table_q15[15] = {
|
||||||
|
25735, // atan(1) ≈ 0.785398163 -> 0.785398163/π * 32768 ≈ 25735
|
||||||
|
15192, // atan(1/2)
|
||||||
|
8027, // atan(1/4)
|
||||||
|
4074, // atan(1/8)
|
||||||
|
2045, // ...
|
||||||
|
1023,
|
||||||
|
512,
|
||||||
|
256,
|
||||||
|
128,
|
||||||
|
64,
|
||||||
|
32,
|
||||||
|
16,
|
||||||
|
8,
|
||||||
|
4,
|
||||||
|
2
|
||||||
|
};
|
||||||
|
|
||||||
|
for (int i = 0; i < 15; ++i){
|
||||||
|
int32_t d = (Y >= 0) ? 1 : -1;
|
||||||
|
int32_t Xn = X - ((d * (Y)) >> i);
|
||||||
|
int32_t Yn = Y + ((d * (X)) >> i);
|
||||||
|
int32_t Zn = Z - d * atan_table_q15[i];
|
||||||
|
X = Xn; Y = Yn; Z = Zn;
|
||||||
|
}
|
||||||
|
// Возврат угла в Q15, диапазон примерно [-π..+π]
|
||||||
|
return (int16_t)Z;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Преобразование фазы в беззнаковый UQ16: 0..65535 соответствует -π..+π.
|
||||||
|
static inline uint16_t phase_q15_to_uq16(int16_t ph_q15){
|
||||||
|
return (uint16_t)((int32_t)ph_q15 + 32768);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------- Публичные функции ----------------
|
||||||
|
int kiss_fft_init(uint32_t* internals_mem,
|
||||||
|
kiss_fft_scalar* in_buf_q15,
|
||||||
|
kiss_fft_cpx* out_buf_cpx)
|
||||||
|
{
|
||||||
|
if (!internals_mem || !in_buf_q15 || !out_buf_cpx) return KISS_FFT_FW_ERR_ALLOC;
|
||||||
|
|
||||||
|
// Узнаём требуемый объём для конфигурации (twiddle и т.д.)
|
||||||
|
int needed = 0;
|
||||||
|
kiss_fftr_alloc(FFT_N, 0, NULL, &needed);
|
||||||
|
s_cfg_bytes = (int)(KISS_FFT_INTERNALS_SIZE_WORDS * sizeof(uint32_t));
|
||||||
|
if (needed <= 0 || needed > s_cfg_bytes) {
|
||||||
|
s_cfg = 0;
|
||||||
|
s_in_q15 = 0;
|
||||||
|
s_out_cpx = 0;
|
||||||
|
return KISS_FFT_FW_ERR_CFGSIZE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Инициализация в заранее выделенной памяти (без malloc)
|
||||||
|
s_cfg = kiss_fftr_alloc(FFT_N, 0, (void*)internals_mem, &s_cfg_bytes);
|
||||||
|
if (!s_cfg) return KISS_FFT_FW_ERR_ALLOC;
|
||||||
|
|
||||||
|
s_in_q15 = in_buf_q15;
|
||||||
|
s_out_cpx = out_buf_cpx;
|
||||||
|
|
||||||
|
// Обнулим входной буфер на всякий случай
|
||||||
|
memset(s_in_q15, 0, sizeof(kiss_fft_scalar)*FFT_N);
|
||||||
|
return KISS_FFT_FW_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
int kiss_fft_process_data(const uint32_t* input_data,
|
||||||
|
uint32_t input_data_size,
|
||||||
|
uint32_t* fft_result_ampl,
|
||||||
|
uint32_t* fft_result_phase)
|
||||||
|
{
|
||||||
|
if (!s_cfg || !s_in_q15 || !s_out_cpx) return KISS_FFT_FW_ERR_STATE;
|
||||||
|
if (!input_data || !fft_result_ampl || !fft_result_phase) return KISS_FFT_FW_ERR_ALLOC;
|
||||||
|
|
||||||
|
// 1) Подготовка входа: копируем <=FFT_N с преобразованием в Q15 (берём младшие 16 бит как s16)
|
||||||
|
const uint32_t ncopy = (input_data_size < FFT_N) ? input_data_size : FFT_N;
|
||||||
|
for (uint32_t i = 0; i < ncopy; ++i){
|
||||||
|
int16_t s16 = (int16_t)(input_data[i] & 0xFFFFu); // ожидаем уже центрированный s16
|
||||||
|
s_in_q15[i] = s16;
|
||||||
|
}
|
||||||
|
// Остальное — нулями
|
||||||
|
for (uint32_t i = ncopy; i < FFT_N; ++i) s_in_q15[i] = 0;
|
||||||
|
|
||||||
|
// (опционально вы можете умножить на окно здесь — Ханна/Хэмминга — в Q15)
|
||||||
|
|
||||||
|
// 2) Пресдвиг для защиты от переполнения
|
||||||
|
prescale_block_q15(s_in_q15, FFT_N, KISS_FFT_PRESHIFT_BITS);
|
||||||
|
|
||||||
|
// 3) FFT (real-to-complex)
|
||||||
|
kiss_fftr(s_cfg, s_in_q15, s_out_cpx);
|
||||||
|
|
||||||
|
// 4) Постобработка: амплитуда и фаза
|
||||||
|
// Нормировка: прямое БПФ у KissFFT НЕ делит на N. Мы делали пресдвиг на 2^P.
|
||||||
|
// Приведём амплитуду примерно к шкале входа Q15 и разделим на N:
|
||||||
|
// amp ≈ (|X[k]| << P) / N
|
||||||
|
// Результат вернём как UQ15 в uint32_t (0..32767), но тип — uint32_t на будущее.
|
||||||
|
// Фаза — UQ16, 0..65535 соответствует (-π..+π).
|
||||||
|
const uint32_t N = FFT_N;
|
||||||
|
const uint32_t P = KISS_FFT_PRESHIFT_BITS;
|
||||||
|
|
||||||
|
for (uint32_t k = 0; k < FFT_RESULT_L; ++k){
|
||||||
|
int16_t r = s_out_cpx[k].r;
|
||||||
|
int16_t i = s_out_cpx[k].i;
|
||||||
|
// Для DC и Найквиста мнимая часть ноль, но формула общая.
|
||||||
|
|
||||||
|
// Модуль
|
||||||
|
uint32_t mag_q15_raw = cpx_abs_q15(r, i); // ~Q15
|
||||||
|
uint64_t num = ((uint64_t)mag_q15_raw) << P; // компенсируем пресдвиг
|
||||||
|
uint32_t amp_uq15 = (uint32_t)(num / N); // делим на N (прямое БПФ)
|
||||||
|
|
||||||
|
if (amp_uq15 > 32767u) amp_uq15 = 32767u; // насыщение в UQ15-«видимой» шкале
|
||||||
|
fft_result_ampl[k] = amp_uq15;
|
||||||
|
|
||||||
|
// Фаза
|
||||||
|
int16_t ph_q15 = cordic_atan2_q15(i, r); // [-32768 .. +32767] ~ [-π .. +π]
|
||||||
|
fft_result_phase[k] = (uint32_t)phase_q15_to_uq16(ph_q15);
|
||||||
|
}
|
||||||
|
|
||||||
|
return KISS_FFT_FW_OK;
|
||||||
|
}
|
||||||
54
src/kiss_fft_framework.h
Normal file
54
src/kiss_fft_framework.h
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <stdint.h>
|
||||||
|
#include "kiss_fftr.h" // из KissFFT; собирайте с -DFIXED_POINT=16 (Q15)
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// --- Настройка размера FFT ---
|
||||||
|
#ifndef FFT_N
|
||||||
|
#define FFT_N 1024 // степень двойки
|
||||||
|
#endif
|
||||||
|
#define FFT_RESULT_L ((FFT_N/2)+1) // число бинов real-FFT (включая DC и Найквист)
|
||||||
|
|
||||||
|
// Сколько памяти (в 32-битных словах) нужно заранее выделить под внутренности KissFFT.
|
||||||
|
// Значение подобрано с запасом для типичных N до 4096–8192.
|
||||||
|
// Если окажется мало, kiss_fft_init() вернёт <0.
|
||||||
|
#define KISS_FFT_INTERNALS_SIZE_WORDS (32768u/4u) // 32 KiB в словах
|
||||||
|
|
||||||
|
// Код возврата
|
||||||
|
enum {
|
||||||
|
KISS_FFT_FW_OK = 0,
|
||||||
|
KISS_FFT_FW_ERR_CFGSIZE = -1,
|
||||||
|
KISS_FFT_FW_ERR_ALLOC = -2,
|
||||||
|
KISS_FFT_FW_ERR_STATE = -3,
|
||||||
|
};
|
||||||
|
|
||||||
|
// Инициализация фреймворка.
|
||||||
|
// internals_mem — указатель на заранее выделенный массив uint32_t длиной KISS_FFT_INTERNALS_SIZE_WORDS;
|
||||||
|
// in_buf_q15 — ваш буфер входных данных Q15 длиной FFT_N (kiss_fft_scalar* == int16_t при FIXED_POINT=16);
|
||||||
|
// out_buf_cpx — ваш буфер комплексного спектра длиной FFT_RESULT_L (kiss_fft_cpx*).
|
||||||
|
//
|
||||||
|
// Возвращает 0 при успехе.
|
||||||
|
int kiss_fft_init(uint32_t* internals_mem,
|
||||||
|
kiss_fft_scalar* in_buf_q15,
|
||||||
|
kiss_fft_cpx* out_buf_cpx);
|
||||||
|
|
||||||
|
// Обработка данных (прямое БПФ).
|
||||||
|
// input_data — входной массив длиной input_data_size. Предполагается, что в МЛС 16 бит лежит s16 семпл
|
||||||
|
// (±32768 => ±1.0 в Q15). Остальная часть слова игнорируется.
|
||||||
|
// input_data_size — может быть < FFT_N; недостающее заполняется нулями.
|
||||||
|
// fft_result_ampl — выходной массив амплитуд длиной FFT_RESULT_L (uint32_t, шкала UQ15, см. примечание ниже).
|
||||||
|
// fft_result_phase — выходной массив фаз длиной FFT_RESULT_L (uint32_t, угол в UQ16: 0..65535 соответствует -π..+π).
|
||||||
|
//
|
||||||
|
// Нормировка: амплитуды масштабируются примерно к входной шкале Q15 и делятся на FFT_N,
|
||||||
|
// при этом поправка на предсдвиг учтена. DC/Найквист корректно считаются.
|
||||||
|
int kiss_fft_process_data(const uint32_t* input_data,
|
||||||
|
uint32_t input_data_size,
|
||||||
|
uint32_t* fft_result_ampl,
|
||||||
|
uint32_t* fft_result_phase);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
@ -34,7 +34,9 @@ volatile uint32_t TX_buff_shadow[TX_BUFF_SIZE] __attribute__((section(".sdram_no
|
|||||||
//volatile uint32_t RAW_data_buff[RAW_DATA_BUFF_SIZE] __attribute__((section(".sdram_noinit")));
|
//volatile uint32_t RAW_data_buff[RAW_DATA_BUFF_SIZE] __attribute__((section(".sdram_noinit")));
|
||||||
volatile uint32_t AVG_buff[AVG_BUFF_SIZE] __attribute__((section(".sdram_noinit")));
|
volatile uint32_t AVG_buff[AVG_BUFF_SIZE] __attribute__((section(".sdram_noinit")));
|
||||||
//volatile uint32_t AVG_buff_B[AVG_BUFF_SIZE] __attribute__((section(".sdram_noinit")));
|
//volatile uint32_t AVG_buff_B[AVG_BUFF_SIZE] __attribute__((section(".sdram_noinit")));
|
||||||
//volatile uint32_t FFT_buff[FFT_BUFF_SIZE] __attribute__((section(".sdram_noinit")));
|
volatile uint32_t FFT_buff[FFT_BUFF_SIZE] __attribute__((section(".sdram_noinit")));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** Размер буфера на прием данных по SPORT0 в 32-битных словах */
|
/** Размер буфера на прием данных по SPORT0 в 32-битных словах */
|
||||||
|
|||||||
@ -87,7 +87,7 @@ extern volatile uint32_t TX_buff_shadow[]; //size: TX_BUFF_SIZE
|
|||||||
//extern volatile uint32_t RAW_data_buff[]; //size: RAW_DATA_BUFF_SIZE
|
//extern volatile uint32_t RAW_data_buff[]; //size: RAW_DATA_BUFF_SIZE
|
||||||
extern volatile uint32_t AVG_buff[]; //size: AVG_BUFF_SIZE
|
extern volatile uint32_t AVG_buff[]; //size: AVG_BUFF_SIZE
|
||||||
//extern volatile uint32_t AVG_buff_B[]; //size: AVG_BUFF_SIZE
|
//extern volatile uint32_t AVG_buff_B[]; //size: AVG_BUFF_SIZE
|
||||||
//extern volatile uint32_t FFT_buff[]; //size: FFT_BUFF_SIZE
|
extern volatile uint32_t FFT_buff[]; //size: FFT_BUFF_SIZE
|
||||||
|
|
||||||
|
|
||||||
volatile uint32_t TX_marker[10] = {0xFE00000F,0xFE0000F0, 0xFE000F00, 0xFE00F000, 0xFE0F0000,0xFEF00000, 0xFE0F0000,0xFE00F000, 0xFE000F00, 0xFE0000F0};
|
volatile uint32_t TX_marker[10] = {0xFE00000F,0xFE0000F0, 0xFE000F00, 0xFE00F000, 0xFE0F0000,0xFEF00000, 0xFE0F0000,0xFE00F000, 0xFE000F00, 0xFE0000F0};
|
||||||
@ -102,6 +102,7 @@ volatile struct dataprocessor_dypedef{
|
|||||||
uint32_t TX_buff_I;
|
uint32_t TX_buff_I;
|
||||||
uint8_t TX_buff_state; //0 --blocked, 1 -- filling, 2 -- ready to send
|
uint8_t TX_buff_state; //0 --blocked, 1 -- filling, 2 -- ready to send
|
||||||
uint32_t AVG_buff_I;
|
uint32_t AVG_buff_I;
|
||||||
|
uint32_t AVG_buff_I_last;
|
||||||
uint8_t AVG_state;
|
uint8_t AVG_state;
|
||||||
uint8_t AVG_buff_state;
|
uint8_t AVG_buff_state;
|
||||||
uint8_t AVG_buff_active;
|
uint8_t AVG_buff_active;
|
||||||
@ -138,6 +139,22 @@ uint8_t LFSM_started = 0;
|
|||||||
|
|
||||||
uint8_t DY_SYN_2_value = 0;
|
uint8_t DY_SYN_2_value = 0;
|
||||||
uint8_t DY_SYN_2_value_prev = 0;
|
uint8_t DY_SYN_2_value_prev = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
uint32_t dataprocessor(uint32_t* AVG_buff, uint32_t AVG_buff_I_max, uint32_t* FFT_buff, uint8_t mode){
|
||||||
|
uint32_t FFT_buff_I = 0;
|
||||||
|
if (mode == TRANSPARENT){
|
||||||
|
uint32_t i = 0;
|
||||||
|
while ((FFT_buff_I < FFT_BUFF_SIZE) && (i < AVG_BUFF_SIZE)){
|
||||||
|
FFT_buff[FFT_buff_I++] = AVG_buff[i++];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return FFT_buff_I;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/***************************************************************************//**
|
/***************************************************************************//**
|
||||||
@brief Обработка принятого массива данных АЦП/DIN.
|
@brief Обработка принятого массива данных АЦП/DIN.
|
||||||
|
|
||||||
@ -235,19 +252,29 @@ uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) {
|
|||||||
|
|
||||||
if ((DY_SYN_2_value == 1)&& (DY_SYN_2_value_prev == 0)){ //new cycle started
|
if ((DY_SYN_2_value == 1)&& (DY_SYN_2_value_prev == 0)){ //new cycle started
|
||||||
//data[data_I] = 0xB00000000;
|
//data[data_I] = 0xB00000000;
|
||||||
Proc_state.average_N ++;
|
|
||||||
Proc_state.AVG_buff_I = 0;
|
Proc_state.AVG_buff_I = 0;
|
||||||
Proc_state.LFSM_state = CYCLE_STARTED;
|
Proc_state.LFSM_state = CYCLE_STARTED;
|
||||||
if (Proc_state.average_N >= Proc_state.average_N_max){ //whole average ended
|
if (Proc_state.average_N >= Proc_state.average_N_max){ //whole average ended
|
||||||
//Proc_state.average_N = 0;
|
//Proc_state.average_N = 0;
|
||||||
//if (1){
|
//if (1){
|
||||||
Proc_state.AVG_state = FULLY_COMPLETED;
|
Proc_state.AVG_state = FULLY_COMPLETED;
|
||||||
|
|
||||||
|
|
||||||
|
for(uint32_t i = 0; i < FFT_BUFF_SIZE; i++){
|
||||||
|
FFT_buff[i] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t FFT_res_size = dataprocessor(AVG_buff, Proc_state.AVG_buff_I_last, FFT_buff, TRANSPARENT);
|
||||||
|
|
||||||
|
|
||||||
//averaging completed => copy average results to TX_buff and start avg again
|
//averaging completed => copy average results to TX_buff and start avg again
|
||||||
TX_buff_I = 0;
|
TX_buff_I = 0;
|
||||||
// for (uint32_t i = 0; ((TX_buff_I < TX_BUFF_SIZE) && (i < AVG_BUFF_SIZE)); i++){
|
// for (uint32_t i = 0; ((TX_buff_I < TX_BUFF_SIZE) && (i < AVG_BUFF_SIZE)); i++){
|
||||||
uint32_t i = 0;
|
uint32_t i = 0;
|
||||||
while ((TX_buff_I < TX_BUFF_SIZE) && (i < AVG_BUFF_SIZE)){
|
// while ((TX_buff_I < TX_BUFF_SIZE) && (i < AVG_BUFF_SIZE)){
|
||||||
TX_buff[TX_buff_I++] = AVG_buff[i++];
|
// TX_buff[TX_buff_I++] = AVG_buff[i++];
|
||||||
|
while ((TX_buff_I < TX_BUFF_SIZE) && (i < FFT_BUFF_SIZE)){
|
||||||
|
TX_buff[TX_buff_I++] = FFT_buff[i++];
|
||||||
//TX_buff[TX_buff_I++] = 0xB0000000 + Proc_state.average_N;
|
//TX_buff[TX_buff_I++] = 0xB0000000 + Proc_state.average_N;
|
||||||
//TX_buff[TX_buff_I++] = 0xC1000000;
|
//TX_buff[TX_buff_I++] = 0xC1000000;
|
||||||
}
|
}
|
||||||
@ -255,12 +282,11 @@ uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) {
|
|||||||
|
|
||||||
//clear AVG_buff:
|
//clear AVG_buff:
|
||||||
for (uint32_t i = 0; i < AVG_BUFF_SIZE; i++ ){
|
for (uint32_t i = 0; i < AVG_BUFF_SIZE; i++ ){
|
||||||
AVG_buff[i] = 0xC2000000;
|
AVG_buff[i] = 0xE0000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
TX_buff_state = TODO_TX;
|
TX_buff_state = TODO_TX;
|
||||||
//hdma_send_req_start(TX_buff, TX_BUFF_SIZE, 0);
|
|
||||||
//return size;
|
|
||||||
|
|
||||||
// for (uint32_t i = 0; i < TX_BUFF_SIZE; ++i){
|
// for (uint32_t i = 0; i < TX_BUFF_SIZE; ++i){
|
||||||
// TX_buff_shadow[i] = TX_buff[i];
|
// TX_buff_shadow[i] = TX_buff[i];
|
||||||
@ -274,8 +300,12 @@ uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) {
|
|||||||
// TX_buff_state = TX_DONE;
|
// TX_buff_state = TX_DONE;
|
||||||
Proc_state.average_N = 0;
|
Proc_state.average_N = 0;
|
||||||
|
|
||||||
|
//hdma_send_req_start(TX_buff, TX_buff_I, 0);
|
||||||
|
//return data_I;
|
||||||
|
|
||||||
}else{ //
|
}else{ //
|
||||||
Proc_state.AVG_state = STEP_RUNNING;
|
Proc_state.AVG_state = STEP_RUNNING;
|
||||||
|
Proc_state.average_N ++;
|
||||||
//Proc_state.AVG_buff_I = 0;
|
//Proc_state.AVG_buff_I = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -286,16 +316,24 @@ uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) {
|
|||||||
// if (Proc_state.LFSM_state == CYCLE_STARTED){
|
// if (Proc_state.LFSM_state == CYCLE_STARTED){
|
||||||
if (1){
|
if (1){
|
||||||
// AVG_buff[Proc_state.AVG_buff_I++] = 0xC0000000 | (0x00FFFFFF & (AVG_buff[Proc_state.AVG_buff_I] + val));
|
// AVG_buff[Proc_state.AVG_buff_I++] = 0xC0000000 | (0x00FFFFFF & (AVG_buff[Proc_state.AVG_buff_I] + val));
|
||||||
AVG_buff[Proc_state.AVG_buff_I] = 0xC0000000 | ((val/10 + AVG_buff[Proc_state.AVG_buff_I]) & 0xFFFFFF);
|
AVG_buff[Proc_state.AVG_buff_I] = 0xC0000000 | ((val/Proc_state.average_N_max + AVG_buff[Proc_state.AVG_buff_I]) & 0xFFFFFF);
|
||||||
// AVG_buff[Proc_state.AVG_buff_I] = 0xC0000000 | some_i++;
|
// AVG_buff[Proc_state.AVG_buff_I] = 0xC0000000 | some_i++;
|
||||||
// AVG_buff[Proc_state.AVG_buff_I] = 0xC0000000 | val;
|
// AVG_buff[Proc_state.AVG_buff_I] = 0xC0000000 | val;
|
||||||
//AVG_buff[Proc_state.AVG_buff_I++] = 0xC0000000;
|
//AVG_buff[Proc_state.AVG_buff_I++] = 0xC0000000;
|
||||||
|
Proc_state.AVG_buff_I_last = Proc_state.AVG_buff_I;
|
||||||
Proc_state.AVG_buff_I++;
|
Proc_state.AVG_buff_I++;
|
||||||
if (Proc_state.AVG_buff_I >= AVG_BUFF_SIZE){
|
if (Proc_state.AVG_buff_I >= AVG_BUFF_SIZE){
|
||||||
Proc_state.AVG_state = STEP_COMPLETED;
|
Proc_state.AVG_state = STEP_COMPLETED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
AVG_buff[Proc_state.AVG_buff_I] = 0xC1000000;
|
||||||
|
Proc_state.AVG_buff_I_last = Proc_state.AVG_buff_I;
|
||||||
|
Proc_state.AVG_buff_I++;
|
||||||
|
if (Proc_state.AVG_buff_I >= AVG_BUFF_SIZE){
|
||||||
|
Proc_state.AVG_state = STEP_COMPLETED;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -585,7 +623,7 @@ void usr_cmd_process(t_l502_bf_cmd *cmd) {
|
|||||||
Proc_state.mode = AVG;
|
Proc_state.mode = AVG;
|
||||||
Proc_state.mode_next = AVG;
|
Proc_state.mode_next = AVG;
|
||||||
Proc_state.LFSM_state = CYCLE_UNKNOWN;
|
Proc_state.LFSM_state = CYCLE_UNKNOWN;
|
||||||
Proc_state.average_N_max = 10;
|
Proc_state.average_N_max = 1;
|
||||||
// Proc_state.average_N_max = cmd->param;
|
// Proc_state.average_N_max = cmd->param;
|
||||||
Proc_state.average_N = 0;
|
Proc_state.average_N = 0;
|
||||||
Proc_state.TX_buff_I = 0;
|
Proc_state.TX_buff_I = 0;
|
||||||
@ -653,6 +691,20 @@ void usr_cmd_process(t_l502_bf_cmd *cmd) {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
case 0x800C:{// setup kiss_FFT
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// l502_cmd_done(cmd-> param, NULL, 0);
|
||||||
|
l502_cmd_done(TX_buff_I, NULL, 0);
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
case 0x8010:{ //flush HDMA TX buffer
|
case 0x8010:{ //flush HDMA TX buffer
|
||||||
|
|||||||
@ -11,8 +11,10 @@
|
|||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
//#define TX_BUFF_SIZE 100000
|
//#define TX_BUFF_SIZE 100000
|
||||||
#define RAW_DATA_BUFF_SIZE 1000
|
#define RAW_DATA_BUFF_SIZE 1000
|
||||||
#define AVG_BUFF_SIZE 1000
|
#define AVG_BUFF_SIZE 2000
|
||||||
#define FFT_BUFF_SIZE 1000
|
#define FFT_BUFF_SIZE 2000
|
||||||
|
|
||||||
|
#define FFT_N 1024
|
||||||
|
|
||||||
//#define L502_SPORT_IN_BUF_SIZE (2048*1024)
|
//#define L502_SPORT_IN_BUF_SIZE (2048*1024)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user