From c1d0f32e6b92067d3748cdb378bfba317cd28eca Mon Sep 17 00:00:00 2001 From: Theodor Chikin Date: Tue, 16 Sep 2025 17:10:21 +0300 Subject: [PATCH] implemented FLOOD mode for speed measurement of HMDA. But now HDMA streams fails in any mode... --- build/release/bin/l502-BFfirmware0.elf | Bin 85081 -> 85470 bytes build/release/bin/l502-BFfirmware0.ldr | Bin 31872 -> 32416 bytes build/release/lst/l502_cmd.lst | 264 +- build/release/lst/l502_stream.lst | 422 +- build/release/lst/l502_user_process.lst | 10091 +++++++++++----------- build/release/objs/l502_stream.o | Bin 12686328 -> 13406332 bytes build/release/objs/l502_user_process.o | Bin 16060 -> 16572 bytes src/l502_user_process.c | 18 + src/l502_user_process.h | 3 +- 9 files changed, 5505 insertions(+), 5293 deletions(-) diff --git a/build/release/bin/l502-BFfirmware0.elf b/build/release/bin/l502-BFfirmware0.elf index 781540e0e832b5c11bbac5c0c5bfb8a178de470c..57a984ac62f86ca862c8e4ed972ed28d46e1e84c 100755 GIT binary patch delta 7201 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 delta 6807 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 SHSYLFQ}_nqcy$qPHT^Gs(kbBp diff --git a/build/release/bin/l502-BFfirmware0.ldr b/build/release/bin/l502-BFfirmware0.ldr index 884e6233d0c5a155070b9156917c978373bc9c5d..c2b7282017cf4cc0257ccffd2f203d2348db79c6 100644 GIT binary patch delta 1618 zcmZ{jT}&KR6vxjU7Pw3YI%}y6UtwDswMALD_Co~B3JU^)fUQ^|A!FH6TAJEuKNO9- z&_de2*vYMlxF#;vL}Ef>yO=ap3?O0)M5`w1gNeOa%VI&PNncv6;~BP;d2y53nR9;U zoO|y7-V?Y*LU%|CX{Z|l2$_Jt({G+j*`WCs&@l!Ouv`Fy>>q-F-CjgKZsRW@x7&Xr z|I)?}Ah+AUBcHJGy~u60pUh#vSGIr-46xht$R};Q6S>{Kj{IvI--q08UqgP$#&;uM zvHgVnh5?st0X__{+fn3GHogbB-JV50ZR738?RGEn83=jrDhwHD2h7ntfW!a0E60c< zJYV^@L?*(~>W`Ai#qe9t|3rx=yhr~ujx!T zoOp65Jm0yUN|J+n4&5eMy!i0pRX0j%M8I6nW#Q$Y9j1O1e=vGGN0EXjLsKs1KSA@Mv>5+<-|F1IQw$_uydwJ^JdJWOz`7z(Y zd%ntO*OIS5$G%F{An38RACDg3V@I+{6aV$dgCw6P9?e<1=_V*CnoEEuQGP5TpG9T;Yx{^Z&goZFc$~1__;*etQyp(@}6(VjHe&KQ(mZ3>Q47!ltYB_9L&@2 zDc2M^J&iTs7gZ*;)vOA?R3%e0BS-%L#fhFm-SScTNO~-TDvzco6j;ifMP(B71phtb zX)L`;+$?FvcY~OL7GXjoe(%Jm9G?oo#$OPluzhoewOs*QGKFb61u4~pR2ql!#*18M zIv$FKt!rE}66DV_KVZk$F5`5oYV=HcjuE9k^(3qAzrvis6IFY&WWBAbTn>T~O-p1_ z$LJvSjSfpAJ+pBzHW(PZTsB(Poiv@5%RrxEmxeX{#B3_;;@#r?K9|v5LuFH~#a81x z6l~`qF&B6K>Ka(XEZ$wyXq;vr;!9RKBPwGP#^F0t&g*fO!UwOYN8on?(ivr&g_ z;Z?X->XW4FIk9cr$+z;Y%YCtJ;^?h=mfXjaX75CN0g9&&n9dpJJzQ&+>@u_F%?3u|?TfFX@2sX5__%Z|^oS2~{|g zM7QcFB9K9srjkMuOY+rtpKGQ&jWf+EkB!ic5|5Y!r(u-|WSEgB7ChJxh(mdeOT)W$ tA(d&m8eF-k)*)L*obJYv#}P3j6N_f#`#CeBhqrYVNnF<+<_F(U{{xfe8qNR! delta 1091 zcmZuwZD?Cn7=F*q(wyAhq&IWjZr4iFZqR6Oi3gdjq?)!%7yIGTS%y}KR~l<54)(*j zGG-Io$!aOs%V9sZ>_<95yN)uqTcJ#c$p(IGf7Bm-g6t4zDs;Gk;5MDt_qJ~JhZo*^ z5AQke^E~f!-kZNivUiA=B+ktP)Lb?Hb*Hi6Z#p=E<7IZQi?&=dEFuw?;9> zLgv-TBBf_mOQOwuGWHzF@gHNY(#5S@>%2@p;y-uJ6X5UeE)p=i<9|xzu(`YYLl2oV ze|zD3O2XzBuYBwvKJ%?t-9(y_dC&g6=1)VL2^r+KUTYzKGnlS-l1I(%{m)Zr(ZTZv z?-GsY-aJ^j66q3ItC7nh%4-kBS|RNbs9JwSs7)8HZ&2S!s+_*=H;69jR_SDUCnL)M z3r-b!uujqy@n3|QL$PQ6AK|l*%_ECbLG@p({_@0*wcLRRxvugkZyR}-4Dpvon#j}q z*hqc#Q@?}a)%*gYF1fj)B3u==O1JqZBej_rB05DrXrnk8EIU9JKSZ=ARD-5e9z7B5 zXbEeIRFlAcRYY5-SpsuZ`Ba-=aa^fNwPuyxy8%k2=2^{9#aZJD+a11-9lG@ObvI&E zikp#_@Y^Sf@Ymqp3@%^9=)mX{?DBvpK*!EnB=U)D^Dbe*MsY7vBmRy!(4-2n&9@b; z)li(qHNz!esaayo(Q%^mZklAzp7@6Oaue~PI$4i*$T?8TTe7S$OH+jf zDJ@+ZTXH~gHaq)Odt0IXZTByAK?eFY_T_@6Pb_VMVID9VL{$@&zf*fqr!%dfn1EPz z*x3u$Rd|T?83vm}(r@{bhwC$&@qV3*>X7>&)F{3NA3cqPWL}y-!~Ffd$>T|%K@)cd zZ|(8-(|we~3{Am#m}wAY2bHJlRs9OfBJ;5j=yNQP8xK9k(&#QIZCl#W8VQ@1*nR&r z4%qyC3$|+w8I%Q>0FH0D4n-G0L7!~7F8}&YmAa9gMd<@Z4@$x-egL!RzEQu{fIHNS zgf_y(L3<2uM{K04d)9`TssSUh?`YD;X)1tCd(b$V%Pj4%3wkjKPBVZ)c`Uj|Sd_d)E)4CFg;#r>|>3}D#($q>6NkP03>|6auj;>TQO;>a4vvZA2qCfJb jKai=2&1IY0LiV&;CGSnEqEz>*Rhlz{M_MF4J*xf#67QMb diff --git a/build/release/lst/l502_cmd.lst b/build/release/lst/l502_cmd.lst index 100b211..05ea61a 100644 --- a/build/release/lst/l502_cmd.lst +++ b/build/release/lst/l502_cmd.lst @@ -1,4 +1,4 @@ -BFIN GAS /tmp/ccJMNzjk.s page 1 +BFIN GAS /tmp/ccKg9Jka.s page 1 1 .file "src/l502_cmd.c"; @@ -58,7 +58,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 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); 38:src/l502_cmd.c **** static void f_cmd_async_out(t_l502_bf_cmd *cmd); - BFIN GAS /tmp/ccJMNzjk.s page 2 + BFIN GAS /tmp/ccKg9Jka.s page 2 39:src/l502_cmd.c **** static void f_cmd_fpga_reg_wr(t_l502_bf_cmd *cmd); @@ -118,7 +118,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 93:src/l502_cmd.c **** 94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE; 95:src/l502_cmd.c **** } - BFIN GAS /tmp/ccJMNzjk.s page 3 + BFIN GAS /tmp/ccKg9Jka.s page 3 96:src/l502_cmd.c **** @@ -178,7 +178,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 34 .LFE19: 35 .size _l502_cmd_set_req, .-_l502_cmd_set_req 36 0026 0000 .align 4 - BFIN GAS /tmp/ccJMNzjk.s page 4 + BFIN GAS /tmp/ccKg9Jka.s page 4 37 .global _l502_cmd_done; @@ -238,7 +238,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 83 _f_cmd_set_param: 84 .LFB30: 131:src/l502_cmd.c **** - BFIN GAS /tmp/ccJMNzjk.s page 5 + BFIN GAS /tmp/ccKg9Jka.s page 5 132:src/l502_cmd.c **** static void f_cmd_streams_start(t_l502_bf_cmd *cmd) { @@ -298,7 +298,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 186:src/l502_cmd.c **** fpga_reg_write(cmd->param, cmd->data[0]); 187:src/l502_cmd.c **** } 188:src/l502_cmd.c **** l502_cmd_done(err, NULL, 0); - BFIN GAS /tmp/ccJMNzjk.s page 6 + BFIN GAS /tmp/ccKg9Jka.s page 6 189:src/l502_cmd.c **** } @@ -358,7 +358,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 111 0086 10E60202 [P2+2056] = R0; 90:src/l502_cmd.c **** g_state.cmd.data_size = size; 112 .loc 1 90 0 - BFIN GAS /tmp/ccJMNzjk.s page 7 + BFIN GAS /tmp/ccKg9Jka.s page 7 113 008a 0060 R0 = 0 (X); @@ -418,7 +418,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 259:src/l502_cmd.c **** break; 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]); - BFIN GAS /tmp/ccJMNzjk.s page 8 + BFIN GAS /tmp/ccKg9Jka.s page 8 262:src/l502_cmd.c **** break; @@ -478,7 +478,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 287:src/l502_cmd.c **** g_module_info.dac_cbr[ch].offs = *po; 138 .loc 1 287 0 139 00a8 20E1FDFD R0 = -515 (X); - BFIN GAS /tmp/ccJMNzjk.s page 9 + BFIN GAS /tmp/ccKg9Jka.s page 9 140 .LVL11: @@ -538,7 +538,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 191 0044 B8000000 .dd .L11; 192 0048 B8000000 .dd .L11; 193 004c B8000000 .dd .L11; - BFIN GAS /tmp/ccJMNzjk.s page 10 + BFIN GAS /tmp/ccKg9Jka.s page 10 194 0050 B8000000 .dd .L11; @@ -598,7 +598,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 244 00ec 0000 nop; 245 .LBB14: 280:src/l502_cmd.c **** uint32_t ch = cmd->data[0]; - BFIN GAS /tmp/ccJMNzjk.s page 11 + BFIN GAS /tmp/ccKg9Jka.s page 11 246 .loc 1 280 0 @@ -658,7 +658,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 291 .loc 1 271 0 292 012a 82CE108E R7 = R0 << 2 || 292 69A10000 - BFIN GAS /tmp/ccJMNzjk.s page 12 + BFIN GAS /tmp/ccKg9Jka.s page 12 293 R1 = [P5+20] || @@ -718,7 +718,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 340 0186 7C2F jump.s .L9; 341 .L14: 231:src/l502_cmd.c **** if (cmd->data_size < 5) { - BFIN GAS /tmp/ccJMNzjk.s page 13 + BFIN GAS /tmp/ccKg9Jka.s page 13 342 .loc 1 231 0 @@ -778,7 +778,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 390 .LVL23: 391 01de 502F jump.s .L9; 392 .LVL24: - BFIN GAS /tmp/ccJMNzjk.s page 14 + BFIN GAS /tmp/ccKg9Jka.s page 14 393 .L34: @@ -838,7 +838,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 437 .LBB21: 438 .LBB20: 94:src/l502_cmd.c **** g_state.cmd.status = L502_BF_CMD_STATUS_DONE; - BFIN GAS /tmp/ccJMNzjk.s page 15 + BFIN GAS /tmp/ccKg9Jka.s page 15 439 .loc 1 94 0 @@ -898,7 +898,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 485 0254 08E60302 [P1+2060] = R0; 91:src/l502_cmd.c **** if (size && (data!=g_state.cmd.data)) 486 .loc 1 91 0 - BFIN GAS /tmp/ccJMNzjk.s page 16 + BFIN GAS /tmp/ccKg9Jka.s page 16 487 0258 4208 cc =P2==P0; @@ -958,7 +958,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 534 0294 804F R0 <<= 16; 535 0296 000C cc =R0==0; 536 0298 1618 if cc jump .L46; - BFIN GAS /tmp/ccJMNzjk.s page 17 + BFIN GAS /tmp/ccKg9Jka.s page 17 537 029a 20E1FEFD R0 = -514 (X); @@ -1018,7 +1018,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 584 02d2 00E80300 LINK 12; 585 .LCFI10: 158:src/l502_cmd.c **** if (cmd->data_size < 1) { - BFIN GAS /tmp/ccJMNzjk.s page 18 + BFIN GAS /tmp/ccKg9Jka.s page 18 586 .loc 1 158 0 @@ -1078,7 +1078,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 634 .LBE33: 635 .LBE32: 177:src/l502_cmd.c **** } - BFIN GAS /tmp/ccJMNzjk.s page 19 + BFIN GAS /tmp/ccKg9Jka.s page 19 636 .loc 1 177 0 @@ -1138,7 +1138,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 153:src/l502_cmd.c **** l502_cmd_done(stream_disable(cmd->param), NULL, 0); 684 .loc 1 153 0 685 0356 50A0 R0 = [P2+4]; - BFIN GAS /tmp/ccJMNzjk.s page 20 + BFIN GAS /tmp/ccKg9Jka.s page 20 686 .LVL65: @@ -1198,7 +1198,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 731 .loc 1 94 0 732 039a 20E1035A R0 = 23043 (X); 733 039e 50E60104 W [P2+2050] = R0; - BFIN GAS /tmp/ccJMNzjk.s page 21 + BFIN GAS /tmp/ccKg9Jka.s page 21 734 .LBE41: @@ -1258,7 +1258,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 779 .loc 1 137 0 780 03d4 FFE316FE call _streams_stop; 781 .LVL73: - BFIN GAS /tmp/ccJMNzjk.s page 22 + BFIN GAS /tmp/ccKg9Jka.s page 22 782 .LBB48: @@ -1318,7 +1318,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 826 .loc 1 134 0 827 041a 01E80000 UNLINK; 828 041e 1000 rts; - BFIN GAS /tmp/ccJMNzjk.s page 23 + BFIN GAS /tmp/ccKg9Jka.s page 23 829 .LFE20: @@ -1378,7 +1378,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 302:src/l502_cmd.c **** uint32_t ret_size = 0; 303:src/l502_cmd.c **** 304:src/l502_cmd.c **** - BFIN GAS /tmp/ccJMNzjk.s page 24 + BFIN GAS /tmp/ccKg9Jka.s page 24 305:src/l502_cmd.c **** switch (cmd->param) { @@ -1438,7 +1438,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 350:src/l502_cmd.c **** ret_size = 1; 351:src/l502_cmd.c **** break; 352:src/l502_cmd.c **** case L502_BF_PARAM_ADC_FRAME_DELAY: - BFIN GAS /tmp/ccJMNzjk.s page 25 + BFIN GAS /tmp/ccKg9Jka.s page 25 353:src/l502_cmd.c **** cmd->data[0] = g_set.adc_frame_delay; @@ -1498,7 +1498,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 902 .loc 1 383 0 903 0478 01E80000 UNLINK; 904 047c 8504 ( p5:5 ) = [sp++]; - BFIN GAS /tmp/ccJMNzjk.s page 26 + BFIN GAS /tmp/ccKg9Jka.s page 26 905 @@ -1558,7 +1558,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 958 0158 AA050000 .dd .L86; 959 015c 5A040000 .dd .L75; 960 0160 5A040000 .dd .L75; - BFIN GAS /tmp/ccJMNzjk.s page 27 + BFIN GAS /tmp/ccKg9Jka.s page 27 961 0164 5A040000 .dd .L75; @@ -1618,7 +1618,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 1013 .loc 1 308 0 1014 0492 1860 R0 = 3 (X); 1015 0494 68B1 [P5+20] = R0; - BFIN GAS /tmp/ccJMNzjk.s page 28 + BFIN GAS /tmp/ccKg9Jka.s page 28 1016 0496 1360 R3 = 2 (X); @@ -1678,7 +1678,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 1061 .LVL90: 1062 .L77: 312:src/l502_cmd.c **** cmd->data[0] = g_mode; - BFIN GAS /tmp/ccJMNzjk.s page 29 + BFIN GAS /tmp/ccKg9Jka.s page 29 1063 .loc 1 312 0 @@ -1738,7 +1738,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 1112 .loc 1 332 0 1113 051e 20E1FF00 R0 = 255 (X); 331:src/l502_cmd.c **** uint32_t index = cmd->data[0]; - BFIN GAS /tmp/ccJMNzjk.s page 30 + BFIN GAS /tmp/ccKg9Jka.s page 30 1114 .loc 1 331 0 @@ -1798,7 +1798,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 1159 .LVL103: 1160 .L83: 349:src/l502_cmd.c **** cmd->data[0] = g_set.ref_freq; - BFIN GAS /tmp/ccJMNzjk.s page 31 + BFIN GAS /tmp/ccKg9Jka.s page 31 1161 .loc 1 349 0 @@ -1858,7 +1858,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 1211 .LVL112: 1212 05ce 2260 R2 = 4 (X); 1213 05d0 652F jump.s .L91; - BFIN GAS /tmp/ccJMNzjk.s page 32 + BFIN GAS /tmp/ccKg9Jka.s page 32 1214 .LVL113: @@ -1918,7 +1918,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 1263 0606 49E10000 P1.H = _f_cmd_tbl; 1264 060a 09E12002 P1.L = _f_cmd_tbl; 103:src/l502_cmd.c **** usr_cmd_process(cmd); - BFIN GAS /tmp/ccJMNzjk.s page 33 + BFIN GAS /tmp/ccKg9Jka.s page 33 1265 .loc 1 103 0 @@ -1978,7 +1978,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 1318 0676 5B18 if cc jump .L123; 1319 0678 0000 nop; 1320 067a 4AE10000 P2.H = _f_cmd_tbl; - BFIN GAS /tmp/ccJMNzjk.s page 34 + BFIN GAS /tmp/ccKg9Jka.s page 34 1321 067e 0AE12002 P2.L = _f_cmd_tbl; @@ -2038,7 +2038,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 1369 06dc 1032 P2 = R0; 1370 06de 4030 R0 = P0; 115:src/l502_cmd.c **** } - BFIN GAS /tmp/ccJMNzjk.s page 35 + BFIN GAS /tmp/ccKg9Jka.s page 35 1371 .loc 1 115 0 @@ -2098,7 +2098,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 1413 .loc 1 108 0 1414 0712 915A P2 = P1 + P2; 1415 0714 52AC P2 = [P2+4]; - BFIN GAS /tmp/ccJMNzjk.s page 36 + BFIN GAS /tmp/ccKg9Jka.s page 36 1416 0716 5200 jump (P2); @@ -2158,7 +2158,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 1469 .size _l502_cmd_start, .-_l502_cmd_start 1470 .align 4 1471 .global _l502_cmd_check_req; - BFIN GAS /tmp/ccJMNzjk.s page 37 + BFIN GAS /tmp/ccKg9Jka.s page 37 1472 .type _l502_cmd_check_req, STT_FUNC; @@ -2218,7 +2218,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 1518 0792 0000 nop; 1519 0794 50E50004 R0 = W [P2+2048] (X); 1520 0798 C042 R0 = R0.L (Z); - BFIN GAS /tmp/ccJMNzjk.s page 38 + BFIN GAS /tmp/ccKg9Jka.s page 38 1521 079a 09A1 R1 = [P1+16]; @@ -2278,7 +2278,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 1575 0824 0000 nop; 1576 0826 40E50004 R0 = W [P0+2048] (X); 1577 082a C042 R0 = R0.L (Z); - BFIN GAS /tmp/ccJMNzjk.s page 39 + BFIN GAS /tmp/ccKg9Jka.s page 39 1578 082c 11E41600 R1 = [P2+88]; @@ -2338,7 +2338,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 1624 0874 0060 R0 = 0 (X); 1625 .LVL152: 1626 0876 F42F jump.s .L132; - BFIN GAS /tmp/ccJMNzjk.s page 40 + BFIN GAS /tmp/ccKg9Jka.s page 40 1627 .LVL153: @@ -2398,7 +2398,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 1677 08a4 4860 R0 = 9 (X); 1678 .LVL168: 1679 08a6 DC2F jump.s .L132; - BFIN GAS /tmp/ccJMNzjk.s page 41 + BFIN GAS /tmp/ccKg9Jka.s page 41 1680 .LVL169: @@ -2458,7 +2458,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 1734 .size _f_regaddr_k, 24 1735 _f_regaddr_k: 1736 0288 08040000 .long 1032 - BFIN GAS /tmp/ccJMNzjk.s page 42 + BFIN GAS /tmp/ccKg9Jka.s page 42 1737 028c 09040000 .long 1033 @@ -2518,7 +2518,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 1791 .4byte .LCFI1-.LFB16 1792 0039 0E .byte 0xe 1793 003a 04 .uleb128 0x4 - BFIN GAS /tmp/ccJMNzjk.s page 43 + BFIN GAS /tmp/ccKg9Jka.s page 43 1794 003b 8D .byte 0x8d @@ -2578,7 +2578,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 1848 .LEFDE6: 1849 .LSFDE8: 1850 0080 14000000 .4byte .LEFDE8-.LASFDE8 - BFIN GAS /tmp/ccJMNzjk.s page 44 + BFIN GAS /tmp/ccKg9Jka.s page 44 1851 .LASFDE8: @@ -2638,7 +2638,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 1905 00d4 2C000000 .4byte .LFE25-.LFB25 1906 00d8 46 .byte 0x4 1907 .4byte .LCFI11-.LFB25 - BFIN GAS /tmp/ccJMNzjk.s page 45 + BFIN GAS /tmp/ccKg9Jka.s page 45 1908 00d9 0C .byte 0xc @@ -2698,7 +2698,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 1962 0124 8F .byte 0x8f 1963 0125 02 .uleb128 0x2 1964 0126 A3 .byte 0xa3 - BFIN GAS /tmp/ccJMNzjk.s page 46 + BFIN GAS /tmp/ccKg9Jka.s page 46 1965 0127 01 .uleb128 0x1 @@ -2758,7 +2758,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 2019 0171 8F .byte 0x8f 2020 0172 03 .uleb128 0x3 2021 0173 A3 .byte 0xa3 - BFIN GAS /tmp/ccJMNzjk.s page 47 + BFIN GAS /tmp/ccKg9Jka.s page 47 2022 0174 02 .uleb128 0x2 @@ -2818,7 +2818,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 2076 001f 28000000 .4byte .LFB16-.Ltext0 2077 0023 2A000000 .4byte .LCFI1-.Ltext0 2078 0027 0100 .2byte 0x1 - BFIN GAS /tmp/ccJMNzjk.s page 48 + BFIN GAS /tmp/ccKg9Jka.s page 48 2079 0029 5E .byte 0x5e @@ -2878,7 +2878,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 2133 00b9 7E .byte 0x7e 2134 00ba 08 .sleb128 8 2135 00bb 6E000000 .4byte .LCFI5-.Ltext0 - BFIN GAS /tmp/ccJMNzjk.s page 49 + BFIN GAS /tmp/ccKg9Jka.s page 49 2136 00bf E4010000 .4byte .LFE30-.Ltext0 @@ -2938,7 +2938,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 2190 0151 BE000000 .4byte .LVL15-.Ltext0 2191 0155 0100 .2byte 0x1 2192 0157 51 .byte 0x51 - BFIN GAS /tmp/ccJMNzjk.s page 50 + BFIN GAS /tmp/ccKg9Jka.s page 50 2193 0158 F0000000 .4byte .LVL16-.Ltext0 @@ -2998,7 +2998,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 2247 01e9 4C020000 .4byte .LVL31-.Ltext0 2248 01ed 0100 .2byte 0x1 2249 01ef 5A .byte 0x5a - BFIN GAS /tmp/ccJMNzjk.s page 51 + BFIN GAS /tmp/ccKg9Jka.s page 51 2250 01f0 6E020000 .4byte .LVL33-.Ltext0 @@ -3058,7 +3058,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 2304 0280 5A .byte 0x5a 2305 0281 BE020000 .4byte .LVL42-.Ltext0 2306 0285 CC020000 .4byte .LVL45-.Ltext0 - BFIN GAS /tmp/ccJMNzjk.s page 52 + BFIN GAS /tmp/ccKg9Jka.s page 52 2307 0289 0100 .2byte 0x1 @@ -3118,7 +3118,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 2361 031b 0100 .2byte 0x1 2362 031d 5A .byte 0x5a 2363 031e 00000000 .4byte 0x0 - BFIN GAS /tmp/ccJMNzjk.s page 53 + BFIN GAS /tmp/ccKg9Jka.s page 53 2364 0322 00000000 .4byte 0x0 @@ -3178,7 +3178,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 2418 03b5 0200 .2byte 0x2 2419 03b7 7F .byte 0x7f 2420 03b8 08 .sleb128 8 - BFIN GAS /tmp/ccJMNzjk.s page 54 + BFIN GAS /tmp/ccKg9Jka.s page 54 2421 03b9 00000000 .4byte 0x0 @@ -3238,7 +3238,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 2475 044b 0100 .2byte 0x1 2476 044d 5E .byte 0x5e 2477 044e FC030000 .4byte .LCFI15-.Ltext0 - BFIN GAS /tmp/ccJMNzjk.s page 55 + BFIN GAS /tmp/ccKg9Jka.s page 55 2478 0452 20040000 .4byte .LFE20-.Ltext0 @@ -3298,7 +3298,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 2532 04dd 5A040000 .4byte .LVL79-.Ltext0 2533 04e1 62040000 .4byte .LVL81-.Ltext0 2534 04e5 0100 .2byte 0x1 - BFIN GAS /tmp/ccJMNzjk.s page 56 + BFIN GAS /tmp/ccKg9Jka.s page 56 2535 04e7 5D .byte 0x5d @@ -3358,7 +3358,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 2589 057b 53 .byte 0x53 2590 057c 7E050000 .4byte .LVL104-.Ltext0 2591 0580 82050000 .4byte .LVL105-.Ltext0 - BFIN GAS /tmp/ccJMNzjk.s page 57 + BFIN GAS /tmp/ccKg9Jka.s page 57 2592 0584 0100 .2byte 0x1 @@ -3418,7 +3418,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 2646 0615 00000000 .4byte 0x0 2647 .LLST40: 2648 0619 F8050000 .4byte .LVL119-.Ltext0 - BFIN GAS /tmp/ccJMNzjk.s page 58 + BFIN GAS /tmp/ccKg9Jka.s page 58 2649 061d 02060000 .4byte .LVL120-.Ltext0 @@ -3478,7 +3478,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 2703 06b0 2A070000 .4byte .LVL139-.Ltext0 2704 06b4 2C070000 .4byte .LVL140-.Ltext0 2705 06b8 0100 .2byte 0x1 - BFIN GAS /tmp/ccJMNzjk.s page 59 + BFIN GAS /tmp/ccKg9Jka.s page 59 2706 06ba 50 .byte 0x50 @@ -3538,7 +3538,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 2760 074d 0100 .2byte 0x1 2761 074f 50 .byte 0x50 2762 0750 96080000 .4byte .LVL160-.Ltext0 - BFIN GAS /tmp/ccJMNzjk.s page 60 + BFIN GAS /tmp/ccKg9Jka.s page 60 2763 0754 98080000 .4byte .LVL161-.Ltext0 @@ -3598,7 +3598,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 2817 0027 06 .byte 0x6 2818 0028 3A080000 .4byte .LASF0 2819 002c 03 .uleb128 0x3 - BFIN GAS /tmp/ccJMNzjk.s page 61 + BFIN GAS /tmp/ccKg9Jka.s page 61 2820 002d CB030000 .4byte .LASF3 @@ -3658,7 +3658,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 2874 0093 C6000000 .4byte .LASF12 2875 0097 05 .uleb128 0x5 2876 0098 04 .byte 0x4 - BFIN GAS /tmp/ccJMNzjk.s page 62 + BFIN GAS /tmp/ccKg9Jka.s page 62 2877 0099 03 .byte 0x3 @@ -3718,7 +3718,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 2931 0108 06 .uleb128 0x6 2932 0109 97080000 .4byte .LASF28 2933 010d 25 .sleb128 37 - BFIN GAS /tmp/ccJMNzjk.s page 63 + BFIN GAS /tmp/ccKg9Jka.s page 63 2934 010e 06 .uleb128 0x6 @@ -3778,7 +3778,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 2988 0178 06 .uleb128 0x6 2989 0179 8F010000 .4byte .LASF43 2990 017d FE7B .sleb128 -514 - BFIN GAS /tmp/ccJMNzjk.s page 64 + BFIN GAS /tmp/ccKg9Jka.s page 64 2991 017f 06 .uleb128 0x6 @@ -3838,7 +3838,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 3045 01e8 23 .byte 0x23 3046 01e9 00 .uleb128 0x0 3047 01ea 08 .uleb128 0x8 - BFIN GAS /tmp/ccJMNzjk.s page 65 + BFIN GAS /tmp/ccKg9Jka.s page 65 3048 01eb D3030000 .4byte .LASF55 @@ -3898,7 +3898,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 3102 024c D3010000 .4byte 0x1d3 3103 0250 0C .uleb128 0xc 3104 0251 20 .byte 0x20 - BFIN GAS /tmp/ccJMNzjk.s page 66 + BFIN GAS /tmp/ccKg9Jka.s page 66 3105 0252 04 .byte 0x4 @@ -3958,7 +3958,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 3159 02b2 23 .byte 0x23 3160 02b3 45000000 .4byte 0x45 3161 02b7 02 .byte 0x2 - BFIN GAS /tmp/ccJMNzjk.s page 67 + BFIN GAS /tmp/ccKg9Jka.s page 67 3162 02b8 23 .byte 0x23 @@ -4018,7 +4018,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 3216 0315 00 .uleb128 0x0 3217 0316 0D .uleb128 0xd 3218 0317 696E00 .string "in" - BFIN GAS /tmp/ccJMNzjk.s page 68 + BFIN GAS /tmp/ccKg9Jka.s page 68 3219 031a 04 .byte 0x4 @@ -4078,7 +4078,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 3273 0380 23 .byte 0x23 3274 0381 8010 .uleb128 0x800 3275 0383 00 .byte 0x0 - BFIN GAS /tmp/ccJMNzjk.s page 69 + BFIN GAS /tmp/ccKg9Jka.s page 69 3276 0384 03 .uleb128 0x3 @@ -4138,7 +4138,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 3330 03ea 01 .sleb128 1 3331 03eb 06 .uleb128 0x6 3332 03ec CA080000 .4byte .LASF88 - BFIN GAS /tmp/ccJMNzjk.s page 70 + BFIN GAS /tmp/ccKg9Jka.s page 70 3333 03f0 02 .sleb128 2 @@ -4198,7 +4198,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 3387 044e 00 .uleb128 0x0 3388 044f 08 .uleb128 0x8 3389 0450 40070000 .4byte .LASF96 - BFIN GAS /tmp/ccJMNzjk.s page 71 + BFIN GAS /tmp/ccKg9Jka.s page 71 3390 0454 06 .byte 0x6 @@ -4258,7 +4258,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 3444 04b7 23 .byte 0x23 3445 04b8 01 .uleb128 0x1 3446 04b9 08 .uleb128 0x8 - BFIN GAS /tmp/ccJMNzjk.s page 72 + BFIN GAS /tmp/ccKg9Jka.s page 72 3447 04ba 4A050000 .4byte .LASF102 @@ -4318,7 +4318,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 3501 051c 69000000 .4byte 0x69 3502 0520 03 .byte 0x3 3503 0521 23 .byte 0x23 - BFIN GAS /tmp/ccJMNzjk.s page 73 + BFIN GAS /tmp/ccKg9Jka.s page 73 3504 0522 8410 .uleb128 0x804 @@ -4378,7 +4378,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 3558 0589 42020000 .4byte 0x242 3559 058d FF .byte 0xff 3560 058e 00 .byte 0x0 - BFIN GAS /tmp/ccJMNzjk.s page 74 + BFIN GAS /tmp/ccKg9Jka.s page 74 3561 058f 03 .uleb128 0x3 @@ -4438,7 +4438,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 3615 05f2 00000000 .4byte .LFB19 3616 05f6 26000000 .4byte .LFE19 3617 05fa 00000000 .4byte .LLST0 - BFIN GAS /tmp/ccJMNzjk.s page 75 + BFIN GAS /tmp/ccKg9Jka.s page 75 3618 05fe 14 .uleb128 0x14 @@ -4498,7 +4498,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 3672 0682 01 .byte 0x1 3673 0683 D3 .byte 0xd3 3674 0684 BE050000 .4byte 0x5be - BFIN GAS /tmp/ccJMNzjk.s page 76 + BFIN GAS /tmp/ccKg9Jka.s page 76 3675 0688 CF000000 .4byte .LLST6 @@ -4558,7 +4558,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 3729 070e 00 .byte 0x0 3730 070f 10 .uleb128 0x10 3731 0710 04 .byte 0x4 - BFIN GAS /tmp/ccJMNzjk.s page 77 + BFIN GAS /tmp/ccKg9Jka.s page 77 3732 0711 27040000 .4byte 0x427 @@ -4618,7 +4618,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 3786 0792 C0 .byte 0xc0 3787 0793 57000000 .4byte 0x57 3788 0797 03020000 .4byte .LLST14 - BFIN GAS /tmp/ccJMNzjk.s page 78 + BFIN GAS /tmp/ccKg9Jka.s page 78 3789 079b 1A .uleb128 0x1a @@ -4678,7 +4678,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 3843 081f 00 .byte 0x0 3844 0820 18 .uleb128 0x18 3845 0821 25030000 .4byte .LASF122 - BFIN GAS /tmp/ccJMNzjk.s page 79 + BFIN GAS /tmp/ccKg9Jka.s page 79 3846 0825 01 .byte 0x1 @@ -4738,7 +4738,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 3900 08ac 1C .uleb128 0x1c 3901 08ad 5B060000 .4byte 0x65b 3902 08b1 1C .uleb128 0x1c - BFIN GAS /tmp/ccJMNzjk.s page 80 + BFIN GAS /tmp/ccKg9Jka.s page 80 3903 08b2 52060000 .4byte 0x652 @@ -4798,7 +4798,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 3957 0939 91 .byte 0x91 3958 093a 1C .uleb128 0x1c 3959 093b 5B060000 .4byte 0x65b - BFIN GAS /tmp/ccJMNzjk.s page 81 + BFIN GAS /tmp/ccKg9Jka.s page 81 3960 093f 1C .uleb128 0x1c @@ -4858,7 +4858,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 4014 09c6 01 .byte 0x1 4015 09c7 85 .byte 0x85 4016 09c8 1C .uleb128 0x1c - BFIN GAS /tmp/ccJMNzjk.s page 82 + BFIN GAS /tmp/ccKg9Jka.s page 82 4017 09c9 5B060000 .4byte 0x65b @@ -4918,7 +4918,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 4071 0a4f 2D01 .2byte 0x12d 4072 0a51 57000000 .4byte 0x57 4073 0a55 06050000 .4byte .LLST36 - BFIN GAS /tmp/ccJMNzjk.s page 83 + BFIN GAS /tmp/ccKg9Jka.s page 83 4074 0a59 22 .uleb128 0x22 @@ -4978,7 +4978,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 4128 0ad2 1C .uleb128 0x1c 4129 0ad3 5B060000 .4byte 0x65b 4130 0ad7 1C .uleb128 0x1c - BFIN GAS /tmp/ccJMNzjk.s page 84 + BFIN GAS /tmp/ccKg9Jka.s page 84 4131 0ad8 52060000 .4byte 0x652 @@ -5038,7 +5038,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 4185 0b62 19070000 .4byte .LLST43 4186 0b66 2D .uleb128 0x2d 4187 0b67 C60A0000 .4byte 0xac6 - BFIN GAS /tmp/ccJMNzjk.s page 85 + BFIN GAS /tmp/ccKg9Jka.s page 85 4188 0b6b 25 .uleb128 0x25 @@ -5098,7 +5098,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 4242 0be0 C4050000 .4byte 0x5c4 4243 0be4 EF0B0000 .4byte 0xbef 4244 0be8 0F .uleb128 0xf - BFIN GAS /tmp/ccJMNzjk.s page 86 + BFIN GAS /tmp/ccKg9Jka.s page 86 4245 0be9 42020000 .4byte 0x242 @@ -5158,7 +5158,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 4299 0000 01 .uleb128 0x1 4300 0001 11 .uleb128 0x11 4301 0002 01 .byte 0x1 - BFIN GAS /tmp/ccJMNzjk.s page 87 + BFIN GAS /tmp/ccKg9Jka.s page 87 4302 0003 25 .uleb128 0x25 @@ -5218,7 +5218,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 4356 0039 0B .uleb128 0xb 4357 003a 0B .uleb128 0xb 4358 003b 3A .uleb128 0x3a - BFIN GAS /tmp/ccJMNzjk.s page 88 + BFIN GAS /tmp/ccKg9Jka.s page 88 4359 003c 0B .uleb128 0xb @@ -5278,7 +5278,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 4413 0072 21 .uleb128 0x21 4414 0073 00 .byte 0x0 4415 0074 49 .uleb128 0x49 - BFIN GAS /tmp/ccJMNzjk.s page 89 + BFIN GAS /tmp/ccKg9Jka.s page 89 4416 0075 13 .uleb128 0x13 @@ -5338,7 +5338,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 4470 00ab 2F .uleb128 0x2f 4471 00ac 0B .uleb128 0xb 4472 00ad 00 .byte 0x0 - BFIN GAS /tmp/ccJMNzjk.s page 90 + BFIN GAS /tmp/ccKg9Jka.s page 90 4473 00ae 00 .byte 0x0 @@ -5398,7 +5398,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 4527 00e4 3A .uleb128 0x3a 4528 00e5 0B .uleb128 0xb 4529 00e6 3B .uleb128 0x3b - BFIN GAS /tmp/ccJMNzjk.s page 91 + BFIN GAS /tmp/ccKg9Jka.s page 91 4530 00e7 0B .uleb128 0xb @@ -5458,7 +5458,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 4584 011d 0B .uleb128 0xb 4585 011e 27 .uleb128 0x27 4586 011f 0C .uleb128 0xc - BFIN GAS /tmp/ccJMNzjk.s page 92 + BFIN GAS /tmp/ccKg9Jka.s page 92 4587 0120 11 .uleb128 0x11 @@ -5518,7 +5518,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 4641 0156 13 .uleb128 0x13 4642 0157 00 .byte 0x0 4643 0158 00 .byte 0x0 - BFIN GAS /tmp/ccJMNzjk.s page 93 + BFIN GAS /tmp/ccKg9Jka.s page 93 4644 0159 1C .uleb128 0x1c @@ -5578,7 +5578,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 4698 018f 11 .uleb128 0x11 4699 0190 01 .uleb128 0x1 4700 0191 12 .uleb128 0x12 - BFIN GAS /tmp/ccJMNzjk.s page 94 + BFIN GAS /tmp/ccKg9Jka.s page 94 4701 0192 01 .uleb128 0x1 @@ -5638,7 +5638,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 4755 01c8 01 .uleb128 0x1 4756 01c9 58 .uleb128 0x58 4757 01ca 0B .uleb128 0xb - BFIN GAS /tmp/ccJMNzjk.s page 95 + BFIN GAS /tmp/ccKg9Jka.s page 95 4758 01cb 59 .uleb128 0x59 @@ -5698,7 +5698,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 4812 0201 00 .byte 0x0 4813 0202 29 .uleb128 0x29 4814 0203 05 .uleb128 0x5 - BFIN GAS /tmp/ccJMNzjk.s page 96 + BFIN GAS /tmp/ccKg9Jka.s page 96 4815 0204 00 .byte 0x0 @@ -5758,7 +5758,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 4869 023a 3B .uleb128 0x3b 4870 023b 0B .uleb128 0xb 4871 023c 27 .uleb128 0x27 - BFIN GAS /tmp/ccJMNzjk.s page 97 + BFIN GAS /tmp/ccKg9Jka.s page 97 4872 023d 0C .uleb128 0xc @@ -5818,7 +5818,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 4926 0273 0C .uleb128 0xc 4927 0274 00 .byte 0x0 4928 0275 00 .byte 0x0 - BFIN GAS /tmp/ccJMNzjk.s page 98 + BFIN GAS /tmp/ccKg9Jka.s page 98 4929 0276 00 .byte 0x0 @@ -5878,7 +5878,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 4969 002c 1A010000 .4byte .LBE12-.Ltext0 4970 0030 B8000000 .4byte .LBB10-.Ltext0 4971 0034 BE000000 .4byte .LBE10-.Ltext0 - BFIN GAS /tmp/ccJMNzjk.s page 99 + BFIN GAS /tmp/ccKg9Jka.s page 99 4972 0038 00000000 .4byte 0x0 @@ -5938,7 +5938,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 5014 0044 4C353032 .string "L502_SYNC_INTERNAL" 5014 5F53594E 5014 435F494E - BFIN GAS /tmp/ccJMNzjk.s page 100 + BFIN GAS /tmp/ccKg9Jka.s page 100 5014 5445524E @@ -5998,7 +5998,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 5034 00 5035 .LASF79: 5036 0101 4C353032 .string "L502_ADC_RANGE_2" - BFIN GAS /tmp/ccJMNzjk.s page 101 + BFIN GAS /tmp/ccKg9Jka.s page 101 5036 5F414443 @@ -6058,7 +6058,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 5058 5F42465F 5058 4552525F 5058 46495253 - BFIN GAS /tmp/ccJMNzjk.s page 102 + BFIN GAS /tmp/ccKg9Jka.s page 102 5058 545F434F @@ -6118,7 +6118,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 5082 5F73697A 5082 6500 5083 .LASF34: - BFIN GAS /tmp/ccJMNzjk.s page 103 + BFIN GAS /tmp/ccKg9Jka.s page 103 5084 026f 4C353032 .string "L502_BF_PARAM_IN_STEP_SIZE" @@ -6178,7 +6178,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 5105 .LASF90: 5106 0335 4C353032 .string "L502_SYNC_DI_SYN1_FALL" 5106 5F53594E - BFIN GAS /tmp/ccJMNzjk.s page 104 + BFIN GAS /tmp/ccKg9Jka.s page 104 5106 435F4449 @@ -6238,7 +6238,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 5130 5F42465F 5130 434D445F 5130 4153594E - BFIN GAS /tmp/ccJMNzjk.s page 105 + BFIN GAS /tmp/ccKg9Jka.s page 105 5130 435F5459 @@ -6298,7 +6298,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 5153 .LASF69: 5154 04d8 76616C69 .string "valid" 5154 6400 - BFIN GAS /tmp/ccJMNzjk.s page 106 + BFIN GAS /tmp/ccKg9Jka.s page 106 5155 .LASF16: @@ -6358,7 +6358,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 5177 .LASF89: 5178 0587 4C353032 .string "L502_SYNC_DI_SYN2_RISE" 5178 5F53594E - BFIN GAS /tmp/ccJMNzjk.s page 107 + BFIN GAS /tmp/ccKg9Jka.s page 107 5178 435F4449 @@ -6418,7 +6418,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 5202 0627 665F636D .string "f_cmd_streams_start" 5202 645F7374 5202 7265616D - BFIN GAS /tmp/ccJMNzjk.s page 108 + BFIN GAS /tmp/ccKg9Jka.s page 108 5202 735F7374 @@ -6478,7 +6478,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 5226 72745F6D 5226 6F646500 5227 .LASF104: - BFIN GAS /tmp/ccJMNzjk.s page 109 + BFIN GAS /tmp/ccKg9Jka.s page 109 5228 06ef 6C63685F .string "lch_cnt" @@ -6538,7 +6538,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 5252 50415241 5252 4D5F454E 5252 41424C45 - BFIN GAS /tmp/ccJMNzjk.s page 110 + BFIN GAS /tmp/ccKg9Jka.s page 110 5253 .LASF67: @@ -6598,7 +6598,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 5274 7420756E 5274 7369676E 5274 65642069 - BFIN GAS /tmp/ccJMNzjk.s page 111 + BFIN GAS /tmp/ccKg9Jka.s page 111 5274 6E7400 @@ -6658,7 +6658,7 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 5296 0938 745F6C35 .string "t_l502_bf_cmd" 5296 30325F62 5296 665F636D - BFIN GAS /tmp/ccJMNzjk.s page 112 + BFIN GAS /tmp/ccKg9Jka.s page 112 5296 6400 @@ -6680,31 +6680,31 @@ BFIN GAS /tmp/ccJMNzjk.s page 1 5302 4D5F494E 5302 5F425546 5303 .ident "GCC: (ADI-2014R1-RC2) 4.3.5" - BFIN GAS /tmp/ccJMNzjk.s page 113 + BFIN GAS /tmp/ccKg9Jka.s page 113 DEFINED SYMBOLS *ABS*:0000000000000000 src/l502_cmd.c - /tmp/ccJMNzjk.s:13 .text:0000000000000000 _l502_cmd_set_req + /tmp/ccKg9Jka.s:13 .text:0000000000000000 _l502_cmd_set_req .bss:0000000000000000 _f_cmd_req - /tmp/ccJMNzjk.s:39 .text:0000000000000028 _l502_cmd_done - /tmp/ccJMNzjk.s:83 .text:0000000000000064 _f_cmd_set_param - /tmp/ccJMNzjk.s:1735 .rodata:0000000000000288 _f_regaddr_k - /tmp/ccJMNzjk.s:1745 .rodata:00000000000002a0 _f_regaddr_offs - /tmp/ccJMNzjk.s:401 .text:00000000000001e4 _f_cmd_get_out_status - /tmp/ccJMNzjk.s:451 .text:0000000000000224 _f_cmd_fpga_reg_rd - /tmp/ccJMNzjk.s:516 .text:000000000000027c _f_cmd_fpga_reg_wr - /tmp/ccJMNzjk.s:579 .text:00000000000002d0 _f_cmd_async_out - /tmp/ccJMNzjk.s:677 .text:0000000000000350 _f_cmd_stream_disable - /tmp/ccJMNzjk.s:710 .text:000000000000037c _f_cmd_stream_enable - /tmp/ccJMNzjk.s:743 .text:00000000000003a8 _f_cmd_preload - /tmp/ccJMNzjk.s:773 .text:00000000000003d0 _f_cmd_stream_stop - /tmp/ccJMNzjk.s:803 .text:00000000000003f8 _f_cmd_streams_start - /tmp/ccJMNzjk.s:833 .text:0000000000000420 _f_cmd_config - /tmp/ccJMNzjk.s:863 .text:0000000000000448 _f_cmd_get_param - /tmp/ccJMNzjk.s:1249 .text:00000000000005f8 _l502_cmd_start - /tmp/ccJMNzjk.s:1705 .rodata:0000000000000220 _f_cmd_tbl - /tmp/ccJMNzjk.s:1473 .text:0000000000000740 _l502_cmd_check_req + /tmp/ccKg9Jka.s:39 .text:0000000000000028 _l502_cmd_done + /tmp/ccKg9Jka.s:83 .text:0000000000000064 _f_cmd_set_param + /tmp/ccKg9Jka.s:1735 .rodata:0000000000000288 _f_regaddr_k + /tmp/ccKg9Jka.s:1745 .rodata:00000000000002a0 _f_regaddr_offs + /tmp/ccKg9Jka.s:401 .text:00000000000001e4 _f_cmd_get_out_status + /tmp/ccKg9Jka.s:451 .text:0000000000000224 _f_cmd_fpga_reg_rd + /tmp/ccKg9Jka.s:516 .text:000000000000027c _f_cmd_fpga_reg_wr + /tmp/ccKg9Jka.s:579 .text:00000000000002d0 _f_cmd_async_out + /tmp/ccKg9Jka.s:677 .text:0000000000000350 _f_cmd_stream_disable + /tmp/ccKg9Jka.s:710 .text:000000000000037c _f_cmd_stream_enable + /tmp/ccKg9Jka.s:743 .text:00000000000003a8 _f_cmd_preload + /tmp/ccKg9Jka.s:773 .text:00000000000003d0 _f_cmd_stream_stop + /tmp/ccKg9Jka.s:803 .text:00000000000003f8 _f_cmd_streams_start + /tmp/ccKg9Jka.s:833 .text:0000000000000420 _f_cmd_config + /tmp/ccKg9Jka.s:863 .text:0000000000000448 _f_cmd_get_param + /tmp/ccKg9Jka.s:1249 .text:00000000000005f8 _l502_cmd_start + /tmp/ccKg9Jka.s:1705 .rodata:0000000000000220 _f_cmd_tbl + /tmp/ccKg9Jka.s:1473 .text:0000000000000740 _l502_cmd_check_req UNDEFINED SYMBOLS _g_state diff --git a/build/release/lst/l502_stream.lst b/build/release/lst/l502_stream.lst index 7fb2835..2e69064 100644 --- a/build/release/lst/l502_stream.lst +++ b/build/release/lst/l502_stream.lst @@ -1,4 +1,4 @@ -BFIN GAS /tmp/ccEcEoYb.s page 1 +BFIN GAS /tmp/ccHY7xFo.s page 1 1 .file "src/l502_stream.c"; @@ -58,7 +58,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 36:src/l502_stream.c **** //volatile uint32_t AVG_buff_B[AVG_BUFF_SIZE] __attribute__((section(".sdram_noinit"))); 37:src/l502_stream.c **** //volatile uint32_t FFT_buff[FFT_BUFF_SIZE] __attribute__((section(".sdram_noinit"))); 38:src/l502_stream.c **** - BFIN GAS /tmp/ccEcEoYb.s page 2 + BFIN GAS /tmp/ccHY7xFo.s page 2 39:src/l502_stream.c **** @@ -118,7 +118,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 93:src/l502_stream.c **** 94:src/l502_stream.c **** 95:src/l502_stream.c **** - BFIN GAS /tmp/ccEcEoYb.s page 3 + BFIN GAS /tmp/ccHY7xFo.s page 3 96:src/l502_stream.c **** @@ -178,7 +178,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 150:src/l502_stream.c **** потоков на ввод, то инициализируем прием по SPORT и п 151:src/l502_stream.c **** if (g_mode == L502_BF_MODE_STREAM) { 152:src/l502_stream.c **** if ((streams & L502_STREAM_ALL_IN) && !(g_streams & L502_STREAM_ALL_IN)) { - BFIN GAS /tmp/ccEcEoYb.s page 4 + BFIN GAS /tmp/ccHY7xFo.s page 4 153:src/l502_stream.c **** sport_rx_start(); @@ -238,7 +238,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 207:src/l502_stream.c **** if (!err) { 208:src/l502_stream.c **** /* прием по SPORT инициализируется всесте с началом з 209:src/l502_stream.c **** синхронного сбора */ - BFIN GAS /tmp/ccEcEoYb.s page 5 + BFIN GAS /tmp/ccHY7xFo.s page 5 210:src/l502_stream.c **** f_sport_in_put_pos = f_sport_in_get_pos = f_sport_in_proc_pos = 0; @@ -298,7 +298,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 264:src/l502_stream.c **** /** @brief Останов синхронных потоков ввода-вывода. 265:src/l502_stream.c **** 266:src/l502_stream.c **** По этой функции останавливаются все синхронные пот - BFIN GAS /tmp/ccEcEoYb.s page 6 + BFIN GAS /tmp/ccHY7xFo.s page 6 267:src/l502_stream.c **** Запрещается передача потоков по SPORT и по HostDMA @@ -358,7 +358,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 321:src/l502_stream.c **** f_sport_in_proc_pos = 0; 322:src/l502_stream.c **** } 323:src/l502_stream.c **** - BFIN GAS /tmp/ccEcEoYb.s page 7 + BFIN GAS /tmp/ccHY7xFo.s page 7 324:src/l502_stream.c **** /* если было переполнение - нужно передать слово о @@ -418,7 +418,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 378:src/l502_stream.c **** 379:src/l502_stream.c **** Функция помечает, что size слов из начала той части буф 380:src/l502_stream.c **** были приняты данные, но не освобождены, как освобожд - BFIN GAS /tmp/ccEcEoYb.s page 8 + BFIN GAS /tmp/ccHY7xFo.s page 8 381:src/l502_stream.c **** снова можно будет принимать данные со SPORT0. @@ -478,7 +478,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 398:src/l502_stream.c **** были приняты данные от ПК, но не освобождены, как осв 399:src/l502_stream.c **** снова можно будет принимать данные от ПК по HostDMA. 400:src/l502_stream.c **** При этом надо всегда следить, чтобы количество освоб - BFIN GAS /tmp/ccEcEoYb.s page 9 + BFIN GAS /tmp/ccHY7xFo.s page 9 401:src/l502_stream.c **** привышало количество обработанных! @@ -538,7 +538,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 417:src/l502_stream.c **** Функция просто обновляет счетчик принятых данных (а 418:src/l502_stream.c **** из фоновой функции stream_proc(). 419:src/l502_stream.c **** - BFIN GAS /tmp/ccEcEoYb.s page 10 + BFIN GAS /tmp/ccHY7xFo.s page 10 420:src/l502_stream.c **** @param[in] addr Адрес слова, сразу за последним принятым @@ -598,7 +598,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 121 0074 00E80000 LINK 0; 122 .LCFI3: 440:src/l502_stream.c **** return L502_SPORT_IN_BUF_SIZE; - BFIN GAS /tmp/ccEcEoYb.s page 11 + BFIN GAS /tmp/ccHY7xFo.s page 11 441:src/l502_stream.c **** } @@ -658,7 +658,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 152 0094 0860 R0 = 1 (X); 153 0096 0F30 R1 = R7; 154 0098 A84F R0 <<= 21; - BFIN GAS /tmp/ccEcEoYb.s page 12 + BFIN GAS /tmp/ccHY7xFo.s page 12 155 009a FFE3B3FF call ___udivsi3; @@ -718,7 +718,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 477:src/l502_stream.c **** Функция настраивает DMA3 на режим автобуфера с 2D, разм 478:src/l502_stream.c **** равным f_sport_in_block_size. После чего разрешается канал DMA 479:src/l502_stream.c **** прием по SPORT0 */ - BFIN GAS /tmp/ccEcEoYb.s page 13 + BFIN GAS /tmp/ccHY7xFo.s page 13 480:src/l502_stream.c **** void sport_rx_start(void) { @@ -778,7 +778,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 522:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_OUTSWAP_BFCTL, f_bf_reg); 206 .loc 1 522 0 207 00e6 20E11803 R0 = 792 (X); - BFIN GAS /tmp/ccEcEoYb.s page 14 + BFIN GAS /tmp/ccHY7xFo.s page 14 208 00ea FFE38BFF call _fpga_reg_write; @@ -838,7 +838,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 51:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_NOP)) || \ 52:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** (!defined(__SPECIFIC_NAMES) && !defined(__DISABLE_NOP)))) 53:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** - BFIN GAS /tmp/ccEcEoYb.s page 15 + BFIN GAS /tmp/ccHY7xFo.s page 15 54:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #define __DEFINED_NOP @@ -898,7 +898,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 108:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #endif /* __DEFINED_IDLE */ 109:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** 110:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #if (!defined(__DEFINED_RAISE_INTR) && \ - BFIN GAS /tmp/ccEcEoYb.s page 16 + BFIN GAS /tmp/ccHY7xFo.s page 16 111:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** ((defined(__SPECIFIC_NAMES) && defined(__ENABLE_RAISE_INTR)) || \ @@ -958,7 +958,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 165:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline 166:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline 167:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void flushinv(void * __a) { - BFIN GAS /tmp/ccEcEoYb.s page 17 + BFIN GAS /tmp/ccHY7xFo.s page 17 168:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** __builtin_flushinv(__a); @@ -1018,7 +1018,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 222:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** 223:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma inline 224:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** #pragma always_inline - BFIN GAS /tmp/ccEcEoYb.s page 18 + BFIN GAS /tmp/ccHY7xFo.s page 18 225:/home/feda/MIPT/RadioPhotonic_Subserface_radar/BlackFin/toolchain_off/bfin-elf/bin/../lib/gcc/bfin-elf/4.3.5/../../../../bfin-elf/include/builtins.h **** static void iflush(void * __a) { @@ -1078,7 +1078,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 213 00ee 2400 ssync; 214 .LBE24: 215 .LBE23: - BFIN GAS /tmp/ccEcEoYb.s page 19 + BFIN GAS /tmp/ccHY7xFo.s page 19 216 .LBB25: @@ -1138,7 +1138,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 256 .LCFI10: 483:src/l502_stream.c **** *pDMA3_CONFIG = 0; 257 .loc 1 483 0 - BFIN GAS /tmp/ccEcEoYb.s page 20 + BFIN GAS /tmp/ccHY7xFo.s page 20 258 012a 0060 R0 = 0 (X); @@ -1160,9 +1160,9 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 487:src/l502_stream.c **** dummy = *pSPORT0_RX16; 273 .loc 1 487 0 274 0142 49E1C0FF P1.H = 65472; - 275 0146 48E10000 P0.H = _dummy.2439; + 275 0146 48E10000 P0.H = _dummy.2440; 276 014a 09E11808 P1.L = 2072; - 277 014e 08E11C00 P0.L = _dummy.2439; + 277 014e 08E11C00 P0.L = _dummy.2440; 486:src/l502_stream.c **** while (*pSPORT0_STAT & RXNE) { 278 .loc 1 486 0 279 0152 0960 R1 = 1 (X); @@ -1198,7 +1198,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 493:src/l502_stream.c **** *pDMA3_X_COUNT = 2*f_sport_in_block_size; /* так как SPORT настроен на 16 би 306 .loc 1 493 0 307 017c 4AE10000 P2.H = _f_sport_in_block_size; - BFIN GAS /tmp/ccEcEoYb.s page 21 + BFIN GAS /tmp/ccHY7xFo.s page 21 308 0180 0AE10400 P2.L = _f_sport_in_block_size; @@ -1258,7 +1258,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 353 01da 004A BITSET (R0, 0); 507:src/l502_stream.c **** *pSPORT0_RCR1 |= RSPEN; 354 .loc 1 507 0 - BFIN GAS /tmp/ccEcEoYb.s page 22 + BFIN GAS /tmp/ccHY7xFo.s page 22 355 01dc 4AE1C0FF P2.H = 65472; @@ -1318,7 +1318,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 398 0218 000C cc =R0==0; 399 021a 171C if cc jump .L26 (bp); 400 021c 180C cc =R0==3; - BFIN GAS /tmp/ccEcEoYb.s page 23 + BFIN GAS /tmp/ccHY7xFo.s page 23 401 021e 1518 if cc jump .L26; @@ -1378,7 +1378,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 445 .LCFI14: 446 .LVL18: 447 025e 1000 rts; - BFIN GAS /tmp/ccEcEoYb.s page 24 + BFIN GAS /tmp/ccHY7xFo.s page 24 448 .LVL19: @@ -1438,7 +1438,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 360:src/l502_stream.c **** uint32_t get_pos = f_hdma_out_get_pos; 490 .loc 1 360 0 491 029c 5191 P1 = [P2]; - BFIN GAS /tmp/ccEcEoYb.s page 25 + BFIN GAS /tmp/ccHY7xFo.s page 25 492 .LVL24: @@ -1498,7 +1498,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 538 .LBE47: 539 .LBB51: 311:src/l502_stream.c **** sport_rdy_size = put_pos >= f_sport_in_proc_pos ? - BFIN GAS /tmp/ccEcEoYb.s page 26 + BFIN GAS /tmp/ccHY7xFo.s page 26 540 .loc 1 311 0 @@ -1558,7 +1558,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 585 .LBB52: 340:src/l502_stream.c **** hdma_rdy_size = put_pos >= f_hdma_out_proc_pos ? 586 .loc 1 340 0 - BFIN GAS /tmp/ccEcEoYb.s page 27 + BFIN GAS /tmp/ccHY7xFo.s page 27 587 0334 0A44 P2 -= P1; @@ -1618,7 +1618,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 632 .loc 1 327 0 633 0374 40E10000 R0.H = _f_overflow_wrd; 634 0378 00E10000 R0.L = _f_overflow_wrd; - BFIN GAS /tmp/ccEcEoYb.s page 28 + BFIN GAS /tmp/ccHY7xFo.s page 28 635 037c 0960 R1 = 1 (X); @@ -1678,7 +1678,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 682 03b8 4AE10000 P2.H = _f_hdma_out_put_pos; 683 03bc 0AE12000 P2.L = _f_hdma_out_put_pos; 684 03c0 1093 [P2] = R0; - BFIN GAS /tmp/ccEcEoYb.s page 29 + BFIN GAS /tmp/ccHY7xFo.s page 29 685 03c2 1091 R0 = [P2]; @@ -1738,7 +1738,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 730 .align 4 731 .global _l502_stream_init; 732 .type _l502_stream_init, STT_FUNC; - BFIN GAS /tmp/ccEcEoYb.s page 30 + BFIN GAS /tmp/ccHY7xFo.s page 30 733 _l502_stream_init: @@ -1798,7 +1798,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 291:src/l502_stream.c **** } 776 .loc 1 291 0 777 0448 BC05 ( r7:7, p5:4 ) = [sp++]; - BFIN GAS /tmp/ccEcEoYb.s page 31 + BFIN GAS /tmp/ccHY7xFo.s page 31 778 @@ -1858,7 +1858,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 824 0484 1097 W [P2] = R0; 530:src/l502_stream.c **** *pDMA3_CONFIG =0; //&= ~DMAEN; 825 .loc 1 530 0 - BFIN GAS /tmp/ccEcEoYb.s page 32 + BFIN GAS /tmp/ccHY7xFo.s page 32 826 0486 4AE1C0FF P2.H = 65472; @@ -1918,7 +1918,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 869 .LFE23: 870 .size _streams_stop, .-_streams_stop 871 04d2 0000 .align 4 - BFIN GAS /tmp/ccEcEoYb.s page 33 + BFIN GAS /tmp/ccHY7xFo.s page 33 872 .global _isr_sport_dma_rx; @@ -1978,7 +1978,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 920 04fe 5501 [--SP] = M1; 921 .LCFI45: 922 0500 5601 [--SP] = M2; - BFIN GAS /tmp/ccEcEoYb.s page 34 + BFIN GAS /tmp/ccHY7xFo.s page 34 923 .LCFI46: @@ -2038,7 +2038,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 964 0542 0350 R0 = R3 + R0; 965 0544 0893 [P1] = R0; 966 .loc 1 547 0 - BFIN GAS /tmp/ccEcEoYb.s page 35 + BFIN GAS /tmp/ccHY7xFo.s page 35 967 0546 0891 R0 = [P1]; @@ -2098,7 +2098,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1002 0586 23012201 A1.w = [SP++]; A1.x = [SP++]; 1003 058a 21012001 A0.w = [SP++]; A0.x = [SP++]; 1004 058e 1701 M3 = [SP++]; - BFIN GAS /tmp/ccEcEoYb.s page 36 + BFIN GAS /tmp/ccHY7xFo.s page 36 1005 0590 1601 M2 = [SP++]; @@ -2158,7 +2158,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1056 05dc FFE312FD call _fpga_reg_write; 1057 .LVL54: 1058 .LBB83: - BFIN GAS /tmp/ccEcEoYb.s page 37 + BFIN GAS /tmp/ccHY7xFo.s page 37 1059 .LBB84: @@ -2218,7 +2218,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1108 .LFB21: 188:src/l502_stream.c **** int32_t stream_disable(uint32_t streams) { 1109 .loc 1 188 0 - BFIN GAS /tmp/ccEcEoYb.s page 38 + BFIN GAS /tmp/ccHY7xFo.s page 38 1110 .LVL55: @@ -2278,7 +2278,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1154 064c 0806 if !cc R1 = R0; 166:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOARITH_IN_STREAM_ENABLE, wrd_en); 1155 .loc 1 166 0 - BFIN GAS /tmp/ccEcEoYb.s page 39 + BFIN GAS /tmp/ccHY7xFo.s page 39 1156 064e 20E11904 R0 = 1049 (X); @@ -2338,7 +2338,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1203 0684 FD05 [--sp] = ( r7:7, p5:5 ); 1204 1205 .LCFI56: - BFIN GAS /tmp/ccEcEoYb.s page 40 + BFIN GAS /tmp/ccHY7xFo.s page 40 179:src/l502_stream.c **** f_set_streams(g_streams | streams); @@ -2398,7 +2398,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1249 .LVL62: 171:src/l502_stream.c **** g_streams = streams; 1250 .loc 1 171 0 - BFIN GAS /tmp/ccEcEoYb.s page 41 + BFIN GAS /tmp/ccHY7xFo.s page 41 1251 06b8 2F93 [P5] = R7; @@ -2458,7 +2458,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 205:src/l502_stream.c **** int32_t streams_start(void) { 1298 .loc 1 205 0 1299 06ea 00E80300 LINK 12; - BFIN GAS /tmp/ccEcEoYb.s page 42 + BFIN GAS /tmp/ccHY7xFo.s page 42 1300 .LCFI60: @@ -2518,7 +2518,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1344 .loc 1 151 0 1345 073c 1891 R0 = [P3]; 1346 .LBE122: - BFIN GAS /tmp/ccEcEoYb.s page 43 + BFIN GAS /tmp/ccHY7xFo.s page 43 1347 .LBE118: @@ -2578,7 +2578,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 251:src/l502_stream.c **** fpga_reg_write(L502_REGS_IOHARD_PRELOAD_ADC, 1); 1390 .loc 1 251 0 1391 076e 20E10C03 R0 = 780 (X); - BFIN GAS /tmp/ccEcEoYb.s page 44 + BFIN GAS /tmp/ccHY7xFo.s page 44 1392 0772 0960 R1 = 1 (X); @@ -2638,7 +2638,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1434 .loc 1 235 0 1435 07b8 2091 R0 = [P4]; 1436 07ba 080C cc =R0==1; - BFIN GAS /tmp/ccEcEoYb.s page 45 + BFIN GAS /tmp/ccHY7xFo.s page 45 1437 07bc D417 if !cc jump .L83 (bp); @@ -2698,13 +2698,13 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1485 .LBB137: 487:src/l502_stream.c **** dummy = *pSPORT0_RX16; 1486 .loc 1 487 0 - BFIN GAS /tmp/ccEcEoYb.s page 46 + BFIN GAS /tmp/ccHY7xFo.s page 46 1487 0806 49E1C0FF P1.H = 65472; - 1488 080a 48E10000 P0.H = _dummy.2439; + 1488 080a 48E10000 P0.H = _dummy.2440; 1489 080e 09E11808 P1.L = 2072; - 1490 0812 08E11C00 P0.L = _dummy.2439; + 1490 0812 08E11C00 P0.L = _dummy.2440; 1491 .LBE137: 486:src/l502_stream.c **** while (*pSPORT0_STAT & RXNE) { 1492 .loc 1 486 0 @@ -2758,7 +2758,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 496:src/l502_stream.c **** *pDMA3_Y_COUNT = f_sport_in_buf_size/f_sport_in_block_size;; 1535 .loc 1 496 0 1536 085e 4AE10000 P2.H = _f_sport_in_buf_size; - BFIN GAS /tmp/ccEcEoYb.s page 47 + BFIN GAS /tmp/ccHY7xFo.s page 47 1537 0862 0AE10800 P2.L = _f_sport_in_buf_size; @@ -2818,7 +2818,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1580 .loc 1 510 0 1581 08b0 4AE10000 P2.H = _f_bf_reg; 1582 08b4 0AE11800 P2.L = _f_bf_reg; - BFIN GAS /tmp/ccEcEoYb.s page 48 + BFIN GAS /tmp/ccHY7xFo.s page 48 1583 08b8 1191 R1 = [P2]; @@ -2878,7 +2878,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1628 .LBE142: 1629 .LFE22: 1630 .size _streams_start, .-_streams_start - BFIN GAS /tmp/ccEcEoYb.s page 49 + BFIN GAS /tmp/ccHY7xFo.s page 49 1631 .global _g_stream_in_state; @@ -2925,8 +2925,8 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1672 .comm _f_recv_size,4,4 1673 .local _f_bf_reg 1674 .comm _f_bf_reg,4,4 - 1675 .local _dummy.2439 - 1676 .comm _dummy.2439,4,4 + 1675 .local _dummy.2440 + 1676 .comm _dummy.2440,4,4 1677 .local _f_hdma_out_put_pos 1678 .comm _f_hdma_out_put_pos,4,4 1679 .local _f_hdma_out_get_pos @@ -2938,7 +2938,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1685 .type _f_overflow_wrd, @object 1686 .size _f_overflow_wrd, 4 1687 _f_overflow_wrd: - BFIN GAS /tmp/ccEcEoYb.s page 50 + BFIN GAS /tmp/ccHY7xFo.s page 50 1688 0000 00000101 .long 16842752 @@ -2968,9 +2968,9 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1704 .global _TX_buff; 1705 .align 4 1706 .type _TX_buff, @object - 1707 .size _TX_buff, 40000 + 1707 .size _TX_buff, 400000 1708 _TX_buff: - 1709 c00000 00000000 .zero 40000 + 1709 c00000 00000000 .zero 400000 1709 00000000 1709 00000000 1709 00000000 @@ -2978,9 +2978,9 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1710 .global _TX_buff_shadow; 1711 .align 4 1712 .type _TX_buff_shadow, @object - 1713 .size _TX_buff_shadow, 40000 + 1713 .size _TX_buff_shadow, 400000 1714 _TX_buff_shadow: - 1715 c09c40 00000000 .zero 40000 + 1715 c61a80 00000000 .zero 400000 1715 00000000 1715 00000000 1715 00000000 @@ -2990,7 +2990,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1718 .type _AVG_buff, @object 1719 .size _AVG_buff, 4000 1720 _AVG_buff: - 1721 c13880 00000000 .zero 4000 + 1721 cc3500 00000000 .zero 4000 1721 00000000 1721 00000000 1721 00000000 @@ -2998,7 +2998,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1722 .section .debug_frame,"",@progbits 1723 .Lframe0: 1724 0000 0C000000 .4byte .LECIE0-.LSCIE0 - BFIN GAS /tmp/ccEcEoYb.s page 51 + BFIN GAS /tmp/ccHY7xFo.s page 51 1725 .LSCIE0: @@ -3058,7 +3058,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1779 0051 0C .byte 0xc 1780 0052 0F .uleb128 0xf 1781 0053 08 .uleb128 0x8 - BFIN GAS /tmp/ccEcEoYb.s page 52 + BFIN GAS /tmp/ccHY7xFo.s page 52 1782 0054 8F .byte 0x8f @@ -3118,7 +3118,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1836 00a1 0C .byte 0xc 1837 00a2 0F .uleb128 0xf 1838 00a3 08 .uleb128 0x8 - BFIN GAS /tmp/ccEcEoYb.s page 53 + BFIN GAS /tmp/ccHY7xFo.s page 53 1839 00a4 8F .byte 0x8f @@ -3178,7 +3178,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1893 00e7 A3 .byte 0xa3 1894 00e8 04 .uleb128 0x4 1895 00e9 000000 .align 4 - BFIN GAS /tmp/ccEcEoYb.s page 54 + BFIN GAS /tmp/ccHY7xFo.s page 54 1896 .LEFDE14: @@ -3238,7 +3238,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 1950 0138 03 .uleb128 0x3 1951 0139 8C .byte 0x8c 1952 013a 02 .uleb128 0x2 - BFIN GAS /tmp/ccEcEoYb.s page 55 + BFIN GAS /tmp/ccHY7xFo.s page 55 1953 013b 87 .byte 0x87 @@ -3298,7 +3298,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 2007 0172 58 .uleb128 0x58 2008 0173 42 .byte 0x4 2009 .4byte .LCFI33-.LCFI32 - BFIN GAS /tmp/ccEcEoYb.s page 56 + BFIN GAS /tmp/ccHY7xFo.s page 56 2010 0174 0E .byte 0xe @@ -3358,7 +3358,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 2064 01a2 42 .byte 0x4 2065 .4byte .LCFI47-.LCFI46 2066 01a3 0E .byte 0xe - BFIN GAS /tmp/ccEcEoYb.s page 57 + BFIN GAS /tmp/ccHY7xFo.s page 57 2067 01a4 9401 .uleb128 0x94 @@ -3418,7 +3418,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 2121 01db 0E .uleb128 0xe 2122 01dc 85 .byte 0x85 2123 01dd 0D .uleb128 0xd - BFIN GAS /tmp/ccEcEoYb.s page 58 + BFIN GAS /tmp/ccHY7xFo.s page 58 2124 01de 84 .byte 0x84 @@ -3478,7 +3478,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 2178 .4byte .LCFI53-.LFB21 2179 021d 0E .byte 0xe 2180 021e 08 .uleb128 0x8 - BFIN GAS /tmp/ccEcEoYb.s page 59 + BFIN GAS /tmp/ccHY7xFo.s page 59 2181 021f 8D .byte 0x8d @@ -3538,7 +3538,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 2235 0263 8B .byte 0x8b 2236 0264 03 .uleb128 0x3 2237 0265 87 .byte 0x87 - BFIN GAS /tmp/ccEcEoYb.s page 60 + BFIN GAS /tmp/ccHY7xFo.s page 60 2238 0266 02 .uleb128 0x2 @@ -3598,7 +3598,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 2292 005f 50000000 .4byte .LFE26-.Ltext0 2293 0063 0200 .2byte 0x2 2294 0065 7F .byte 0x7f - BFIN GAS /tmp/ccEcEoYb.s page 61 + BFIN GAS /tmp/ccHY7xFo.s page 61 2295 0066 08 .sleb128 8 @@ -3658,7 +3658,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 2349 00f8 0200 .2byte 0x2 2350 00fa 7F .byte 0x7f 2351 00fb 08 .sleb128 8 - BFIN GAS /tmp/ccEcEoYb.s page 62 + BFIN GAS /tmp/ccHY7xFo.s page 62 2352 00fc 00000000 .4byte 0x0 @@ -3718,7 +3718,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 2406 018c 7E .byte 0x7e 2407 018d 08 .sleb128 8 2408 018e 2A010000 .4byte .LCFI10-.Ltext0 - BFIN GAS /tmp/ccEcEoYb.s page 63 + BFIN GAS /tmp/ccHY7xFo.s page 63 2409 0192 08020000 .4byte .LFE30-.Ltext0 @@ -3778,7 +3778,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 2463 021f 58020000 .4byte .LVL17-.Ltext0 2464 0223 60020000 .4byte .LVL19-.Ltext0 2465 0227 0100 .2byte 0x1 - BFIN GAS /tmp/ccEcEoYb.s page 64 + BFIN GAS /tmp/ccHY7xFo.s page 64 2466 0229 5A .byte 0x5a @@ -3838,7 +3838,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 2520 02bb 7F .byte 0x7f 2521 02bc 10 .sleb128 16 2522 02bd 00000000 .4byte 0x0 - BFIN GAS /tmp/ccEcEoYb.s page 65 + BFIN GAS /tmp/ccHY7xFo.s page 65 2523 02c1 00000000 .4byte 0x0 @@ -3898,7 +3898,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 2577 034f D6040000 .4byte .LCFI24-.Ltext0 2578 0353 0100 .2byte 0x1 2579 0355 5E .byte 0x5e - BFIN GAS /tmp/ccEcEoYb.s page 66 + BFIN GAS /tmp/ccHY7xFo.s page 66 2580 0356 D6040000 .4byte .LCFI24-.Ltext0 @@ -3958,7 +3958,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 2634 03dc E000 .sleb128 96 2635 03de EC040000 .4byte .LCFI35-.Ltext0 2636 03e2 EE040000 .4byte .LCFI36-.Ltext0 - BFIN GAS /tmp/ccEcEoYb.s page 67 + BFIN GAS /tmp/ccHY7xFo.s page 67 2637 03e6 0300 .2byte 0x3 @@ -4018,7 +4018,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 2691 0471 04050000 .4byte .LCFI47-.Ltext0 2692 0475 0300 .2byte 0x3 2693 0477 7E .byte 0x7e - BFIN GAS /tmp/ccEcEoYb.s page 68 + BFIN GAS /tmp/ccHY7xFo.s page 68 2694 0478 9001 .sleb128 144 @@ -4078,7 +4078,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 2748 0509 5E .byte 0x5e 2749 050a 22060000 .4byte .LCFI53-.Ltext0 2750 050e 3E060000 .4byte .LCFI54-.Ltext0 - BFIN GAS /tmp/ccEcEoYb.s page 69 + BFIN GAS /tmp/ccHY7xFo.s page 69 2751 0512 0200 .2byte 0x2 @@ -4138,7 +4138,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 2805 059d 00000000 .4byte 0x0 2806 .LLST34: 2807 05a1 E4060000 .4byte .LFB22-.Ltext0 - BFIN GAS /tmp/ccEcEoYb.s page 70 + BFIN GAS /tmp/ccHY7xFo.s page 70 2808 05a5 E6060000 .4byte .LCFI59-.Ltext0 @@ -4179,7 +4179,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 2843 .file 5 "src/l502_defs.h" 2844 .file 6 "src/l502_stream.h" 2845 .section .debug_info - 2846 0000 73080000 .4byte 0x873 + 2846 0000 75080000 .4byte 0x875 2847 0004 0200 .2byte 0x2 2848 0006 00000000 .4byte .Ldebug_abbrev0 2849 000a 04 .byte 0x4 @@ -4198,7 +4198,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 2862 002c 02 .uleb128 0x2 2863 002d 01 .byte 0x1 2864 002e 08 .byte 0x8 - BFIN GAS /tmp/ccEcEoYb.s page 71 + BFIN GAS /tmp/ccHY7xFo.s page 71 2865 002f 08030000 .4byte .LASF1 @@ -4258,7 +4258,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 2919 008f D9000000 .4byte 0xd9 2920 0093 07 .uleb128 0x7 2921 0094 8C050000 .4byte .LASF12 - BFIN GAS /tmp/ccEcEoYb.s page 72 + BFIN GAS /tmp/ccHY7xFo.s page 72 2922 0098 00 .sleb128 0 @@ -4318,7 +4318,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 2976 0107 02 .sleb128 2 2977 0108 07 .uleb128 0x7 2978 0109 FC000000 .4byte .LASF27 - BFIN GAS /tmp/ccEcEoYb.s page 73 + BFIN GAS /tmp/ccHY7xFo.s page 73 2979 010d 10 .sleb128 16 @@ -4378,7 +4378,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 3033 0175 07 .uleb128 0x7 3034 0176 22060000 .4byte .LASF41 3035 017a 04 .sleb128 4 - BFIN GAS /tmp/ccEcEoYb.s page 74 + BFIN GAS /tmp/ccHY7xFo.s page 74 3036 017b 00 .byte 0x0 @@ -4438,7 +4438,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 3090 01f5 9401 .2byte 0x194 3091 01f7 53000000 .4byte 0x53 3092 01fb 6F000000 .4byte .LLST4 - BFIN GAS /tmp/ccEcEoYb.s page 75 + BFIN GAS /tmp/ccHY7xFo.s page 75 3093 01ff 0D .uleb128 0xd @@ -4498,7 +4498,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 3147 0280 CC01 .2byte 0x1cc 3148 0282 01 .byte 0x1 3149 0283 41000000 .4byte 0x41 - BFIN GAS /tmp/ccEcEoYb.s page 76 + BFIN GAS /tmp/ccHY7xFo.s page 76 3150 0287 84000000 .4byte .LFB29 @@ -4558,13 +4558,13 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 3204 030b 13 .uleb128 0x13 3205 030c 13 .uleb128 0x13 3206 030d 13 .uleb128 0x13 - BFIN GAS /tmp/ccEcEoYb.s page 77 + BFIN GAS /tmp/ccHY7xFo.s page 77 3207 030e 16 .uleb128 0x16 3208 030f 05 .byte 0x5 3209 0310 03 .byte 0x3 - 3210 0311 1C000000 .4byte _dummy.2439 + 3210 0311 1C000000 .4byte _dummy.2440 3211 0315 00 .byte 0x0 3212 0316 14 .uleb128 0x14 3213 0317 FC020000 .4byte 0x2fc @@ -4618,7 +4618,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 3261 039b 01020000 .4byte .LLST16 3262 039f 18 .uleb128 0x18 3263 03a0 00030000 .4byte .LBB46 - BFIN GAS /tmp/ccEcEoYb.s page 78 + BFIN GAS /tmp/ccHY7xFo.s page 78 3264 03a4 34030000 .4byte .LBE46 @@ -4678,7 +4678,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 3318 041e 98030000 .4byte .LFB18 3319 0422 0C040000 .4byte .LFE18 3320 0426 9A020000 .4byte .LLST20 - BFIN GAS /tmp/ccEcEoYb.s page 79 + BFIN GAS /tmp/ccHY7xFo.s page 79 3321 042a 3E040000 .4byte 0x43e @@ -4738,7 +4738,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 3375 04b0 01 .byte 0x1 3376 04b1 DD020000 .4byte .LASF61 3377 04b5 01 .byte 0x1 - BFIN GAS /tmp/ccEcEoYb.s page 80 + BFIN GAS /tmp/ccHY7xFo.s page 80 3378 04b6 1B02 .2byte 0x21b @@ -4798,7 +4798,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 3432 053a 55050000 .4byte 0x555 3433 053e 23 .uleb128 0x23 3434 053f A3000000 .4byte .LASF65 - BFIN GAS /tmp/ccEcEoYb.s page 81 + BFIN GAS /tmp/ccHY7xFo.s page 81 3435 0543 01 .byte 0x1 @@ -4858,7 +4858,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 3489 05c4 A3000000 .4byte .LASF65 3490 05c8 01 .byte 0x1 3491 05c9 B2 .byte 0xb2 - BFIN GAS /tmp/ccEcEoYb.s page 82 + BFIN GAS /tmp/ccHY7xFo.s page 82 3492 05ca 53000000 .4byte 0x53 @@ -4918,7 +4918,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 3546 0654 01 .byte 0x1 3547 0655 D6 .byte 0xd6 3548 0656 15 .uleb128 0x15 - BFIN GAS /tmp/ccEcEoYb.s page 83 + BFIN GAS /tmp/ccHY7xFo.s page 83 3549 0657 87010000 .4byte 0x187 @@ -4978,7 +4978,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 3603 06d8 2A .uleb128 0x2a 3604 06d9 1D030000 .4byte .LASF71 3605 06dd 01 .byte 0x1 - BFIN GAS /tmp/ccEcEoYb.s page 84 + BFIN GAS /tmp/ccHY7xFo.s page 84 3606 06de 44 .byte 0x44 @@ -5038,7 +5038,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 3660 0756 2E .uleb128 0x2e 3661 0757 32070000 .4byte 0x732 3662 075b 2A .uleb128 0x2a - BFIN GAS /tmp/ccEcEoYb.s page 85 + BFIN GAS /tmp/ccHY7xFo.s page 85 3663 075c 0F060000 .4byte .LASF77 @@ -5098,7 +5098,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 3717 07cf 03 .byte 0x3 3718 07d0 00000000 .4byte _g_stream_in_state 3719 07d4 30 .uleb128 0x30 - BFIN GAS /tmp/ccEcEoYb.s page 86 + BFIN GAS /tmp/ccHY7xFo.s page 86 3720 07d5 B2030000 .4byte .LASF84 @@ -5131,55 +5131,55 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 3747 080b 00000000 .4byte _g_streams 3748 080f 2C .uleb128 0x2c 3749 0810 53000000 .4byte 0x53 - 3750 0814 20080000 .4byte 0x820 - 3751 0818 31 .uleb128 0x31 + 3750 0814 22080000 .4byte 0x822 + 3751 0818 2D .uleb128 0x2d 3752 0819 81000000 .4byte 0x81 - 3753 081d 0F27 .2byte 0x270f - 3754 081f 00 .byte 0x0 - 3755 0820 30 .uleb128 0x30 - 3756 0821 F3010000 .4byte .LASF87 - 3757 0825 01 .byte 0x1 - 3758 0826 1F .byte 0x1f - 3759 0827 32080000 .4byte 0x832 - 3760 082b 01 .byte 0x1 - 3761 082c 05 .byte 0x5 - 3762 082d 03 .byte 0x3 - 3763 082e 0000C000 .4byte _TX_buff - 3764 0832 2E .uleb128 0x2e - 3765 0833 0F080000 .4byte 0x80f - 3766 0837 30 .uleb128 0x30 - 3767 0838 8A010000 .4byte .LASF88 - 3768 083c 01 .byte 0x1 - 3769 083d 20 .byte 0x20 - 3770 083e 49080000 .4byte 0x849 - 3771 0842 01 .byte 0x1 - 3772 0843 05 .byte 0x5 - 3773 0844 03 .byte 0x3 - 3774 0845 409CC000 .4byte _TX_buff_shadow - 3775 0849 2E .uleb128 0x2e - 3776 084a 0F080000 .4byte 0x80f - BFIN GAS /tmp/ccEcEoYb.s page 87 + 3753 081d 9F860100 .4byte 0x1869f + 3754 0821 00 .byte 0x0 + 3755 0822 30 .uleb128 0x30 + 3756 0823 F3010000 .4byte .LASF87 + 3757 0827 01 .byte 0x1 + 3758 0828 1F .byte 0x1f + 3759 0829 34080000 .4byte 0x834 + 3760 082d 01 .byte 0x1 + 3761 082e 05 .byte 0x5 + 3762 082f 03 .byte 0x3 + 3763 0830 0000C000 .4byte _TX_buff + 3764 0834 2E .uleb128 0x2e + 3765 0835 0F080000 .4byte 0x80f + 3766 0839 30 .uleb128 0x30 + 3767 083a 8A010000 .4byte .LASF88 + 3768 083e 01 .byte 0x1 + 3769 083f 20 .byte 0x20 + 3770 0840 4B080000 .4byte 0x84b + 3771 0844 01 .byte 0x1 + 3772 0845 05 .byte 0x5 + 3773 0846 03 .byte 0x3 + 3774 0847 801AC600 .4byte _TX_buff_shadow + 3775 084b 2E .uleb128 0x2e + 3776 084c 0F080000 .4byte 0x80f + BFIN GAS /tmp/ccHY7xFo.s page 87 - 3777 084e 2C .uleb128 0x2c - 3778 084f 53000000 .4byte 0x53 - 3779 0853 5F080000 .4byte 0x85f - 3780 0857 31 .uleb128 0x31 - 3781 0858 81000000 .4byte 0x81 - 3782 085c E703 .2byte 0x3e7 - 3783 085e 00 .byte 0x0 - 3784 085f 30 .uleb128 0x30 - 3785 0860 3F060000 .4byte .LASF89 - 3786 0864 01 .byte 0x1 - 3787 0865 23 .byte 0x23 - 3788 0866 71080000 .4byte 0x871 - 3789 086a 01 .byte 0x1 - 3790 086b 05 .byte 0x5 - 3791 086c 03 .byte 0x3 - 3792 086d 8038C100 .4byte _AVG_buff - 3793 0871 2E .uleb128 0x2e - 3794 0872 4E080000 .4byte 0x84e - 3795 0876 00 .byte 0x0 + 3777 0850 2C .uleb128 0x2c + 3778 0851 53000000 .4byte 0x53 + 3779 0855 61080000 .4byte 0x861 + 3780 0859 31 .uleb128 0x31 + 3781 085a 81000000 .4byte 0x81 + 3782 085e E703 .2byte 0x3e7 + 3783 0860 00 .byte 0x0 + 3784 0861 30 .uleb128 0x30 + 3785 0862 3F060000 .4byte .LASF89 + 3786 0866 01 .byte 0x1 + 3787 0867 23 .byte 0x23 + 3788 0868 73080000 .4byte 0x873 + 3789 086c 01 .byte 0x1 + 3790 086d 05 .byte 0x5 + 3791 086e 03 .byte 0x3 + 3792 086f 0035CC00 .4byte _AVG_buff + 3793 0873 2E .uleb128 0x2e + 3794 0874 50080000 .4byte 0x850 + 3795 0878 00 .byte 0x0 3796 .section .debug_abbrev 3797 0000 01 .uleb128 0x1 3798 0001 11 .uleb128 0x11 @@ -5218,7 +5218,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 3831 0022 0E .uleb128 0xe 3832 0023 3A .uleb128 0x3a 3833 0024 0B .uleb128 0xb - BFIN GAS /tmp/ccEcEoYb.s page 88 + BFIN GAS /tmp/ccHY7xFo.s page 88 3834 0025 3B .uleb128 0x3b @@ -5278,7 +5278,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 3888 005b 0B .uleb128 0xb 3889 005c 3B .uleb128 0x3b 3890 005d 05 .uleb128 0x5 - BFIN GAS /tmp/ccEcEoYb.s page 89 + BFIN GAS /tmp/ccHY7xFo.s page 89 3891 005e 27 .uleb128 0x27 @@ -5338,7 +5338,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 3945 0094 13 .uleb128 0x13 3946 0095 02 .uleb128 0x2 3947 0096 06 .uleb128 0x6 - BFIN GAS /tmp/ccEcEoYb.s page 90 + BFIN GAS /tmp/ccHY7xFo.s page 90 3948 0097 00 .byte 0x0 @@ -5398,7 +5398,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4002 00cd 49 .uleb128 0x49 4003 00ce 13 .uleb128 0x13 4004 00cf 11 .uleb128 0x11 - BFIN GAS /tmp/ccEcEoYb.s page 91 + BFIN GAS /tmp/ccHY7xFo.s page 91 4005 00d0 01 .uleb128 0x1 @@ -5458,7 +5458,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4059 0106 3B .uleb128 0x3b 4060 0107 05 .uleb128 0x5 4061 0108 27 .uleb128 0x27 - BFIN GAS /tmp/ccEcEoYb.s page 92 + BFIN GAS /tmp/ccHY7xFo.s page 92 4062 0109 0C .uleb128 0xc @@ -5518,7 +5518,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4116 013f 01 .uleb128 0x1 4117 0140 13 .uleb128 0x13 4118 0141 00 .byte 0x0 - BFIN GAS /tmp/ccEcEoYb.s page 93 + BFIN GAS /tmp/ccHY7xFo.s page 93 4119 0142 00 .byte 0x0 @@ -5578,7 +5578,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4173 0178 34 .uleb128 0x34 4174 0179 00 .byte 0x0 4175 017a 03 .uleb128 0x3 - BFIN GAS /tmp/ccEcEoYb.s page 94 + BFIN GAS /tmp/ccHY7xFo.s page 94 4176 017b 08 .uleb128 0x8 @@ -5638,7 +5638,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4230 01b1 58 .uleb128 0x58 4231 01b2 0B .uleb128 0xb 4232 01b3 59 .uleb128 0x59 - BFIN GAS /tmp/ccEcEoYb.s page 95 + BFIN GAS /tmp/ccHY7xFo.s page 95 4233 01b4 05 .uleb128 0x5 @@ -5698,7 +5698,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4287 01ea 0E .uleb128 0xe 4288 01eb 3A .uleb128 0x3a 4289 01ec 0B .uleb128 0xb - BFIN GAS /tmp/ccEcEoYb.s page 96 + BFIN GAS /tmp/ccHY7xFo.s page 96 4290 01ed 3B .uleb128 0x3b @@ -5758,7 +5758,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4344 0223 00 .byte 0x0 4345 0224 00 .byte 0x0 4346 0225 28 .uleb128 0x28 - BFIN GAS /tmp/ccEcEoYb.s page 97 + BFIN GAS /tmp/ccHY7xFo.s page 97 4347 0226 34 .uleb128 0x34 @@ -5818,7 +5818,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4401 025c 2D .uleb128 0x2d 4402 025d 21 .uleb128 0x21 4403 025e 00 .byte 0x0 - BFIN GAS /tmp/ccEcEoYb.s page 98 + BFIN GAS /tmp/ccHY7xFo.s page 98 4404 025f 49 .uleb128 0x49 @@ -5878,12 +5878,12 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4458 0295 00 .byte 0x0 4459 .section .debug_pubnames,"",@progbits 4460 0000 B4010000 .4byte 0x1b4 - BFIN GAS /tmp/ccEcEoYb.s page 99 + BFIN GAS /tmp/ccHY7xFo.s page 99 4461 0004 0200 .2byte 0x2 4462 0006 00000000 .4byte .Ldebug_info0 - 4463 000a 77080000 .4byte 0x877 + 4463 000a 79080000 .4byte 0x879 4464 000e 9A010000 .4byte 0x19a 4465 0012 73747265 .string "stream_in_buf_free" 4465 616D5F69 @@ -5938,7 +5938,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4483 5F737472 4483 65616D5F 4483 696E6974 - BFIN GAS /tmp/ccEcEoYb.s page 100 + BFIN GAS /tmp/ccHY7xFo.s page 100 4483 00 @@ -5987,18 +5987,18 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4501 017e 675F7374 .string "g_streams" 4501 7265616D 4501 7300 - 4502 0188 20080000 .4byte 0x820 + 4502 0188 22080000 .4byte 0x822 4503 018c 54585F62 .string "TX_buff" 4503 75666600 - 4504 0194 37080000 .4byte 0x837 + 4504 0194 39080000 .4byte 0x839 4505 0198 54585F62 .string "TX_buff_shadow" 4505 7566665F 4505 73686164 4505 6F7700 - 4506 01a7 5F080000 .4byte 0x85f + 4506 01a7 61080000 .4byte 0x861 4507 01ab 4156475F .string "AVG_buff" 4507 62756666 - BFIN GAS /tmp/ccEcEoYb.s page 101 + BFIN GAS /tmp/ccHY7xFo.s page 101 4507 00 @@ -6058,7 +6058,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4561 0098 3E060000 .4byte .LBB96-.Ltext0 4562 009c 58060000 .4byte .LBE96-.Ltext0 4563 00a0 34060000 .4byte .LBB95-.Ltext0 - BFIN GAS /tmp/ccEcEoYb.s page 102 + BFIN GAS /tmp/ccHY7xFo.s page 102 4564 00a4 3A060000 .4byte .LBE95-.Ltext0 @@ -6118,7 +6118,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4618 017c E0080000 .4byte .LBE119-.Ltext0 4619 0180 D6080000 .4byte .LBB124-.Ltext0 4620 0184 D8080000 .4byte .LBE124-.Ltext0 - BFIN GAS /tmp/ccEcEoYb.s page 103 + BFIN GAS /tmp/ccHY7xFo.s page 103 4621 0188 D8070000 .4byte .LBB120-.Ltext0 @@ -6178,7 +6178,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4647 73746172 4647 7400 4648 .LASF65: - BFIN GAS /tmp/ccEcEoYb.s page 104 + BFIN GAS /tmp/ccHY7xFo.s page 104 4649 00a3 73747265 .string "streams" @@ -6238,7 +6238,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4671 7420696E 4671 7400 4672 .LASF19: - BFIN GAS /tmp/ccEcEoYb.s page 105 + BFIN GAS /tmp/ccHY7xFo.s page 105 4673 0147 4C353032 .string "L502_BF_ERR_STREAM_STOPPED" @@ -6298,7 +6298,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4693 75666600 4694 .LASF52: 4695 01fb 73706F72 .string "sport_rx_stop" - BFIN GAS /tmp/ccEcEoYb.s page 106 + BFIN GAS /tmp/ccHY7xFo.s page 106 4695 745F7278 @@ -6358,7 +6358,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4717 02a2 73747265 .string "stream_out_buf_free" 4717 616D5F6F 4717 75745F62 - BFIN GAS /tmp/ccEcEoYb.s page 107 + BFIN GAS /tmp/ccHY7xFo.s page 107 4717 75665F66 @@ -6418,7 +6418,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4739 0352 4C353032 .string "L502_STREAM_DOUT" 4739 5F535452 4739 45414D5F - BFIN GAS /tmp/ccEcEoYb.s page 108 + BFIN GAS /tmp/ccHY7xFo.s page 108 4739 444F5554 @@ -6478,7 +6478,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4760 .LASF16: 4761 0406 4C353032 .string "L502_BF_ERR_INVALID_CMD_PARAMS" 4761 5F42465F - BFIN GAS /tmp/ccEcEoYb.s page 109 + BFIN GAS /tmp/ccHY7xFo.s page 109 4761 4552525F @@ -6538,7 +6538,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4783 04bf 7772645F .string "wrd_en" 4783 656E00 4784 .LASF92: - BFIN GAS /tmp/ccEcEoYb.s page 110 + BFIN GAS /tmp/ccHY7xFo.s page 110 4785 04c6 2F686F6D .string "/home/feda/MIPT/RadioPhotonic_Subserface_radar/ADC_computing/BFfirmware_0" @@ -6598,7 +6598,7 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4803 705F7369 4804 .LASF94: 4805 05b7 6C353032 .string "l502_stream_init" - BFIN GAS /tmp/ccEcEoYb.s page 111 + BFIN GAS /tmp/ccHY7xFo.s page 111 4805 5F737472 @@ -6649,48 +6649,48 @@ BFIN GAS /tmp/ccEcEoYb.s page 1 4821 62756666 4821 00 4822 .ident "GCC: (ADI-2014R1-RC2) 4.3.5" - BFIN GAS /tmp/ccEcEoYb.s page 112 + BFIN GAS /tmp/ccHY7xFo.s page 112 DEFINED SYMBOLS *ABS*:0000000000000000 src/l502_stream.c - /tmp/ccEcEoYb.s:13 .text:0000000000000000 _stream_in_buf_free - /tmp/ccEcEoYb.s:1670 .bss:0000000000000010 _f_sport_in_get_pos - /tmp/ccEcEoYb.s:1667 .data:0000000000000008 _f_sport_in_buf_size - /tmp/ccEcEoYb.s:49 .text:0000000000000028 _stream_out_buf_free - /tmp/ccEcEoYb.s:1680 .bss:0000000000000024 _f_hdma_out_get_pos - /tmp/ccEcEoYb.s:86 .text:0000000000000050 _hdma_recv_done - /tmp/ccEcEoYb.s:1678 .bss:0000000000000020 _f_hdma_out_put_pos - /tmp/ccEcEoYb.s:118 .text:0000000000000074 _sport_in_buffer_size - /tmp/ccEcEoYb.s:134 .text:0000000000000084 _sport_in_set_step_size - /tmp/ccEcEoYb.s:1662 .data:0000000000000004 _f_sport_in_block_size - /tmp/ccEcEoYb.s:193 .text:00000000000000d4 _sport_rx_stop - /tmp/ccEcEoYb.s:1674 .bss:0000000000000018 _f_bf_reg - /tmp/ccEcEoYb.s:246 .text:0000000000000120 _sport_rx_start - /tmp/ccEcEoYb.s:1676 .bss:000000000000001c _dummy.2439 - /tmp/ccEcEoYb.s:1693 .sdram_noinit:0000000000000000 _f_sport_in_buf - /tmp/ccEcEoYb.s:384 .text:0000000000000208 _stream_proc - /tmp/ccEcEoYb.s:1636 .bss:0000000000000000 _g_stream_in_state - /tmp/ccEcEoYb.s:1658 .bss:000000000000000c _f_sport_in_put_pos - /tmp/ccEcEoYb.s:1682 .bss:0000000000000028 _f_sport_in_proc_pos - /tmp/ccEcEoYb.s:1642 .bss:0000000000000004 _g_stream_out_state - /tmp/ccEcEoYb.s:1703 .bss:0000000000000030 _f_hdma_out_proc_pos - /tmp/ccEcEoYb.s:1701 .bss:000000000000002c _f_hdma_out_start_pos - /tmp/ccEcEoYb.s:1698 .sdram_noinit:0000000000800000 _f_hdma_out_buf - /tmp/ccEcEoYb.s:1687 .rodata:0000000000000000 _f_overflow_wrd - /tmp/ccEcEoYb.s:661 .text:0000000000000398 _stream_out_preload - /tmp/ccEcEoYb.s:733 .text:000000000000040c _l502_stream_init - /tmp/ccEcEoYb.s:755 .text:000000000000042c _streams_stop - /tmp/ccEcEoYb.s:1648 .bss:0000000000000008 _g_mode - /tmp/ccEcEoYb.s:874 .text:00000000000004d4 _isr_sport_dma_rx - /tmp/ccEcEoYb.s:1672 .bss:0000000000000014 _f_recv_size - /tmp/ccEcEoYb.s:1107 .text:0000000000000620 _stream_disable - /tmp/ccEcEoYb.s:1655 .data:0000000000000000 _g_streams - /tmp/ccEcEoYb.s:1199 .text:0000000000000684 _stream_enable - /tmp/ccEcEoYb.s:1290 .text:00000000000006e4 _streams_start - /tmp/ccEcEoYb.s:1708 .sdram_noinit:0000000000c00000 _TX_buff - /tmp/ccEcEoYb.s:1714 .sdram_noinit:0000000000c09c40 _TX_buff_shadow - /tmp/ccEcEoYb.s:1720 .sdram_noinit:0000000000c13880 _AVG_buff + /tmp/ccHY7xFo.s:13 .text:0000000000000000 _stream_in_buf_free + /tmp/ccHY7xFo.s:1670 .bss:0000000000000010 _f_sport_in_get_pos + /tmp/ccHY7xFo.s:1667 .data:0000000000000008 _f_sport_in_buf_size + /tmp/ccHY7xFo.s:49 .text:0000000000000028 _stream_out_buf_free + /tmp/ccHY7xFo.s:1680 .bss:0000000000000024 _f_hdma_out_get_pos + /tmp/ccHY7xFo.s:86 .text:0000000000000050 _hdma_recv_done + /tmp/ccHY7xFo.s:1678 .bss:0000000000000020 _f_hdma_out_put_pos + /tmp/ccHY7xFo.s:118 .text:0000000000000074 _sport_in_buffer_size + /tmp/ccHY7xFo.s:134 .text:0000000000000084 _sport_in_set_step_size + /tmp/ccHY7xFo.s:1662 .data:0000000000000004 _f_sport_in_block_size + /tmp/ccHY7xFo.s:193 .text:00000000000000d4 _sport_rx_stop + /tmp/ccHY7xFo.s:1674 .bss:0000000000000018 _f_bf_reg + /tmp/ccHY7xFo.s:246 .text:0000000000000120 _sport_rx_start + /tmp/ccHY7xFo.s:1676 .bss:000000000000001c _dummy.2440 + /tmp/ccHY7xFo.s:1693 .sdram_noinit:0000000000000000 _f_sport_in_buf + /tmp/ccHY7xFo.s:384 .text:0000000000000208 _stream_proc + /tmp/ccHY7xFo.s:1636 .bss:0000000000000000 _g_stream_in_state + /tmp/ccHY7xFo.s:1658 .bss:000000000000000c _f_sport_in_put_pos + /tmp/ccHY7xFo.s:1682 .bss:0000000000000028 _f_sport_in_proc_pos + /tmp/ccHY7xFo.s:1642 .bss:0000000000000004 _g_stream_out_state + /tmp/ccHY7xFo.s:1703 .bss:0000000000000030 _f_hdma_out_proc_pos + /tmp/ccHY7xFo.s:1701 .bss:000000000000002c _f_hdma_out_start_pos + /tmp/ccHY7xFo.s:1698 .sdram_noinit:0000000000800000 _f_hdma_out_buf + /tmp/ccHY7xFo.s:1687 .rodata:0000000000000000 _f_overflow_wrd + /tmp/ccHY7xFo.s:661 .text:0000000000000398 _stream_out_preload + /tmp/ccHY7xFo.s:733 .text:000000000000040c _l502_stream_init + /tmp/ccHY7xFo.s:755 .text:000000000000042c _streams_stop + /tmp/ccHY7xFo.s:1648 .bss:0000000000000008 _g_mode + /tmp/ccHY7xFo.s:874 .text:00000000000004d4 _isr_sport_dma_rx + /tmp/ccHY7xFo.s:1672 .bss:0000000000000014 _f_recv_size + /tmp/ccHY7xFo.s:1107 .text:0000000000000620 _stream_disable + /tmp/ccHY7xFo.s:1655 .data:0000000000000000 _g_streams + /tmp/ccHY7xFo.s:1199 .text:0000000000000684 _stream_enable + /tmp/ccHY7xFo.s:1290 .text:00000000000006e4 _streams_start + /tmp/ccHY7xFo.s:1708 .sdram_noinit:0000000000c00000 _TX_buff + /tmp/ccHY7xFo.s:1714 .sdram_noinit:0000000000c61a80 _TX_buff_shadow + /tmp/ccHY7xFo.s:1720 .sdram_noinit:0000000000cc3500 _AVG_buff UNDEFINED SYMBOLS ___udivsi3 diff --git a/build/release/lst/l502_user_process.lst b/build/release/lst/l502_user_process.lst index 21def1e..6510fbd 100644 --- a/build/release/lst/l502_user_process.lst +++ b/build/release/lst/l502_user_process.lst @@ -1,4 +1,4 @@ -BFIN GAS /tmp/ccBtsGqv.s page 1 +BFIN GAS /tmp/ccYZl5FJ.s page 1 1 .file "src/l502_user_process.c"; @@ -8,7 +8,7 @@ BFIN GAS /tmp/ccBtsGqv.s page 1 5 .Ldebug_info0: 6 .section .debug_line,"",@progbits 7 .Ldebug_line0: - 8 0000 5F020000 .text; + 8 0000 6C020000 .text; 8 02000001 8 00000101 8 FB0E0D00 @@ -58,7 +58,7 @@ BFIN GAS /tmp/ccBtsGqv.s page 1 36:src/l502_user_process.c **** //#define TX_BUFF_SIZE 1024*1024 37:src/l502_user_process.c **** //#define TX_BUFF_SIZE 1000 38:src/l502_user_process.c **** - BFIN GAS /tmp/ccBtsGqv.s page 2 + BFIN GAS /tmp/ccYZl5FJ.s page 2 39:src/l502_user_process.c **** #define LFSM_BUFF_SIZE 1000 @@ -118,7 +118,7 @@ BFIN GAS /tmp/ccBtsGqv.s page 1 93:src/l502_user_process.c **** volatile uint32_t TX_marker[10] = {0xFE00000F,0xFE0000F0, 0xFE000F00, 0xFE00F000, 0xFE0F0000,0xFEF0 94:src/l502_user_process.c **** 95:src/l502_user_process.c **** volatile struct dataprocessor_dypedef{ - BFIN GAS /tmp/ccBtsGqv.s page 3 + BFIN GAS /tmp/ccYZl5FJ.s page 3 96:src/l502_user_process.c **** uint8_t mode; @@ -141,631 +141,647 @@ BFIN GAS /tmp/ccBtsGqv.s page 1 113:src/l502_user_process.c **** uint8_t DIN2_SYN_value_prev; 114:src/l502_user_process.c **** }Proc_state; 115:src/l502_user_process.c **** - 116:src/l502_user_process.c **** volatile uint32_t TX_buff_I = 0; - 117:src/l502_user_process.c **** volatile uint32_t TX_buff_I_shadow = 123321; - 118:src/l502_user_process.c **** - 119:src/l502_user_process.c **** volatile uint32_t data_I = 0; - 120:src/l502_user_process.c **** volatile uint32_t send_size = 0; - 121:src/l502_user_process.c **** - 122:src/l502_user_process.c **** volatile uint8_t TX_buff_state = TX_DONE; //FILLING, TODO_TX, TRANSMITTING, TX_DONE, BUFF_READY, - 123:src/l502_user_process.c **** volatile uint32_t tx_val = 0; - 124:src/l502_user_process.c **** - 125:src/l502_user_process.c **** //int f_sport_test(void); - 126:src/l502_user_process.c **** void l502_stream_init(void); - 127:src/l502_user_process.c **** - 128:src/l502_user_process.c **** //struct LFSM_typedef{ - 129:src/l502_user_process.c **** // uint8_t - 130:src/l502_user_process.c **** //}; - 131:src/l502_user_process.c **** - 132:src/l502_user_process.c **** uint8_t LFSM_started = 0; + 116:src/l502_user_process.c **** volatile uint32_t flood_I = 0; + 117:src/l502_user_process.c **** + 118:src/l502_user_process.c **** volatile uint32_t TX_buff_I = 0; + 119:src/l502_user_process.c **** volatile uint32_t TX_buff_I_shadow = 123321; + 120:src/l502_user_process.c **** + 121:src/l502_user_process.c **** volatile uint32_t data_I = 0; + 122:src/l502_user_process.c **** volatile uint32_t send_size = 0; + 123:src/l502_user_process.c **** + 124:src/l502_user_process.c **** volatile uint8_t TX_buff_state = TX_DONE; //FILLING, TODO_TX, TRANSMITTING, TX_DONE, BUFF_READY, + 125:src/l502_user_process.c **** volatile uint32_t tx_val = 0; + 126:src/l502_user_process.c **** + 127:src/l502_user_process.c **** //int f_sport_test(void); + 128:src/l502_user_process.c **** void l502_stream_init(void); + 129:src/l502_user_process.c **** + 130:src/l502_user_process.c **** //struct LFSM_typedef{ + 131:src/l502_user_process.c **** // uint8_t + 132:src/l502_user_process.c **** //}; 133:src/l502_user_process.c **** - 134:src/l502_user_process.c **** - 135:src/l502_user_process.c **** uint8_t DY_SYN_2_value = 0; - 136:src/l502_user_process.c **** uint8_t DY_SYN_2_value_prev = 0; - 137:src/l502_user_process.c **** /***************************************************************************//** - 138:src/l502_user_process.c **** @brief Обработка принятого массива данных АЦП/DIN. - 139:src/l502_user_process.c **** - 140:src/l502_user_process.c **** Функция вызывается каждый раз, когда обнаружены нов - 141:src/l502_user_process.c **** АЦП/цифровых входов, пришедшие по SPORT0. - 142:src/l502_user_process.c **** - 143:src/l502_user_process.c **** Функция должна обработать данные и вернуть количес - 144:src/l502_user_process.c **** однако эти данные все еще считаются использованным - 145:src/l502_user_process.c **** новыми пришедшими данными) до тех пор пока не будет - 146:src/l502_user_process.c **** stream_in_buf_free()). - 147:src/l502_user_process.c **** - 148:src/l502_user_process.c **** Если функция вернет значение меньше чем size, то функц - 149:src/l502_user_process.c **** следующем проходе еще раз с указателем на необработ - 150:src/l502_user_process.c **** - 151:src/l502_user_process.c **** В текущей реализации просто запускается передача д + 134:src/l502_user_process.c **** uint8_t LFSM_started = 0; + 135:src/l502_user_process.c **** + 136:src/l502_user_process.c **** + 137:src/l502_user_process.c **** uint8_t DY_SYN_2_value = 0; + 138:src/l502_user_process.c **** uint8_t DY_SYN_2_value_prev = 0; + 139:src/l502_user_process.c **** /***************************************************************************//** + 140:src/l502_user_process.c **** @brief Обработка принятого массива данных АЦП/DIN. + 141:src/l502_user_process.c **** + 142:src/l502_user_process.c **** Функция вызывается каждый раз, когда обнаружены нов + 143:src/l502_user_process.c **** АЦП/цифровых входов, пришедшие по SPORT0. + 144:src/l502_user_process.c **** + 145:src/l502_user_process.c **** Функция должна обработать данные и вернуть количес + 146:src/l502_user_process.c **** однако эти данные все еще считаются использованным + 147:src/l502_user_process.c **** новыми пришедшими данными) до тех пор пока не будет + 148:src/l502_user_process.c **** stream_in_buf_free()). + 149:src/l502_user_process.c **** + 150:src/l502_user_process.c **** Если функция вернет значение меньше чем size, то функц + 151:src/l502_user_process.c **** следующем проходе еще раз с указателем на необработ 152:src/l502_user_process.c **** - BFIN GAS /tmp/ccBtsGqv.s page 4 + BFIN GAS /tmp/ccYZl5FJ.s page 4 - 153:src/l502_user_process.c **** @param[in] data Указатель на массив с принятыми данными - 154:src/l502_user_process.c **** @param[in] size Количество принятых данных в 32-битных сло - 155:src/l502_user_process.c **** @return Функция возвращает количество обработанн - 156:src/l502_user_process.c **** На эти данные не будет вызываться повторн - 157:src/l502_user_process.c **** но они считаются еще используемыми - 158:src/l502_user_process.c **** *******************************************************************************/ - 159:src/l502_user_process.c **** uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) { - 160:src/l502_user_process.c **** /* если есть свободные дескрипторы на передачу по HDMA - 161:src/l502_user_process.c **** передачу. Иначе возвращаем 0, чтобы на обработку эт - 162:src/l502_user_process.c **** вызвали бы позже */ - 163:src/l502_user_process.c **** ++streams_cnt[0]; - 164:src/l502_user_process.c **** - 165:src/l502_user_process.c **** + 153:src/l502_user_process.c **** В текущей реализации просто запускается передача д + 154:src/l502_user_process.c **** + 155:src/l502_user_process.c **** @param[in] data Указатель на массив с принятыми данными + 156:src/l502_user_process.c **** @param[in] size Количество принятых данных в 32-битных сло + 157:src/l502_user_process.c **** @return Функция возвращает количество обработанн + 158:src/l502_user_process.c **** На эти данные не будет вызываться повторн + 159:src/l502_user_process.c **** но они считаются еще используемыми + 160:src/l502_user_process.c **** *******************************************************************************/ + 161:src/l502_user_process.c **** uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) { + 162:src/l502_user_process.c **** /* если есть свободные дескрипторы на передачу по HDMA + 163:src/l502_user_process.c **** передачу. Иначе возвращаем 0, чтобы на обработку эт + 164:src/l502_user_process.c **** вызвали бы позже */ + 165:src/l502_user_process.c **** ++streams_cnt[0]; 166:src/l502_user_process.c **** - 167:src/l502_user_process.c **** //clear TX_buff - 168:src/l502_user_process.c **** if (TX_buff_state == TX_DONE){ - 169:src/l502_user_process.c **** for (int i = 0; i < TX_BUFF_SIZE; ++i){ - 170:src/l502_user_process.c **** //TX_buff[i] = 0x00000123; - 171:src/l502_user_process.c **** TX_buff[i] = tx_val++ | 0xEE000000; - 172:src/l502_user_process.c **** //TX_buff[i] = size; - 173:src/l502_user_process.c **** } - 174:src/l502_user_process.c **** TX_buff_state = FILLING; - 175:src/l502_user_process.c **** } - 176:src/l502_user_process.c **** /* - 177:src/l502_user_process.c **** for (int i = 0; i < TX_BUFF_SIZE; ++i){ - 178:src/l502_user_process.c **** TX_buff[i] = 0x00000000; - 179:src/l502_user_process.c **** } - 180:src/l502_user_process.c **** */ - 181:src/l502_user_process.c **** - 182:src/l502_user_process.c **** //for (int i = 0; i < dbg_sport_rx_copy; ++i){ - 183:src/l502_user_process.c **** // dbg_sport_rx_copy[i] = data[i]; - 184:src/l502_user_process.c **** //} - 185:src/l502_user_process.c **** - 186:src/l502_user_process.c **** - 187:src/l502_user_process.c **** - 188:src/l502_user_process.c **** //* - 189:src/l502_user_process.c **** //simple transparent mode - 190:src/l502_user_process.c **** if (Proc_state.mode == TRANSPARENT){ - 191:src/l502_user_process.c **** //++Proc_state.average_N; + 167:src/l502_user_process.c **** if (Proc_state.mode == FLOOD){ + 168:src/l502_user_process.c **** for (int i = 0; i < TX_BUFF_SIZE; ++i){ + 169:src/l502_user_process.c **** TX_buff[i] = flood_I++; + 170:src/l502_user_process.c **** } + 171:src/l502_user_process.c **** } + 172:src/l502_user_process.c **** + 173:src/l502_user_process.c **** + 174:src/l502_user_process.c **** //clear TX_buff + 175:src/l502_user_process.c **** if (TX_buff_state == TX_DONE){ + 176:src/l502_user_process.c **** for (int i = 0; i < TX_BUFF_SIZE; ++i){ + 177:src/l502_user_process.c **** //TX_buff[i] = 0x00000123; + 178:src/l502_user_process.c **** TX_buff[i] = tx_val++ | 0xEE000000; + 179:src/l502_user_process.c **** //TX_buff[i] = size; + 180:src/l502_user_process.c **** } + 181:src/l502_user_process.c **** TX_buff_state = FILLING; + 182:src/l502_user_process.c **** } + 183:src/l502_user_process.c **** /* + 184:src/l502_user_process.c **** for (int i = 0; i < TX_BUFF_SIZE; ++i){ + 185:src/l502_user_process.c **** TX_buff[i] = 0x00000000; + 186:src/l502_user_process.c **** } + 187:src/l502_user_process.c **** */ + 188:src/l502_user_process.c **** + 189:src/l502_user_process.c **** //for (int i = 0; i < dbg_sport_rx_copy; ++i){ + 190:src/l502_user_process.c **** // dbg_sport_rx_copy[i] = data[i]; + 191:src/l502_user_process.c **** //} 192:src/l502_user_process.c **** - 193:src/l502_user_process.c **** if (TX_buff_state == FILLING){ - 194:src/l502_user_process.c **** data_I = 0; - 195:src/l502_user_process.c **** TX_buff_I = 0; - 196:src/l502_user_process.c **** while((++data_I < size )&& (++TX_buff_I < TX_BUFF_SIZE)){ - 197:src/l502_user_process.c **** //; - 198:src/l502_user_process.c **** TX_buff[TX_buff_I] = data[data_I]; - 199:src/l502_user_process.c **** } - 200:src/l502_user_process.c **** - 201:src/l502_user_process.c **** TX_buff_state = TODO_TX; - 202:src/l502_user_process.c **** //tx_val = 0; - 203:src/l502_user_process.c **** } - 204:src/l502_user_process.c **** //TX_buff_state = DUMMY; - 205:src/l502_user_process.c **** - 206:src/l502_user_process.c **** } - 207:src/l502_user_process.c **** //TX_buff_I = TX_BUFF_SIZE; - 208:src/l502_user_process.c **** - 209:src/l502_user_process.c **** if (Proc_state.mode == AVG){ - BFIN GAS /tmp/ccBtsGqv.s page 5 + 193:src/l502_user_process.c **** + 194:src/l502_user_process.c **** + 195:src/l502_user_process.c **** //* + 196:src/l502_user_process.c **** //simple transparent mode + 197:src/l502_user_process.c **** if (Proc_state.mode == TRANSPARENT){ + 198:src/l502_user_process.c **** //++Proc_state.average_N; + 199:src/l502_user_process.c **** + 200:src/l502_user_process.c **** if (TX_buff_state == FILLING){ + 201:src/l502_user_process.c **** data_I = 0; + 202:src/l502_user_process.c **** TX_buff_I = 0; + 203:src/l502_user_process.c **** while((++data_I < size )&& (++TX_buff_I < TX_BUFF_SIZE)){ + 204:src/l502_user_process.c **** //; + 205:src/l502_user_process.c **** TX_buff[TX_buff_I] = data[data_I]; + 206:src/l502_user_process.c **** } + 207:src/l502_user_process.c **** + 208:src/l502_user_process.c **** TX_buff_state = TODO_TX; + 209:src/l502_user_process.c **** //tx_val = 0; + BFIN GAS /tmp/ccYZl5FJ.s page 5 - 210:src/l502_user_process.c **** while(++data_I < size ){ - 211:src/l502_user_process.c **** uint32_t word = data[data_I]; - 212:src/l502_user_process.c **** uint32_t val = word & 0x00FFFFFF; - 213:src/l502_user_process.c **** uint8_t header = (uint8_t)(word >> 24); - 214:src/l502_user_process.c **** if (header == 0x00){ //digital_channel. switches LFSM state machine - 215:src/l502_user_process.c **** DY_SYN_2_value_prev = DY_SYN_2_value; - 216:src/l502_user_process.c **** if (word & (0b1 << 17)){ - 217:src/l502_user_process.c **** DY_SYN_2_value = 1; - 218:src/l502_user_process.c **** }else{ - 219:src/l502_user_process.c **** DY_SYN_2_value = 0; - 220:src/l502_user_process.c **** } - 221:src/l502_user_process.c **** - 222:src/l502_user_process.c **** if ((DY_SYN_2_value == 1)&& (DY_SYN_2_value_prev == 0)){ //new cycle started - 223:src/l502_user_process.c **** //data[data_I] = 0xB00000000; - 224:src/l502_user_process.c **** Proc_state.average_N ++; - 225:src/l502_user_process.c **** Proc_state.AVG_buff_I = 0; - 226:src/l502_user_process.c **** Proc_state.LFSM_state = CYCLE_STARTED; - 227:src/l502_user_process.c **** if (Proc_state.average_N >= Proc_state.average_N_max){ //whole average ended - 228:src/l502_user_process.c **** Proc_state.average_N = 0; - 229:src/l502_user_process.c **** //if (1){ - 230:src/l502_user_process.c **** Proc_state.AVG_state = FULLY_COMPLETED; - 231:src/l502_user_process.c **** //averaging completed => copy average results to TX_buff and start avg again - 232:src/l502_user_process.c **** TX_buff_I = 0; - 233:src/l502_user_process.c **** for (uint32_t i = 0; ((TX_buff_I < TX_BUFF_SIZE) && (i < AVG_BUFF_SIZE)); i++){ - 234:src/l502_user_process.c **** // uint32_t i = 0; - 235:src/l502_user_process.c **** // while ((TX_buff_I < TX_BUFF_SIZE) && (i < AVG_BUFF_SIZE)){ - 236:src/l502_user_process.c **** TX_buff[TX_buff_I++] = AVG_buff[i]; - 237:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = 0xB0000000 + Proc_state.average_N; - 238:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = 0xC1000000; - 239:src/l502_user_process.c **** } - 240:src/l502_user_process.c **** - 241:src/l502_user_process.c **** //clear AVG_buff: - 242:src/l502_user_process.c **** for (uint32_t i = 0; i < AVG_BUFF_SIZE; i++ ){ - 243:src/l502_user_process.c **** AVG_buff[i] = 0xC2321123; - 244:src/l502_user_process.c **** } - 245:src/l502_user_process.c **** - 246:src/l502_user_process.c **** TX_buff_state = TODO_TX; - 247:src/l502_user_process.c **** /* - 248:src/l502_user_process.c **** for (uint32_t i = 0; i < TX_BUFF_SIZE; ++i){ - 249:src/l502_user_process.c **** TX_buff_shadow[i] = TX_buff[i]; - 250:src/l502_user_process.c **** } - 251:src/l502_user_process.c **** hdma_send_req_start(TX_buff_shadow, TX_buff_I, 0); - 252:src/l502_user_process.c **** hdma_send_req_start(TX_marker, 10, 0); - 253:src/l502_user_process.c **** - 254:src/l502_user_process.c **** - 255:src/l502_user_process.c **** // hdma_send_req_start(TX_buff, TX_BUFF_SIZE, 0); - 256:src/l502_user_process.c **** //TX_buff_state = TRANSMITTING; - 257:src/l502_user_process.c **** TX_buff_state = TX_DONE; - 258:src/l502_user_process.c **** */ - 259:src/l502_user_process.c **** - 260:src/l502_user_process.c **** }else{ // - 261:src/l502_user_process.c **** Proc_state.AVG_state = STEP_RUNNING; - 262:src/l502_user_process.c **** Proc_state.AVG_buff_I = 0; - 263:src/l502_user_process.c **** - 264:src/l502_user_process.c **** } - 265:src/l502_user_process.c **** } + 210:src/l502_user_process.c **** } + 211:src/l502_user_process.c **** //TX_buff_state = DUMMY; + 212:src/l502_user_process.c **** + 213:src/l502_user_process.c **** } + 214:src/l502_user_process.c **** //TX_buff_I = TX_BUFF_SIZE; + 215:src/l502_user_process.c **** + 216:src/l502_user_process.c **** if (Proc_state.mode == AVG){ + 217:src/l502_user_process.c **** while(++data_I < size ){ + 218:src/l502_user_process.c **** uint32_t word = data[data_I]; + 219:src/l502_user_process.c **** uint32_t val = word & 0x00FFFFFF; + 220:src/l502_user_process.c **** uint8_t header = (uint8_t)(word >> 24); + 221:src/l502_user_process.c **** if (header == 0x00){ //digital_channel. switches LFSM state machine + 222:src/l502_user_process.c **** DY_SYN_2_value_prev = DY_SYN_2_value; + 223:src/l502_user_process.c **** if (word & (0b1 << 17)){ + 224:src/l502_user_process.c **** DY_SYN_2_value = 1; + 225:src/l502_user_process.c **** }else{ + 226:src/l502_user_process.c **** DY_SYN_2_value = 0; + 227:src/l502_user_process.c **** } + 228:src/l502_user_process.c **** + 229:src/l502_user_process.c **** if ((DY_SYN_2_value == 1)&& (DY_SYN_2_value_prev == 0)){ //new cycle started + 230:src/l502_user_process.c **** //data[data_I] = 0xB00000000; + 231:src/l502_user_process.c **** Proc_state.average_N ++; + 232:src/l502_user_process.c **** Proc_state.AVG_buff_I = 0; + 233:src/l502_user_process.c **** Proc_state.LFSM_state = CYCLE_STARTED; + 234:src/l502_user_process.c **** if (Proc_state.average_N >= Proc_state.average_N_max){ //whole average ended + 235:src/l502_user_process.c **** Proc_state.average_N = 0; + 236:src/l502_user_process.c **** //if (1){ + 237:src/l502_user_process.c **** Proc_state.AVG_state = FULLY_COMPLETED; + 238:src/l502_user_process.c **** //averaging completed => copy average results to TX_buff and start avg again + 239:src/l502_user_process.c **** TX_buff_I = 0; + 240:src/l502_user_process.c **** for (uint32_t i = 0; ((TX_buff_I < TX_BUFF_SIZE) && (i < AVG_BUFF_SIZE)); i++){ + 241:src/l502_user_process.c **** // uint32_t i = 0; + 242:src/l502_user_process.c **** // while ((TX_buff_I < TX_BUFF_SIZE) && (i < AVG_BUFF_SIZE)){ + 243:src/l502_user_process.c **** TX_buff[TX_buff_I++] = AVG_buff[i]; + 244:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = 0xB0000000 + Proc_state.average_N; + 245:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = 0xC1000000; + 246:src/l502_user_process.c **** } + 247:src/l502_user_process.c **** + 248:src/l502_user_process.c **** //clear AVG_buff: + 249:src/l502_user_process.c **** for (uint32_t i = 0; i < AVG_BUFF_SIZE; i++ ){ + 250:src/l502_user_process.c **** AVG_buff[i] = 0xC2321123; + 251:src/l502_user_process.c **** } + 252:src/l502_user_process.c **** + 253:src/l502_user_process.c **** TX_buff_state = TODO_TX; + 254:src/l502_user_process.c **** /* + 255:src/l502_user_process.c **** for (uint32_t i = 0; i < TX_BUFF_SIZE; ++i){ + 256:src/l502_user_process.c **** TX_buff_shadow[i] = TX_buff[i]; + 257:src/l502_user_process.c **** } + 258:src/l502_user_process.c **** hdma_send_req_start(TX_buff_shadow, TX_buff_I, 0); + 259:src/l502_user_process.c **** hdma_send_req_start(TX_marker, 10, 0); + 260:src/l502_user_process.c **** + 261:src/l502_user_process.c **** + 262:src/l502_user_process.c **** // hdma_send_req_start(TX_buff, TX_BUFF_SIZE, 0); + 263:src/l502_user_process.c **** //TX_buff_state = TRANSMITTING; + 264:src/l502_user_process.c **** TX_buff_state = TX_DONE; + 265:src/l502_user_process.c **** */ 266:src/l502_user_process.c **** - BFIN GAS /tmp/ccBtsGqv.s page 6 + BFIN GAS /tmp/ccYZl5FJ.s page 6 - 267:src/l502_user_process.c **** }else if(header == 0xD0){ //first phy channel - 268:src/l502_user_process.c **** // if (Proc_state.AVG_state == STEP_RUNNING){ - 269:src/l502_user_process.c **** // if (Proc_state.LFSM_state == CYCLE_STARTED){ - 270:src/l502_user_process.c **** if (1){ - 271:src/l502_user_process.c **** if (1){ - 272:src/l502_user_process.c **** // AVG_buff[Proc_state.AVG_buff_I++] = 0xC0000000 | (0x00FFFFFF & (AVG_buff[Proc_state.AVG - 273:src/l502_user_process.c **** AVG_buff[Proc_state.AVG_buff_I] = 0xC0000000 | ((val + AVG_buff[Proc_state.AVG_buff_I]) & 0x - 274:src/l502_user_process.c **** //AVG_buff[Proc_state.AVG_buff_I++] = 0xC0000000; - 275:src/l502_user_process.c **** Proc_state.AVG_buff_I++; - 276:src/l502_user_process.c **** if (Proc_state.AVG_buff_I >= AVG_BUFF_SIZE){ - 277:src/l502_user_process.c **** Proc_state.AVG_state = STEP_COMPLETED; - 278:src/l502_user_process.c **** } - 279:src/l502_user_process.c **** } - 280:src/l502_user_process.c **** } - 281:src/l502_user_process.c **** } - 282:src/l502_user_process.c **** } - 283:src/l502_user_process.c **** } - 284:src/l502_user_process.c **** - 285:src/l502_user_process.c **** - 286:src/l502_user_process.c **** - 287:src/l502_user_process.c **** - 288:src/l502_user_process.c **** /* - 289:src/l502_user_process.c **** if (Proc_state.mode == AVG){ - 290:src/l502_user_process.c **** data_I = 0; - 291:src/l502_user_process.c **** //TX_buff_I = 0; - 292:src/l502_user_process.c **** Proc_state.AVG_buff_I = 0; - 293:src/l502_user_process.c **** if (Proc_state.AVG_buff_active == A){ - 294:src/l502_user_process.c **** while((data_I < size )&& (Proc_state.AVG_buff_I < (AVG_BUFF_SIZE - 10))){ - 295:src/l502_user_process.c **** uint32_t word = data[data_I]; - 296:src/l502_user_process.c **** //uint32_t avg_word = AVG_buff_A[Proc_state.AVG_buff_I++]; - 297:src/l502_user_process.c **** //AVG_buff_A[Proc_state.AVG_buff_I] = (avg_word & 0x007FFFFF) + (word & 0x007FFFFF); - 298:src/l502_user_process.c **** //AVG_buff_A[Proc_state.AVG_buff_I] = 0xDD000000 | (word & 0x00FFFFFF); - 299:src/l502_user_process.c **** AVG_buff_A[Proc_state.AVG_buff_I] = word; - 300:src/l502_user_process.c **** //AVG_buff[Proc_state.AVG_buff_I++] = data[data_I++]; - 301:src/l502_user_process.c **** //AVG_buff[Proc_state.AVG_buff_I] = data[data_I]; - 302:src/l502_user_process.c **** //uint32_t word = data[data_I]; - 303:src/l502_user_process.c **** //AVG_buff[Proc_state.AVG_buff_I] = word; - 304:src/l502_user_process.c **** //AVG_buff_A[Proc_state.AVG_buff_I] = 0xDD000000 | (Proc_state.AVG_buff_I & 0x00FFFFFF); - 305:src/l502_user_process.c **** - 306:src/l502_user_process.c **** Proc_state.AVG_buff_I++; - 307:src/l502_user_process.c **** data_I++; - 308:src/l502_user_process.c **** } - 309:src/l502_user_process.c **** //Proc_state.AVG_buff_I++; - 310:src/l502_user_process.c **** //AVG_buff_A[Proc_state.AVG_buff_I] = 0xDD000000 | (Proc_state.AVG_buff_I & 0x00FFFFFF); - 311:src/l502_user_process.c **** //data_I++; - 312:src/l502_user_process.c **** //Proc_state.AVG_buff_I = 0; - 313:src/l502_user_process.c **** }else{ - 314:src/l502_user_process.c **** while((data_I < size )&& (Proc_state.AVG_buff_I < (AVG_BUFF_SIZE - 10))){ - 315:src/l502_user_process.c **** //uint32_t word = data[data_I]; - 316:src/l502_user_process.c **** AVG_buff_B[Proc_state.AVG_buff_I] = 0xDE000000 | (Proc_state.AVG_buff_I & 0x00FFFFFF); - 317:src/l502_user_process.c **** Proc_state.AVG_buff_I++; - 318:src/l502_user_process.c **** data_I++; - 319:src/l502_user_process.c **** } - 320:src/l502_user_process.c **** // Proc_state.AVG_buff_I++; - 321:src/l502_user_process.c **** // AVG_buff_B[Proc_state.AVG_buff_I] = 0xDD000000 | (Proc_state.AVG_buff_I & 0x00FFFFFF); - 322:src/l502_user_process.c **** - 323:src/l502_user_process.c **** } - BFIN GAS /tmp/ccBtsGqv.s page 7 + 267:src/l502_user_process.c **** }else{ // + 268:src/l502_user_process.c **** Proc_state.AVG_state = STEP_RUNNING; + 269:src/l502_user_process.c **** Proc_state.AVG_buff_I = 0; + 270:src/l502_user_process.c **** + 271:src/l502_user_process.c **** } + 272:src/l502_user_process.c **** } + 273:src/l502_user_process.c **** + 274:src/l502_user_process.c **** }else if(header == 0xD0){ //first phy channel + 275:src/l502_user_process.c **** // if (Proc_state.AVG_state == STEP_RUNNING){ + 276:src/l502_user_process.c **** // if (Proc_state.LFSM_state == CYCLE_STARTED){ + 277:src/l502_user_process.c **** if (1){ + 278:src/l502_user_process.c **** if (1){ + 279:src/l502_user_process.c **** // AVG_buff[Proc_state.AVG_buff_I++] = 0xC0000000 | (0x00FFFFFF & (AVG_buff[Proc_state.AVG + 280:src/l502_user_process.c **** AVG_buff[Proc_state.AVG_buff_I] = 0xC0000000 | ((val + AVG_buff[Proc_state.AVG_buff_I]) & 0x + 281:src/l502_user_process.c **** //AVG_buff[Proc_state.AVG_buff_I++] = 0xC0000000; + 282:src/l502_user_process.c **** Proc_state.AVG_buff_I++; + 283:src/l502_user_process.c **** if (Proc_state.AVG_buff_I >= AVG_BUFF_SIZE){ + 284:src/l502_user_process.c **** Proc_state.AVG_state = STEP_COMPLETED; + 285:src/l502_user_process.c **** } + 286:src/l502_user_process.c **** } + 287:src/l502_user_process.c **** } + 288:src/l502_user_process.c **** } + 289:src/l502_user_process.c **** } + 290:src/l502_user_process.c **** } + 291:src/l502_user_process.c **** + 292:src/l502_user_process.c **** + 293:src/l502_user_process.c **** + 294:src/l502_user_process.c **** + 295:src/l502_user_process.c **** /* + 296:src/l502_user_process.c **** if (Proc_state.mode == AVG){ + 297:src/l502_user_process.c **** data_I = 0; + 298:src/l502_user_process.c **** //TX_buff_I = 0; + 299:src/l502_user_process.c **** Proc_state.AVG_buff_I = 0; + 300:src/l502_user_process.c **** if (Proc_state.AVG_buff_active == A){ + 301:src/l502_user_process.c **** while((data_I < size )&& (Proc_state.AVG_buff_I < (AVG_BUFF_SIZE - 10))){ + 302:src/l502_user_process.c **** uint32_t word = data[data_I]; + 303:src/l502_user_process.c **** //uint32_t avg_word = AVG_buff_A[Proc_state.AVG_buff_I++]; + 304:src/l502_user_process.c **** //AVG_buff_A[Proc_state.AVG_buff_I] = (avg_word & 0x007FFFFF) + (word & 0x007FFFFF); + 305:src/l502_user_process.c **** //AVG_buff_A[Proc_state.AVG_buff_I] = 0xDD000000 | (word & 0x00FFFFFF); + 306:src/l502_user_process.c **** AVG_buff_A[Proc_state.AVG_buff_I] = word; + 307:src/l502_user_process.c **** //AVG_buff[Proc_state.AVG_buff_I++] = data[data_I++]; + 308:src/l502_user_process.c **** //AVG_buff[Proc_state.AVG_buff_I] = data[data_I]; + 309:src/l502_user_process.c **** //uint32_t word = data[data_I]; + 310:src/l502_user_process.c **** //AVG_buff[Proc_state.AVG_buff_I] = word; + 311:src/l502_user_process.c **** //AVG_buff_A[Proc_state.AVG_buff_I] = 0xDD000000 | (Proc_state.AVG_buff_I & 0x00FFFFFF); + 312:src/l502_user_process.c **** + 313:src/l502_user_process.c **** Proc_state.AVG_buff_I++; + 314:src/l502_user_process.c **** data_I++; + 315:src/l502_user_process.c **** } + 316:src/l502_user_process.c **** //Proc_state.AVG_buff_I++; + 317:src/l502_user_process.c **** //AVG_buff_A[Proc_state.AVG_buff_I] = 0xDD000000 | (Proc_state.AVG_buff_I & 0x00FFFFFF); + 318:src/l502_user_process.c **** //data_I++; + 319:src/l502_user_process.c **** //Proc_state.AVG_buff_I = 0; + 320:src/l502_user_process.c **** }else{ + 321:src/l502_user_process.c **** while((data_I < size )&& (Proc_state.AVG_buff_I < (AVG_BUFF_SIZE - 10))){ + 322:src/l502_user_process.c **** //uint32_t word = data[data_I]; + 323:src/l502_user_process.c **** AVG_buff_B[Proc_state.AVG_buff_I] = 0xDE000000 | (Proc_state.AVG_buff_I & 0x00FFFFFF); + BFIN GAS /tmp/ccYZl5FJ.s page 7 - 324:src/l502_user_process.c **** - 325:src/l502_user_process.c **** - 326:src/l502_user_process.c **** } - 327:src/l502_user_process.c **** */ - 328:src/l502_user_process.c **** - 329:src/l502_user_process.c **** /*/ - 330:src/l502_user_process.c **** - 331:src/l502_user_process.c **** if (Proc_state.mode == AVG){ - 332:src/l502_user_process.c **** uint32_t data_I = 0; - 333:src/l502_user_process.c **** while((data_I < size )&& (TX_buff_I < (TX_BUFF_SIZE - 1))){ - 334:src/l502_user_process.c **** // TX_buff[TX_buff_I++] = data[data_I++]; - 335:src/l502_user_process.c **** uint32_t word = data[data_I++]; - 336:src/l502_user_process.c **** TX_buff[TX_buff_I++] = (word & 0x00FFFFFF);// | 0xDE000000; - 337:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = ((word & 0x00FFFFFF) | 0xDE000000); - 338:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = 0xADEFDEED; - 339:src/l502_user_process.c **** } - 340:src/l502_user_process.c **** } - 341:src/l502_user_process.c **** //*/ - 342:src/l502_user_process.c **** - 343:src/l502_user_process.c **** //* - 344:src/l502_user_process.c **** - 345:src/l502_user_process.c **** - 346:src/l502_user_process.c **** // if (Proc_state.mode == AVG){ - 347:src/l502_user_process.c **** //TX_buff_I = 10; - 348:src/l502_user_process.c **** /* - 349:src/l502_user_process.c **** uint32_t data_I = 0; - 350:src/l502_user_process.c **** uint8_t new_cycle_started = 0; - 351:src/l502_user_process.c **** uint8_t cycle_cont = 1; - 352:src/l502_user_process.c **** while ((data_I < size) && (Proc_state.AVG_buff_I < AVG_BUFF_SIZE) && cycle_cont ){ - 353:src/l502_user_process.c **** uint32_t word = data[data_I]; - 354:src/l502_user_process.c **** uint32_t val = word & 0x00FFFFFF; - 355:src/l502_user_process.c **** uint8_t header = (uint8_t)(word >> 24); - 356:src/l502_user_process.c **** */ - 357:src/l502_user_process.c **** /* - 358:src/l502_user_process.c **** if (header == 0x00){ - 359:src/l502_user_process.c **** Proc_state.digital_word_prev = Proc_state.digital_word_curr; - 360:src/l502_user_process.c **** Proc_state.digital_word_curr = word; - 361:src/l502_user_process.c **** DY_SYN_2_value_prev = DY_SYN_2_value; - 362:src/l502_user_process.c **** if (word & 0b1 << 17){ - 363:src/l502_user_process.c **** DY_SYN_2_value = 1; - 364:src/l502_user_process.c **** }else{ - 365:src/l502_user_process.c **** DY_SYN_2_value = 0; - 366:src/l502_user_process.c **** } - 367:src/l502_user_process.c **** - 368:src/l502_user_process.c **** if ((DY_SYN_2_value == 1)&& (DY_SYN_2_value_prev == 0)){ //new cycle started - 369:src/l502_user_process.c **** new_cycle_started = 1; - 370:src/l502_user_process.c **** } - 371:src/l502_user_process.c **** } - 372:src/l502_user_process.c **** //*/ - 373:src/l502_user_process.c **** /* - 374:src/l502_user_process.c **** if (header == 0xD0){ //it`s first channel - 375:src/l502_user_process.c **** if (new_cycle_started){ - 376:src/l502_user_process.c **** new_cycle_started = 0; - 377:src/l502_user_process.c **** ++Proc_state.average_N; - 378:src/l502_user_process.c **** if (Proc_state.average_N >= Proc_state.average_N_max){ - 379:src/l502_user_process.c **** Proc_state.mode == AVG_DONE; - 380:src/l502_user_process.c **** cycle_cont = 0; //break averaging cycle - BFIN GAS /tmp/ccBtsGqv.s page 8 + 324:src/l502_user_process.c **** Proc_state.AVG_buff_I++; + 325:src/l502_user_process.c **** data_I++; + 326:src/l502_user_process.c **** } + 327:src/l502_user_process.c **** // Proc_state.AVG_buff_I++; + 328:src/l502_user_process.c **** // AVG_buff_B[Proc_state.AVG_buff_I] = 0xDD000000 | (Proc_state.AVG_buff_I & 0x00FFFFFF); + 329:src/l502_user_process.c **** + 330:src/l502_user_process.c **** } + 331:src/l502_user_process.c **** + 332:src/l502_user_process.c **** + 333:src/l502_user_process.c **** } + 334:src/l502_user_process.c **** */ + 335:src/l502_user_process.c **** + 336:src/l502_user_process.c **** /*/ + 337:src/l502_user_process.c **** + 338:src/l502_user_process.c **** if (Proc_state.mode == AVG){ + 339:src/l502_user_process.c **** uint32_t data_I = 0; + 340:src/l502_user_process.c **** while((data_I < size )&& (TX_buff_I < (TX_BUFF_SIZE - 1))){ + 341:src/l502_user_process.c **** // TX_buff[TX_buff_I++] = data[data_I++]; + 342:src/l502_user_process.c **** uint32_t word = data[data_I++]; + 343:src/l502_user_process.c **** TX_buff[TX_buff_I++] = (word & 0x00FFFFFF);// | 0xDE000000; + 344:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = ((word & 0x00FFFFFF) | 0xDE000000); + 345:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = 0xADEFDEED; + 346:src/l502_user_process.c **** } + 347:src/l502_user_process.c **** } + 348:src/l502_user_process.c **** //*/ + 349:src/l502_user_process.c **** + 350:src/l502_user_process.c **** //* + 351:src/l502_user_process.c **** + 352:src/l502_user_process.c **** + 353:src/l502_user_process.c **** // if (Proc_state.mode == AVG){ + 354:src/l502_user_process.c **** //TX_buff_I = 10; + 355:src/l502_user_process.c **** /* + 356:src/l502_user_process.c **** uint32_t data_I = 0; + 357:src/l502_user_process.c **** uint8_t new_cycle_started = 0; + 358:src/l502_user_process.c **** uint8_t cycle_cont = 1; + 359:src/l502_user_process.c **** while ((data_I < size) && (Proc_state.AVG_buff_I < AVG_BUFF_SIZE) && cycle_cont ){ + 360:src/l502_user_process.c **** uint32_t word = data[data_I]; + 361:src/l502_user_process.c **** uint32_t val = word & 0x00FFFFFF; + 362:src/l502_user_process.c **** uint8_t header = (uint8_t)(word >> 24); + 363:src/l502_user_process.c **** */ + 364:src/l502_user_process.c **** /* + 365:src/l502_user_process.c **** if (header == 0x00){ + 366:src/l502_user_process.c **** Proc_state.digital_word_prev = Proc_state.digital_word_curr; + 367:src/l502_user_process.c **** Proc_state.digital_word_curr = word; + 368:src/l502_user_process.c **** DY_SYN_2_value_prev = DY_SYN_2_value; + 369:src/l502_user_process.c **** if (word & 0b1 << 17){ + 370:src/l502_user_process.c **** DY_SYN_2_value = 1; + 371:src/l502_user_process.c **** }else{ + 372:src/l502_user_process.c **** DY_SYN_2_value = 0; + 373:src/l502_user_process.c **** } + 374:src/l502_user_process.c **** + 375:src/l502_user_process.c **** if ((DY_SYN_2_value == 1)&& (DY_SYN_2_value_prev == 0)){ //new cycle started + 376:src/l502_user_process.c **** new_cycle_started = 1; + 377:src/l502_user_process.c **** } + 378:src/l502_user_process.c **** } + 379:src/l502_user_process.c **** //*/ + 380:src/l502_user_process.c **** /* + BFIN GAS /tmp/ccYZl5FJ.s page 8 - 381:src/l502_user_process.c **** Proc_state.AVG_buff_I = 0; - 382:src/l502_user_process.c **** } - 383:src/l502_user_process.c **** }else{ - 384:src/l502_user_process.c **** if (Proc_state.AVG_buff_I < AVG_BUFF_SIZE){ - 385:src/l502_user_process.c **** AVG_buff[Proc_state.AVG_buff_I] =(word & 0x00FFFFFF);// | 0xDE000000; - 386:src/l502_user_process.c **** //uint32_t tmp = AVG_buff[Proc_state.AVG_buff_I]; - 387:src/l502_user_process.c **** //tmp += val; - 388:src/l502_user_process.c **** //tmp &= 0x0FFFFFFF; - 389:src/l502_user_process.c **** //AVG_buff[Proc_state.AVG_buff_I] = tmp | (0x40000000 & 0xF0000000); //set header (first 4 bit - 390:src/l502_user_process.c **** - 391:src/l502_user_process.c **** Proc_state.AVG_buff_I++; - 392:src/l502_user_process.c **** } - 393:src/l502_user_process.c **** } - 394:src/l502_user_process.c **** } - 395:src/l502_user_process.c **** data_I++; - 396:src/l502_user_process.c **** //*/ + 381:src/l502_user_process.c **** if (header == 0xD0){ //it`s first channel + 382:src/l502_user_process.c **** if (new_cycle_started){ + 383:src/l502_user_process.c **** new_cycle_started = 0; + 384:src/l502_user_process.c **** ++Proc_state.average_N; + 385:src/l502_user_process.c **** if (Proc_state.average_N >= Proc_state.average_N_max){ + 386:src/l502_user_process.c **** Proc_state.mode == AVG_DONE; + 387:src/l502_user_process.c **** cycle_cont = 0; //break averaging cycle + 388:src/l502_user_process.c **** Proc_state.AVG_buff_I = 0; + 389:src/l502_user_process.c **** } + 390:src/l502_user_process.c **** }else{ + 391:src/l502_user_process.c **** if (Proc_state.AVG_buff_I < AVG_BUFF_SIZE){ + 392:src/l502_user_process.c **** AVG_buff[Proc_state.AVG_buff_I] =(word & 0x00FFFFFF);// | 0xDE000000; + 393:src/l502_user_process.c **** //uint32_t tmp = AVG_buff[Proc_state.AVG_buff_I]; + 394:src/l502_user_process.c **** //tmp += val; + 395:src/l502_user_process.c **** //tmp &= 0x0FFFFFFF; + 396:src/l502_user_process.c **** //AVG_buff[Proc_state.AVG_buff_I] = tmp | (0x40000000 & 0xF0000000); //set header (first 4 bit 397:src/l502_user_process.c **** - 398:src/l502_user_process.c **** // AVG_buff[Proc_state.AVG_buff_I] = 0xDDDDDDDD; - 399:src/l502_user_process.c **** - 400:src/l502_user_process.c **** - 401:src/l502_user_process.c **** - 402:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = data[data_I]; - 403:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = 0xEEEEEEEE; - 404:src/l502_user_process.c **** // data_I++; - 405:src/l502_user_process.c **** // Proc_state.AVG_buff_I++; + 398:src/l502_user_process.c **** Proc_state.AVG_buff_I++; + 399:src/l502_user_process.c **** } + 400:src/l502_user_process.c **** } + 401:src/l502_user_process.c **** } + 402:src/l502_user_process.c **** data_I++; + 403:src/l502_user_process.c **** //*/ + 404:src/l502_user_process.c **** + 405:src/l502_user_process.c **** // AVG_buff[Proc_state.AVG_buff_I] = 0xDDDDDDDD; 406:src/l502_user_process.c **** - 407:src/l502_user_process.c **** //} + 407:src/l502_user_process.c **** 408:src/l502_user_process.c **** - 409:src/l502_user_process.c **** - 410:src/l502_user_process.c **** // if (Proc_state.AVG_buff_I == AVG_BUFF_SIZE){ - 411:src/l502_user_process.c **** /* if (Proc_state.AVG_buff_I >= 10){ - 412:src/l502_user_process.c **** Proc_state.AVG_buff_I = 10; - 413:src/l502_user_process.c **** Proc_state.mode == AVG_DONE; - 414:src/l502_user_process.c **** } - 415:src/l502_user_process.c **** */ - 416:src/l502_user_process.c **** // } - 417:src/l502_user_process.c **** /* - 418:src/l502_user_process.c **** if(Proc_state.mode == AVG_DONE){ //TODO: - 419:src/l502_user_process.c **** if (Proc_state.TX_buff_state == 0){ - 420:src/l502_user_process.c **** Proc_state.TX_buff_state = 1; //0 --ready, 1 -- filling, 2 -- ready to send - 421:src/l502_user_process.c **** // Proc_state.AVG_buff_state = 1; //0 -- ready, 1 -- blocked, - 422:src/l502_user_process.c **** uint32_t max_I = TX_BUFF_SIZE; - 423:src/l502_user_process.c **** if (max_I > AVG_BUFF_SIZE){ - 424:src/l502_user_process.c **** max_I = AVG_BUFF_SIZE; - 425:src/l502_user_process.c **** } - 426:src/l502_user_process.c **** for (uint32_t I = 0; I < max_I; ++I){ - 427:src/l502_user_process.c **** if (TX_buff_I < TX_BUFF_SIZE){ - 428:src/l502_user_process.c **** ++TX_buff_I; - 429:src/l502_user_process.c **** } - 430:src/l502_user_process.c **** TX_buff[TX_buff_I] = AVG_buff[I]; - 431:src/l502_user_process.c **** AVG_buff[I] = 0; + 409:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = data[data_I]; + 410:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = 0xEEEEEEEE; + 411:src/l502_user_process.c **** // data_I++; + 412:src/l502_user_process.c **** // Proc_state.AVG_buff_I++; + 413:src/l502_user_process.c **** + 414:src/l502_user_process.c **** //} + 415:src/l502_user_process.c **** + 416:src/l502_user_process.c **** + 417:src/l502_user_process.c **** // if (Proc_state.AVG_buff_I == AVG_BUFF_SIZE){ + 418:src/l502_user_process.c **** /* if (Proc_state.AVG_buff_I >= 10){ + 419:src/l502_user_process.c **** Proc_state.AVG_buff_I = 10; + 420:src/l502_user_process.c **** Proc_state.mode == AVG_DONE; + 421:src/l502_user_process.c **** } + 422:src/l502_user_process.c **** */ + 423:src/l502_user_process.c **** // } + 424:src/l502_user_process.c **** /* + 425:src/l502_user_process.c **** if(Proc_state.mode == AVG_DONE){ //TODO: + 426:src/l502_user_process.c **** if (Proc_state.TX_buff_state == 0){ + 427:src/l502_user_process.c **** Proc_state.TX_buff_state = 1; //0 --ready, 1 -- filling, 2 -- ready to send + 428:src/l502_user_process.c **** // Proc_state.AVG_buff_state = 1; //0 -- ready, 1 -- blocked, + 429:src/l502_user_process.c **** uint32_t max_I = TX_BUFF_SIZE; + 430:src/l502_user_process.c **** if (max_I > AVG_BUFF_SIZE){ + 431:src/l502_user_process.c **** max_I = AVG_BUFF_SIZE; 432:src/l502_user_process.c **** } - 433:src/l502_user_process.c **** Proc_state.TX_buff_state = 2; //0 --ready, 1 -- filling, 2 -- ready to send - 434:src/l502_user_process.c **** } - 435:src/l502_user_process.c **** Proc_state.mode = Proc_state.mode_next; - 436:src/l502_user_process.c **** } - 437:src/l502_user_process.c **** //*/ - BFIN GAS /tmp/ccBtsGqv.s page 9 + 433:src/l502_user_process.c **** for (uint32_t I = 0; I < max_I; ++I){ + 434:src/l502_user_process.c **** if (TX_buff_I < TX_BUFF_SIZE){ + 435:src/l502_user_process.c **** ++TX_buff_I; + 436:src/l502_user_process.c **** } + 437:src/l502_user_process.c **** TX_buff[TX_buff_I] = AVG_buff[I]; + BFIN GAS /tmp/ccYZl5FJ.s page 9 - 438:src/l502_user_process.c **** - 439:src/l502_user_process.c **** - 440:src/l502_user_process.c **** - 441:src/l502_user_process.c **** - 442:src/l502_user_process.c **** - 443:src/l502_user_process.c **** /* - 444:src/l502_user_process.c **** uint32_t radar_word_I = 0; + 438:src/l502_user_process.c **** AVG_buff[I] = 0; + 439:src/l502_user_process.c **** } + 440:src/l502_user_process.c **** Proc_state.TX_buff_state = 2; //0 --ready, 1 -- filling, 2 -- ready to send + 441:src/l502_user_process.c **** } + 442:src/l502_user_process.c **** Proc_state.mode = Proc_state.mode_next; + 443:src/l502_user_process.c **** } + 444:src/l502_user_process.c **** //*/ 445:src/l502_user_process.c **** - 446:src/l502_user_process.c **** //uint32_t TX_buff_I = 0; - 447:src/l502_user_process.c **** uint32_t word_prev = 0; - 448:src/l502_user_process.c **** uint32_t digital_word_prev = 0; + 446:src/l502_user_process.c **** + 447:src/l502_user_process.c **** + 448:src/l502_user_process.c **** 449:src/l502_user_process.c **** - 450:src/l502_user_process.c **** - 451:src/l502_user_process.c **** + 450:src/l502_user_process.c **** /* + 451:src/l502_user_process.c **** uint32_t radar_word_I = 0; 452:src/l502_user_process.c **** - 453:src/l502_user_process.c **** for (int data_I = 0; (data_I < size) && (TX_buff_I < TX_BUFF_SIZE); ++data_I){ - 454:src/l502_user_process.c **** uint32_t word = data[data_I]; - 455:src/l502_user_process.c **** uint32_t val = word & 0x00FFFFFF; - 456:src/l502_user_process.c **** uint8_t header = (uint8_t)(word >> 24); - 457:src/l502_user_process.c **** //11010000 - 458:src/l502_user_process.c **** if (((header & 0b10000000) == 0b10000000)){ //it`s ADC word - 459:src/l502_user_process.c **** if (header == 0XD0){ //phy channel № 1 in common mode - 460:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = ((0b01100000 & LFSM_val_ON) << 24) & val; - 461:src/l502_user_process.c **** TX_buff[TX_buff_I++] = 0xD0ADEFEA; - 462:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = word; - 463:src/l502_user_process.c **** - 464:src/l502_user_process.c **** }else if (header == 0xD1){//phy channel № 2 in common mode - 465:src/l502_user_process.c **** TX_buff[TX_buff_I++] = word; - 466:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = ((0b01100000 & LFSM_val_OFF) << 24) & val; - 467:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = 0xD0ADEFEB; - 468:src/l502_user_process.c **** }else{ + 453:src/l502_user_process.c **** //uint32_t TX_buff_I = 0; + 454:src/l502_user_process.c **** uint32_t word_prev = 0; + 455:src/l502_user_process.c **** uint32_t digital_word_prev = 0; + 456:src/l502_user_process.c **** + 457:src/l502_user_process.c **** + 458:src/l502_user_process.c **** + 459:src/l502_user_process.c **** + 460:src/l502_user_process.c **** for (int data_I = 0; (data_I < size) && (TX_buff_I < TX_BUFF_SIZE); ++data_I){ + 461:src/l502_user_process.c **** uint32_t word = data[data_I]; + 462:src/l502_user_process.c **** uint32_t val = word & 0x00FFFFFF; + 463:src/l502_user_process.c **** uint8_t header = (uint8_t)(word >> 24); + 464:src/l502_user_process.c **** //11010000 + 465:src/l502_user_process.c **** if (((header & 0b10000000) == 0b10000000)){ //it`s ADC word + 466:src/l502_user_process.c **** if (header == 0XD0){ //phy channel № 1 in common mode + 467:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = ((0b01100000 & LFSM_val_ON) << 24) & val; + 468:src/l502_user_process.c **** TX_buff[TX_buff_I++] = 0xD0ADEFEA; 469:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = word; - 470:src/l502_user_process.c **** TX_buff[TX_buff_I++] = word; - 471:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = 0xD0AAAAAA; - 472:src/l502_user_process.c **** } - 473:src/l502_user_process.c **** - 474:src/l502_user_process.c **** - 475:src/l502_user_process.c **** } else if ( header == 0b00000000){ //it`s digital - 476:src/l502_user_process.c **** //if ((word & 0x2200) == 0x2200){ - 477:src/l502_user_process.c **** TX_buff[TX_buff_I++] = word; - 478:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = 0xAD000000; - 479:src/l502_user_process.c **** + 470:src/l502_user_process.c **** + 471:src/l502_user_process.c **** }else if (header == 0xD1){//phy channel № 2 in common mode + 472:src/l502_user_process.c **** TX_buff[TX_buff_I++] = word; + 473:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = ((0b01100000 & LFSM_val_OFF) << 24) & val; + 474:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = 0xD0ADEFEB; + 475:src/l502_user_process.c **** }else{ + 476:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = word; + 477:src/l502_user_process.c **** TX_buff[TX_buff_I++] = word; + 478:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = 0xD0AAAAAA; + 479:src/l502_user_process.c **** } 480:src/l502_user_process.c **** 481:src/l502_user_process.c **** - 482:src/l502_user_process.c **** //detect rise on DI_SYN2 -- start of chirp - 483:src/l502_user_process.c **** if (word & 0b1 << 17){ - 484:src/l502_user_process.c **** DY_SYN_2_value = 1; - 485:src/l502_user_process.c **** }else{ - 486:src/l502_user_process.c **** DY_SYN_2_value = 0; - 487:src/l502_user_process.c **** } + 482:src/l502_user_process.c **** } else if ( header == 0b00000000){ //it`s digital + 483:src/l502_user_process.c **** //if ((word & 0x2200) == 0x2200){ + 484:src/l502_user_process.c **** TX_buff[TX_buff_I++] = word; + 485:src/l502_user_process.c **** //TX_buff[TX_buff_I++] = 0xAD000000; + 486:src/l502_user_process.c **** + 487:src/l502_user_process.c **** 488:src/l502_user_process.c **** - 489:src/l502_user_process.c **** if ((DY_SYN_2_value == 1)&& (DY_SYN_2_value_prev == 0)){ - 490:src/l502_user_process.c **** TX_buff[TX_buff_I++] = 0xAD000000; - 491:src/l502_user_process.c **** } - 492:src/l502_user_process.c **** DY_SYN_2_value_prev = DY_SYN_2_value; - 493:src/l502_user_process.c **** - 494:src/l502_user_process.c **** digital_word_prev = word; - BFIN GAS /tmp/ccBtsGqv.s page 10 + 489:src/l502_user_process.c **** //detect rise on DI_SYN2 -- start of chirp + 490:src/l502_user_process.c **** if (word & 0b1 << 17){ + 491:src/l502_user_process.c **** DY_SYN_2_value = 1; + 492:src/l502_user_process.c **** }else{ + 493:src/l502_user_process.c **** DY_SYN_2_value = 0; + 494:src/l502_user_process.c **** } + BFIN GAS /tmp/ccYZl5FJ.s page 10 - 495:src/l502_user_process.c **** } else{ - 496:src/l502_user_process.c **** // TX_buff[TX_buff_I++] = word; - 497:src/l502_user_process.c **** } - 498:src/l502_user_process.c **** word_prev = word; - 499:src/l502_user_process.c **** - 500:src/l502_user_process.c **** // }else if ((header & 0b00000000) == ){ - 501:src/l502_user_process.c **** // }else if ((header & 0b00000000) == ){ - 502:src/l502_user_process.c **** // }else if ((header & 0b00000000) == ){ - 503:src/l502_user_process.c **** // }else if ((header & 0b00000000) == ){ - 504:src/l502_user_process.c **** // }else if ((header & 0b00000000) == ){ - 505:src/l502_user_process.c **** - 506:src/l502_user_process.c **** } - 507:src/l502_user_process.c **** */ - 508:src/l502_user_process.c **** - 509:src/l502_user_process.c **** //stream_in_buf_free(size); - 510:src/l502_user_process.c **** - 511:src/l502_user_process.c **** /* + 495:src/l502_user_process.c **** + 496:src/l502_user_process.c **** if ((DY_SYN_2_value == 1)&& (DY_SYN_2_value_prev == 0)){ + 497:src/l502_user_process.c **** TX_buff[TX_buff_I++] = 0xAD000000; + 498:src/l502_user_process.c **** } + 499:src/l502_user_process.c **** DY_SYN_2_value_prev = DY_SYN_2_value; + 500:src/l502_user_process.c **** + 501:src/l502_user_process.c **** digital_word_prev = word; + 502:src/l502_user_process.c **** } else{ + 503:src/l502_user_process.c **** // TX_buff[TX_buff_I++] = word; + 504:src/l502_user_process.c **** } + 505:src/l502_user_process.c **** word_prev = word; + 506:src/l502_user_process.c **** + 507:src/l502_user_process.c **** // }else if ((header & 0b00000000) == ){ + 508:src/l502_user_process.c **** // }else if ((header & 0b00000000) == ){ + 509:src/l502_user_process.c **** // }else if ((header & 0b00000000) == ){ + 510:src/l502_user_process.c **** // }else if ((header & 0b00000000) == ){ + 511:src/l502_user_process.c **** // }else if ((header & 0b00000000) == ){ 512:src/l502_user_process.c **** - 513:src/l502_user_process.c **** //int i = 0; - 514:src/l502_user_process.c **** //uint8_t - 515:src/l502_user_process.c **** //while - 516:src/l502_user_process.c **** - 517:src/l502_user_process.c **** for (int i = 0; i < LFSM_DATALEN; ++i){ - 518:src/l502_user_process.c **** uint32_t msg; - 519:src/l502_user_process.c **** if (i % 2){ - 520:src/l502_user_process.c **** msg = (LFSM_val_ON << 24) + data[i]; - 521:src/l502_user_process.c **** }else{ - 522:src/l502_user_process.c **** msg = (LFSM_val_OFF << 24) + data[i]; - 523:src/l502_user_process.c **** } - 524:src/l502_user_process.c **** LFSM_data[i] = msg; - 525:src/l502_user_process.c **** } - 526:src/l502_user_process.c **** - 527:src/l502_user_process.c **** */ - 528:src/l502_user_process.c **** if (hdma_send_req_rdy()) { - 529:src/l502_user_process.c **** - 530:src/l502_user_process.c **** //streams_cnt[0] - 531:src/l502_user_process.c **** /* - 532:src/l502_user_process.c **** if (Proc_state.TX_buff_state == 2){ - 533:src/l502_user_process.c **** hdma_send_req_start(TX_buff, TX_BUFF_SIZE, 0); - 534:src/l502_user_process.c **** }else if(0){ - 535:src/l502_user_process.c **** - 536:src/l502_user_process.c **** }else{ - 537:src/l502_user_process.c **** hdma_send_req_start(TX_buff, TX_buff_I, 0); - 538:src/l502_user_process.c **** TX_buff_I = 0; - 539:src/l502_user_process.c **** //hdma_send_req_start(data, size, 0); - 540:src/l502_user_process.c **** } - 541:src/l502_user_process.c **** */ + 513:src/l502_user_process.c **** } + 514:src/l502_user_process.c **** */ + 515:src/l502_user_process.c **** + 516:src/l502_user_process.c **** //stream_in_buf_free(size); + 517:src/l502_user_process.c **** + 518:src/l502_user_process.c **** /* + 519:src/l502_user_process.c **** + 520:src/l502_user_process.c **** //int i = 0; + 521:src/l502_user_process.c **** //uint8_t + 522:src/l502_user_process.c **** //while + 523:src/l502_user_process.c **** + 524:src/l502_user_process.c **** for (int i = 0; i < LFSM_DATALEN; ++i){ + 525:src/l502_user_process.c **** uint32_t msg; + 526:src/l502_user_process.c **** if (i % 2){ + 527:src/l502_user_process.c **** msg = (LFSM_val_ON << 24) + data[i]; + 528:src/l502_user_process.c **** }else{ + 529:src/l502_user_process.c **** msg = (LFSM_val_OFF << 24) + data[i]; + 530:src/l502_user_process.c **** } + 531:src/l502_user_process.c **** LFSM_data[i] = msg; + 532:src/l502_user_process.c **** } + 533:src/l502_user_process.c **** + 534:src/l502_user_process.c **** */ + 535:src/l502_user_process.c **** if (hdma_send_req_rdy()) { + 536:src/l502_user_process.c **** + 537:src/l502_user_process.c **** //streams_cnt[0] + 538:src/l502_user_process.c **** /* + 539:src/l502_user_process.c **** if (Proc_state.TX_buff_state == 2){ + 540:src/l502_user_process.c **** hdma_send_req_start(TX_buff, TX_BUFF_SIZE, 0); + 541:src/l502_user_process.c **** }else if(0){ 542:src/l502_user_process.c **** - 543:src/l502_user_process.c **** /* - 544:src/l502_user_process.c **** if (Proc_state.mode == AVG_DONE){ - 545:src/l502_user_process.c **** - 546:src/l502_user_process.c **** uint32_t send_size = Proc_state.AVG_buff_I; - 547:src/l502_user_process.c **** // uint32_t send_size = AVG_BUFF_SIZE; - 548:src/l502_user_process.c **** hdma_send_req_start(AVG_buff, send_size, 0); - 549:src/l502_user_process.c **** Proc_state.mode = AVG; - 550:src/l502_user_process.c **** return send_size; - 551:src/l502_user_process.c **** } - BFIN GAS /tmp/ccBtsGqv.s page 11 + 543:src/l502_user_process.c **** }else{ + 544:src/l502_user_process.c **** hdma_send_req_start(TX_buff, TX_buff_I, 0); + 545:src/l502_user_process.c **** TX_buff_I = 0; + 546:src/l502_user_process.c **** //hdma_send_req_start(data, size, 0); + 547:src/l502_user_process.c **** } + 548:src/l502_user_process.c **** */ + 549:src/l502_user_process.c **** + 550:src/l502_user_process.c **** /* + 551:src/l502_user_process.c **** if (Proc_state.mode == AVG_DONE){ + BFIN GAS /tmp/ccYZl5FJ.s page 11 - 552:src/l502_user_process.c **** //*/ - 553:src/l502_user_process.c **** /* - 554:src/l502_user_process.c **** if (Proc_state.mode == AVG){ - 555:src/l502_user_process.c **** send_size = Proc_state.AVG_buff_I; - 556:src/l502_user_process.c **** //send_size = TX_buff_I; - 557:src/l502_user_process.c **** //send_size = AVG_BUFF_SIZE - 500; - 558:src/l502_user_process.c **** dbg_receive_value = send_size; - 559:src/l502_user_process.c **** if (Proc_state.AVG_buff_active == A){ - 560:src/l502_user_process.c **** hdma_send_req_start(AVG_buff_A, send_size, 0); - 561:src/l502_user_process.c **** Proc_state.AVG_buff_active == B; - 562:src/l502_user_process.c **** }else{ - 563:src/l502_user_process.c **** hdma_send_req_start(AVG_buff_B, send_size, 0); - 564:src/l502_user_process.c **** Proc_state.AVG_buff_active = A; - 565:src/l502_user_process.c **** } - 566:src/l502_user_process.c **** return send_size; - 567:src/l502_user_process.c **** }else{ - 568:src/l502_user_process.c **** hdma_send_req_start(TX_buff, TX_buff_I, 0); - 569:src/l502_user_process.c **** TX_buff_I_shadow = TX_buff_I; - 570:src/l502_user_process.c **** dbg_receive_value = TX_buff_I; - 571:src/l502_user_process.c **** TX_buff_I = 0; - 572:src/l502_user_process.c **** return TX_buff_I_shadow; - 573:src/l502_user_process.c **** } - 574:src/l502_user_process.c **** */ - 575:src/l502_user_process.c **** - 576:src/l502_user_process.c **** if (TX_buff_state == TODO_TX){ - 577:src/l502_user_process.c **** for (uint32_t i = 0; i < TX_BUFF_SIZE; ++i){ - 578:src/l502_user_process.c **** TX_buff_shadow[i] = TX_buff[i]; - 579:src/l502_user_process.c **** } - 580:src/l502_user_process.c **** hdma_send_req_start(TX_buff_shadow, TX_buff_I, 0); - 581:src/l502_user_process.c **** hdma_send_req_start(TX_marker, 10, 0); + 552:src/l502_user_process.c **** + 553:src/l502_user_process.c **** uint32_t send_size = Proc_state.AVG_buff_I; + 554:src/l502_user_process.c **** // uint32_t send_size = AVG_BUFF_SIZE; + 555:src/l502_user_process.c **** hdma_send_req_start(AVG_buff, send_size, 0); + 556:src/l502_user_process.c **** Proc_state.mode = AVG; + 557:src/l502_user_process.c **** return send_size; + 558:src/l502_user_process.c **** } + 559:src/l502_user_process.c **** //*/ + 560:src/l502_user_process.c **** /* + 561:src/l502_user_process.c **** if (Proc_state.mode == AVG){ + 562:src/l502_user_process.c **** send_size = Proc_state.AVG_buff_I; + 563:src/l502_user_process.c **** //send_size = TX_buff_I; + 564:src/l502_user_process.c **** //send_size = AVG_BUFF_SIZE - 500; + 565:src/l502_user_process.c **** dbg_receive_value = send_size; + 566:src/l502_user_process.c **** if (Proc_state.AVG_buff_active == A){ + 567:src/l502_user_process.c **** hdma_send_req_start(AVG_buff_A, send_size, 0); + 568:src/l502_user_process.c **** Proc_state.AVG_buff_active == B; + 569:src/l502_user_process.c **** }else{ + 570:src/l502_user_process.c **** hdma_send_req_start(AVG_buff_B, send_size, 0); + 571:src/l502_user_process.c **** Proc_state.AVG_buff_active = A; + 572:src/l502_user_process.c **** } + 573:src/l502_user_process.c **** return send_size; + 574:src/l502_user_process.c **** }else{ + 575:src/l502_user_process.c **** hdma_send_req_start(TX_buff, TX_buff_I, 0); + 576:src/l502_user_process.c **** TX_buff_I_shadow = TX_buff_I; + 577:src/l502_user_process.c **** dbg_receive_value = TX_buff_I; + 578:src/l502_user_process.c **** TX_buff_I = 0; + 579:src/l502_user_process.c **** return TX_buff_I_shadow; + 580:src/l502_user_process.c **** } + 581:src/l502_user_process.c **** */ 582:src/l502_user_process.c **** 583:src/l502_user_process.c **** - 584:src/l502_user_process.c **** // hdma_send_req_start(TX_buff, TX_BUFF_SIZE, 0); - 585:src/l502_user_process.c **** //TX_buff_state = TRANSMITTING; - 586:src/l502_user_process.c **** TX_buff_state = TX_DONE; - 587:src/l502_user_process.c **** //}else{ - 588:src/l502_user_process.c **** // hdma_send_req_start(data, size, 0); - 589:src/l502_user_process.c **** } - 590:src/l502_user_process.c **** - 591:src/l502_user_process.c **** //hdma_send_req_start(data, size, 0); - 592:src/l502_user_process.c **** //streams_cnt[0] = hdma_send_req_start(LFSM_data, LFSM_DATALEN, 0); - 593:src/l502_user_process.c **** return size; - 594:src/l502_user_process.c **** //return data_I; //number of really processed words - 595:src/l502_user_process.c **** } - 596:src/l502_user_process.c **** //return data_I; //number of really processed words - 597:src/l502_user_process.c **** - 598:src/l502_user_process.c **** return 0; - 599:src/l502_user_process.c **** } - 600:src/l502_user_process.c **** - 601:src/l502_user_process.c **** - 602:src/l502_user_process.c **** - 603:src/l502_user_process.c **** /***************************************************************************//** - 604:src/l502_user_process.c **** @brief Обработка принятого массива с данными ЦАП/DOUT - 605:src/l502_user_process.c **** - 606:src/l502_user_process.c **** Функция вызывается каждый раз, когда обнаружены нов - 607:src/l502_user_process.c **** ПК по HDMA. - 608:src/l502_user_process.c **** Функция должна обработать данные и вернуть количес - BFIN GAS /tmp/ccBtsGqv.s page 12 + 584:src/l502_user_process.c **** if (Proc_state.mode == FLOOD){ + 585:src/l502_user_process.c **** hdma_send_req_start(TX_buff, TX_BUFF_SIZE, 0); + 586:src/l502_user_process.c **** return size; + 587:src/l502_user_process.c **** } + 588:src/l502_user_process.c **** + 589:src/l502_user_process.c **** if (TX_buff_state == TODO_TX){ + 590:src/l502_user_process.c **** for (uint32_t i = 0; i < TX_BUFF_SIZE; ++i){ + 591:src/l502_user_process.c **** TX_buff_shadow[i] = TX_buff[i]; + 592:src/l502_user_process.c **** } + 593:src/l502_user_process.c **** hdma_send_req_start(TX_buff_shadow, TX_buff_I, 0); + 594:src/l502_user_process.c **** hdma_send_req_start(TX_marker, 10, 0); + 595:src/l502_user_process.c **** + 596:src/l502_user_process.c **** + 597:src/l502_user_process.c **** // hdma_send_req_start(TX_buff, TX_BUFF_SIZE, 0); + 598:src/l502_user_process.c **** //TX_buff_state = TRANSMITTING; + 599:src/l502_user_process.c **** TX_buff_state = TX_DONE; + 600:src/l502_user_process.c **** //}else{ + 601:src/l502_user_process.c **** // hdma_send_req_start(data, size, 0); + 602:src/l502_user_process.c **** } + 603:src/l502_user_process.c **** + 604:src/l502_user_process.c **** //hdma_send_req_start(data, size, 0); + 605:src/l502_user_process.c **** //streams_cnt[0] = hdma_send_req_start(LFSM_data, LFSM_DATALEN, 0); + 606:src/l502_user_process.c **** return size; + 607:src/l502_user_process.c **** //return data_I; //number of really processed words + 608:src/l502_user_process.c **** } + BFIN GAS /tmp/ccYZl5FJ.s page 12 - 609:src/l502_user_process.c **** однако эти данные все еще считаются использованным - 610:src/l502_user_process.c **** новыми пришедшими данными) до тех пор пока не будет - 611:src/l502_user_process.c **** stream_out_buf_free()). - 612:src/l502_user_process.c **** - 613:src/l502_user_process.c **** Если функция вернет значение меньше чем size, то функц - 614:src/l502_user_process.c **** вызвана после еще раз с указателем на необработанны + 609:src/l502_user_process.c **** //return data_I; //number of really processed words + 610:src/l502_user_process.c **** + 611:src/l502_user_process.c **** return 0; + 612:src/l502_user_process.c **** } + 613:src/l502_user_process.c **** + 614:src/l502_user_process.c **** 615:src/l502_user_process.c **** - 616:src/l502_user_process.c **** В текущей реализации просто запускается передача д - 617:src/l502_user_process.c **** для вывода на ЦАП/цифровые выходы. + 616:src/l502_user_process.c **** /***************************************************************************//** + 617:src/l502_user_process.c **** @brief Обработка принятого массива с данными ЦАП/DOUT 618:src/l502_user_process.c **** - 619:src/l502_user_process.c **** @param[in] data Указатель на массив с принятыми данными - 620:src/l502_user_process.c **** @param[in] size Количество принятых данных в 32-битных сло - 621:src/l502_user_process.c **** @return Функция возвращает количество обработанн - 622:src/l502_user_process.c **** На эти данные не будет вызываться повторн - 623:src/l502_user_process.c **** но они считаются еще используемыми - 624:src/l502_user_process.c **** ******************************************************************************/ - 625:src/l502_user_process.c **** uint32_t usr_out_proc_data(uint32_t* data, uint32_t size) { - 626:src/l502_user_process.c **** - 627:src/l502_user_process.c **** /* если есть свободные дескрипторы на передачу по HDMA - 628:src/l502_user_process.c **** передачу. Иначе возвращаем 0, чтобы на обработку эт - 629:src/l502_user_process.c **** вызвали бы позже */ - 630:src/l502_user_process.c **** ++streams_cnt[2]; + 619:src/l502_user_process.c **** Функция вызывается каждый раз, когда обнаружены нов + 620:src/l502_user_process.c **** ПК по HDMA. + 621:src/l502_user_process.c **** Функция должна обработать данные и вернуть количес + 622:src/l502_user_process.c **** однако эти данные все еще считаются использованным + 623:src/l502_user_process.c **** новыми пришедшими данными) до тех пор пока не будет + 624:src/l502_user_process.c **** stream_out_buf_free()). + 625:src/l502_user_process.c **** + 626:src/l502_user_process.c **** Если функция вернет значение меньше чем size, то функц + 627:src/l502_user_process.c **** вызвана после еще раз с указателем на необработанны + 628:src/l502_user_process.c **** + 629:src/l502_user_process.c **** В текущей реализации просто запускается передача д + 630:src/l502_user_process.c **** для вывода на ЦАП/цифровые выходы. 631:src/l502_user_process.c **** - 632:src/l502_user_process.c **** if (sport_tx_req_rdy()) { - 633:src/l502_user_process.c **** - 634:src/l502_user_process.c **** /* за один раз можем передать в SPORT не более - 635:src/l502_user_process.c **** SPORT_TX_REQ_SIZE_MAX слов */ - 636:src/l502_user_process.c **** if (size > SPORT_TX_REQ_SIZE_MAX) - 637:src/l502_user_process.c **** size = SPORT_TX_REQ_SIZE_MAX; - 638:src/l502_user_process.c **** - 639:src/l502_user_process.c **** sport_tx_start_req(data, size); - 640:src/l502_user_process.c **** - 641:src/l502_user_process.c **** return size; - 642:src/l502_user_process.c **** } - 643:src/l502_user_process.c **** return 0; - 644:src/l502_user_process.c **** } - 645:src/l502_user_process.c **** + 632:src/l502_user_process.c **** @param[in] data Указатель на массив с принятыми данными + 633:src/l502_user_process.c **** @param[in] size Количество принятых данных в 32-битных сло + 634:src/l502_user_process.c **** @return Функция возвращает количество обработанн + 635:src/l502_user_process.c **** На эти данные не будет вызываться повторн + 636:src/l502_user_process.c **** но они считаются еще используемыми + 637:src/l502_user_process.c **** ******************************************************************************/ + 638:src/l502_user_process.c **** uint32_t usr_out_proc_data(uint32_t* data, uint32_t size) { + 639:src/l502_user_process.c **** + 640:src/l502_user_process.c **** /* если есть свободные дескрипторы на передачу по HDMA + 641:src/l502_user_process.c **** передачу. Иначе возвращаем 0, чтобы на обработку эт + 642:src/l502_user_process.c **** вызвали бы позже */ + 643:src/l502_user_process.c **** ++streams_cnt[2]; + 644:src/l502_user_process.c **** + 645:src/l502_user_process.c **** if (sport_tx_req_rdy()) { 646:src/l502_user_process.c **** - 647:src/l502_user_process.c **** - 648:src/l502_user_process.c **** - 649:src/l502_user_process.c **** - 650:src/l502_user_process.c **** - 651:src/l502_user_process.c **** /****************************************************************************//** - 652:src/l502_user_process.c **** @brief Обработка завершения передачи по HostDMA + 647:src/l502_user_process.c **** /* за один раз можем передать в SPORT не более + 648:src/l502_user_process.c **** SPORT_TX_REQ_SIZE_MAX слов */ + 649:src/l502_user_process.c **** if (size > SPORT_TX_REQ_SIZE_MAX) + 650:src/l502_user_process.c **** size = SPORT_TX_REQ_SIZE_MAX; + 651:src/l502_user_process.c **** + 652:src/l502_user_process.c **** sport_tx_start_req(data, size); 653:src/l502_user_process.c **** - 654:src/l502_user_process.c **** Функция вызывается из обработчика прерывания, когд - 655:src/l502_user_process.c **** блока данных по HDMA в ПК, поставленного до этого на пе - 656:src/l502_user_process.c **** помощью hdma_send_req_start(). - 657:src/l502_user_process.c **** - 658:src/l502_user_process.c **** @param[in] addr Адрес слова, сразу за последним переданны - 659:src/l502_user_process.c **** @param[in] size Размер переданных данных в 32-битных слова - 660:src/l502_user_process.c **** ****************************************************************************/ - 661:src/l502_user_process.c **** void hdma_send_done(uint32_t* addr, uint32_t size) { + 654:src/l502_user_process.c **** return size; + 655:src/l502_user_process.c **** } + 656:src/l502_user_process.c **** return 0; + 657:src/l502_user_process.c **** } + 658:src/l502_user_process.c **** + 659:src/l502_user_process.c **** + 660:src/l502_user_process.c **** + 661:src/l502_user_process.c **** 662:src/l502_user_process.c **** - 663:src/l502_user_process.c **** TX_buff_state = TX_DONE; - 664:src/l502_user_process.c **** ++streams_cnt[3]; - 665:src/l502_user_process.c **** - BFIN GAS /tmp/ccBtsGqv.s page 13 + 663:src/l502_user_process.c **** + 664:src/l502_user_process.c **** /****************************************************************************//** + 665:src/l502_user_process.c **** @brief Обработка завершения передачи по HostDMA + BFIN GAS /tmp/ccYZl5FJ.s page 13 - 666:src/l502_user_process.c **** stream_in_buf_free(size); - 667:src/l502_user_process.c **** } - 668:src/l502_user_process.c **** - 669:src/l502_user_process.c **** + 666:src/l502_user_process.c **** + 667:src/l502_user_process.c **** Функция вызывается из обработчика прерывания, когд + 668:src/l502_user_process.c **** блока данных по HDMA в ПК, поставленного до этого на пе + 669:src/l502_user_process.c **** помощью hdma_send_req_start(). 670:src/l502_user_process.c **** - 671:src/l502_user_process.c **** /***************************************************************************//** - 672:src/l502_user_process.c **** @brief Обработка завершения передачи по SPORT - 673:src/l502_user_process.c **** - 674:src/l502_user_process.c **** Функция вызывается из обработчика прерывания при з - 675:src/l502_user_process.c **** по SPORT'у на цифровые выходы/ЦАП, поставленного до это - 676:src/l502_user_process.c **** помощью sport_tx_start_req(). - 677:src/l502_user_process.c **** - 678:src/l502_user_process.c **** - 679:src/l502_user_process.c **** @param[in] addr Адрес слова, сразу за последним переданны - 680:src/l502_user_process.c **** @param[in] size Размер переданных данных в 32-битных слова - 681:src/l502_user_process.c **** void sport_tx_done(uint32_t* addr, uint32_t size) { - 682:src/l502_user_process.c **** ++streams_cnt[1]; + 671:src/l502_user_process.c **** @param[in] addr Адрес слова, сразу за последним переданны + 672:src/l502_user_process.c **** @param[in] size Размер переданных данных в 32-битных слова + 673:src/l502_user_process.c **** ****************************************************************************/ + 674:src/l502_user_process.c **** void hdma_send_done(uint32_t* addr, uint32_t size) { + 675:src/l502_user_process.c **** + 676:src/l502_user_process.c **** TX_buff_state = TX_DONE; + 677:src/l502_user_process.c **** ++streams_cnt[3]; + 678:src/l502_user_process.c **** + 679:src/l502_user_process.c **** stream_in_buf_free(size); + 680:src/l502_user_process.c **** } + 681:src/l502_user_process.c **** + 682:src/l502_user_process.c **** 683:src/l502_user_process.c **** - 684:src/l502_user_process.c **** stream_out_buf_free(size); - 685:src/l502_user_process.c **** } + 684:src/l502_user_process.c **** /***************************************************************************//** + 685:src/l502_user_process.c **** @brief Обработка завершения передачи по SPORT 686:src/l502_user_process.c **** - 687:src/l502_user_process.c **** - 688:src/l502_user_process.c **** - 689:src/l502_user_process.c **** + 687:src/l502_user_process.c **** Функция вызывается из обработчика прерывания при з + 688:src/l502_user_process.c **** по SPORT'у на цифровые выходы/ЦАП, поставленного до это + 689:src/l502_user_process.c **** помощью sport_tx_start_req(). 690:src/l502_user_process.c **** - 691:src/l502_user_process.c **** - 692:src/l502_user_process.c **** - 693:src/l502_user_process.c **** - 694:src/l502_user_process.c **** - 695:src/l502_user_process.c **** /****************************************************************************//** - 696:src/l502_user_process.c **** @brief Обработка пользовательских команд. - 697:src/l502_user_process.c **** - 698:src/l502_user_process.c **** Функция вызывается при приеме команды от ПК с кодом - 699:src/l502_user_process.c **** #L502_BF_CMD_CODE_USER. + 691:src/l502_user_process.c **** + 692:src/l502_user_process.c **** @param[in] addr Адрес слова, сразу за последним переданны + 693:src/l502_user_process.c **** @param[in] size Размер переданных данных в 32-битных слова + 694:src/l502_user_process.c **** void sport_tx_done(uint32_t* addr, uint32_t size) { + 695:src/l502_user_process.c **** ++streams_cnt[1]; + 696:src/l502_user_process.c **** + 697:src/l502_user_process.c **** stream_out_buf_free(size); + 698:src/l502_user_process.c **** } + 699:src/l502_user_process.c **** 700:src/l502_user_process.c **** - 701:src/l502_user_process.c **** По завершению обработки необходимо обязательно выз - 702:src/l502_user_process.c **** l502_cmd_done(), указав код завершения команды и - 703:src/l502_user_process.c **** при необходимости передать данные с результатом + 701:src/l502_user_process.c **** + 702:src/l502_user_process.c **** + 703:src/l502_user_process.c **** 704:src/l502_user_process.c **** - 705:src/l502_user_process.c **** @param[in] cmd Структура с описанием принятой команды - 706:src/l502_user_process.c **** ******************************************************************************/ + 705:src/l502_user_process.c **** + 706:src/l502_user_process.c **** 707:src/l502_user_process.c **** - 708:src/l502_user_process.c **** - 709:src/l502_user_process.c **** void usr_cmd_process(t_l502_bf_cmd *cmd) { - 16 .loc 1 709 0 + 708:src/l502_user_process.c **** /****************************************************************************//** + 709:src/l502_user_process.c **** @brief Обработка пользовательских команд. + 710:src/l502_user_process.c **** + 711:src/l502_user_process.c **** Функция вызывается при приеме команды от ПК с кодом + 712:src/l502_user_process.c **** #L502_BF_CMD_CODE_USER. + 713:src/l502_user_process.c **** + 714:src/l502_user_process.c **** По завершению обработки необходимо обязательно выз + 715:src/l502_user_process.c **** l502_cmd_done(), указав код завершения команды и + 716:src/l502_user_process.c **** при необходимости передать данные с результатом + 717:src/l502_user_process.c **** + 718:src/l502_user_process.c **** @param[in] cmd Структура с описанием принятой команды + 719:src/l502_user_process.c **** ******************************************************************************/ + 720:src/l502_user_process.c **** + 721:src/l502_user_process.c **** + 722:src/l502_user_process.c **** void usr_cmd_process(t_l502_bf_cmd *cmd) { + BFIN GAS /tmp/ccYZl5FJ.s page 14 + + + 16 .loc 1 722 0 17 .LVL0: 18 0000 0032 P0 = R0; 19 0002 F405 [--sp] = ( r7:6, p5:4 ); @@ -773,265 +789,267 @@ BFIN GAS /tmp/ccBtsGqv.s page 1 21 .LCFI0: 22 0004 00E81A00 LINK 104; 23 .LCFI1: - 710:src/l502_user_process.c **** switch (cmd->code){ - 24 .loc 1 710 0 + 723:src/l502_user_process.c **** switch (cmd->code){ + 24 .loc 1 723 0 25 0008 21E1FF7F R1 = 32767 (X); - 711:src/l502_user_process.c **** - 712:src/l502_user_process.c **** - BFIN GAS /tmp/ccBtsGqv.s page 14 - - - 713:src/l502_user_process.c **** /* - 714:src/l502_user_process.c **** Command template - 715:src/l502_user_process.c **** case 0x800?:{ - 716:src/l502_user_process.c **** - 717:src/l502_user_process.c **** l502_cmd_done(rcv_code, rcv_data, rcv_data_length); //void l502_cmd_done (int32_t result, uint32_ - 718:src/l502_user_process.c **** break; - 719:src/l502_user_process.c **** } - 720:src/l502_user_process.c **** */ - 721:src/l502_user_process.c **** // typedef struct { - 722:src/l502_user_process.c **** // uint16_t code; /**< Код команды из #t_l502_bf_cmd_code */ - 723:src/l502_user_process.c **** // uint16_t status; /**< Статус выполнения - в обработчике не и - 724:src/l502_user_process.c **** // uint32_t param; /**< Параметр команды */ - 725:src/l502_user_process.c **** // int32_t result; /**< Код результата выполнения команды */ - 726:src/l502_user_process.c **** // uint32_t data_size; /**< Количество данных, переданных с кома - 727:src/l502_user_process.c **** // uint32_t data[L502_BF_CMD_DATA_SIZE_MAX]; /**< Данные, передаваемые с к - 728:src/l502_user_process.c **** // } t_l502_bf_cmd; + 724:src/l502_user_process.c **** + 725:src/l502_user_process.c **** + 726:src/l502_user_process.c **** /* + 727:src/l502_user_process.c **** Command template + 728:src/l502_user_process.c **** case 0x800?:{ 729:src/l502_user_process.c **** - 730:src/l502_user_process.c **** - 731:src/l502_user_process.c **** - 732:src/l502_user_process.c **** - 733:src/l502_user_process.c **** case 0x8001:{ //L502_BF_USR_CMD_CODE_ECHO - 734:src/l502_user_process.c **** l502_cmd_done(cmd-> param, NULL, 0); - 735:src/l502_user_process.c **** break; - 736:src/l502_user_process.c **** } - 737:src/l502_user_process.c **** - 738:src/l502_user_process.c **** case 0x8002:{ //L502_BF_USR_CMD_CODE_DATA_ECHO - 739:src/l502_user_process.c **** uint32_t rcv_data[cmd->data_size]; - 740:src/l502_user_process.c **** for (uint32_t I = 0; I < (cmd -> data_size); ++I){ - 741:src/l502_user_process.c **** //rcv_data[I] = (cmd-> data)[I]; - 742:src/l502_user_process.c **** rcv_data[I] = I; - 743:src/l502_user_process.c **** } - 744:src/l502_user_process.c **** l502_cmd_done(cmd-> param, rcv_data, cmd->data_size); - 745:src/l502_user_process.c **** break; - 746:src/l502_user_process.c **** } - 747:src/l502_user_process.c **** case 0x8003:{ //configure ADC - 748:src/l502_user_process.c **** uint32_t err_codes[15] = {0,}; - 749:src/l502_user_process.c **** err_codes[0] = params_set_lch_cnt(1); - 750:src/l502_user_process.c **** //err_codes[1] = params_set_lch(1, 1, L502_LCH_MODE_COMM, L502_ADC_RANGE_5, 1, 0);// chan index - 751:src/l502_user_process.c **** err_codes[1] = params_set_lch(0, 0, L502_LCH_MODE_COMM, L502_ADC_RANGE_5, 1, 0);// chan index 1, - 752:src/l502_user_process.c **** err_codes[2] = params_set_adc_freq_div(1); - 753:src/l502_user_process.c **** err_codes[3] = params_set_ref_freq(2000000); - 754:src/l502_user_process.c **** err_codes[4] = params_set_adc_interframe_delay(0); - 755:src/l502_user_process.c **** err_codes[5] = params_set_sync_mode (L502_SYNC_INTERNAL); - 756:src/l502_user_process.c **** err_codes[6] = params_set_sync_start_mode (L502_SYNC_INTERNAL); - 757:src/l502_user_process.c **** //err_codes[7] = params_set_din_freq_div; - 758:src/l502_user_process.c **** //err_codes[8] = params_set_dac_freq_div; - 759:src/l502_user_process.c **** - 760:src/l502_user_process.c **** err_codes[9] = sport_in_set_step_size(1024); - 761:src/l502_user_process.c **** - 762:src/l502_user_process.c **** //L502_BF_PARAM_ADC_COEF - 763:src/l502_user_process.c **** //err_codes[10] = fpga_reg_write(f_regaddr_k[range], ??); - 764:src/l502_user_process.c **** //err_codes[11] = fpga_reg_write(f_regaddr_offs[range], ??); - 765:src/l502_user_process.c **** err_codes[12] = configure(); - 766:src/l502_user_process.c **** - 767:src/l502_user_process.c **** - 768:src/l502_user_process.c **** - 769:src/l502_user_process.c **** - BFIN GAS /tmp/ccBtsGqv.s page 15 + 730:src/l502_user_process.c **** l502_cmd_done(rcv_code, rcv_data, rcv_data_length); //void l502_cmd_done (int32_t result, uint32_ + 731:src/l502_user_process.c **** break; + 732:src/l502_user_process.c **** } + 733:src/l502_user_process.c **** */ + 734:src/l502_user_process.c **** // typedef struct { + 735:src/l502_user_process.c **** // uint16_t code; /**< Код команды из #t_l502_bf_cmd_code */ + 736:src/l502_user_process.c **** // uint16_t status; /**< Статус выполнения - в обработчике не и + 737:src/l502_user_process.c **** // uint32_t param; /**< Параметр команды */ + 738:src/l502_user_process.c **** // int32_t result; /**< Код результата выполнения команды */ + 739:src/l502_user_process.c **** // uint32_t data_size; /**< Количество данных, переданных с кома + 740:src/l502_user_process.c **** // uint32_t data[L502_BF_CMD_DATA_SIZE_MAX]; /**< Данные, передаваемые с к + 741:src/l502_user_process.c **** // } t_l502_bf_cmd; + 742:src/l502_user_process.c **** + 743:src/l502_user_process.c **** + 744:src/l502_user_process.c **** + 745:src/l502_user_process.c **** + 746:src/l502_user_process.c **** case 0x8001:{ //L502_BF_USR_CMD_CODE_ECHO + 747:src/l502_user_process.c **** l502_cmd_done(cmd-> param, NULL, 0); + 748:src/l502_user_process.c **** break; + 749:src/l502_user_process.c **** } + 750:src/l502_user_process.c **** + 751:src/l502_user_process.c **** case 0x8002:{ //L502_BF_USR_CMD_CODE_DATA_ECHO + 752:src/l502_user_process.c **** uint32_t rcv_data[cmd->data_size]; + 753:src/l502_user_process.c **** for (uint32_t I = 0; I < (cmd -> data_size); ++I){ + 754:src/l502_user_process.c **** //rcv_data[I] = (cmd-> data)[I]; + 755:src/l502_user_process.c **** rcv_data[I] = I; + 756:src/l502_user_process.c **** } + 757:src/l502_user_process.c **** l502_cmd_done(cmd-> param, rcv_data, cmd->data_size); + 758:src/l502_user_process.c **** break; + 759:src/l502_user_process.c **** } + 760:src/l502_user_process.c **** case 0x8003:{ //configure ADC + 761:src/l502_user_process.c **** uint32_t err_codes[15] = {0,}; + 762:src/l502_user_process.c **** err_codes[0] = params_set_lch_cnt(1); + 763:src/l502_user_process.c **** //err_codes[1] = params_set_lch(1, 1, L502_LCH_MODE_COMM, L502_ADC_RANGE_5, 1, 0);// chan index + 764:src/l502_user_process.c **** err_codes[1] = params_set_lch(0, 0, L502_LCH_MODE_COMM, L502_ADC_RANGE_5, 1, 0);// chan index 1, + 765:src/l502_user_process.c **** err_codes[2] = params_set_adc_freq_div(1); + 766:src/l502_user_process.c **** err_codes[3] = params_set_ref_freq(2000000); + 767:src/l502_user_process.c **** err_codes[4] = params_set_adc_interframe_delay(0); + 768:src/l502_user_process.c **** err_codes[5] = params_set_sync_mode (L502_SYNC_INTERNAL); + 769:src/l502_user_process.c **** err_codes[6] = params_set_sync_start_mode (L502_SYNC_INTERNAL); + BFIN GAS /tmp/ccYZl5FJ.s page 15 - 770:src/l502_user_process.c **** uint32_t err_codes_sum = 0; - 771:src/l502_user_process.c **** for (int i = 0; i < 15; ++i){ - 772:src/l502_user_process.c **** err_codes_sum += err_codes[i]; - 773:src/l502_user_process.c **** } - 774:src/l502_user_process.c **** l502_cmd_done(err_codes_sum, err_codes, 15); - 775:src/l502_user_process.c **** break; - 776:src/l502_user_process.c **** } - 777:src/l502_user_process.c **** case 0x8004:{ //start streams - 778:src/l502_user_process.c **** uint32_t err_codes[5] = {0,}; - 779:src/l502_user_process.c **** l502_stream_init(); - 780:src/l502_user_process.c **** err_codes[0] = stream_enable(L502_STREAM_ADC | L502_STREAM_DIN); //bitmask - 781:src/l502_user_process.c **** err_codes[1] = stream_out_preload(); - 782:src/l502_user_process.c **** err_codes[2] = streams_start(); - 783:src/l502_user_process.c **** //hdma_send_start(); - 784:src/l502_user_process.c **** l502_cmd_done(0, err_codes, 5); - 785:src/l502_user_process.c **** break; - 786:src/l502_user_process.c **** } - 787:src/l502_user_process.c **** case 0x8005:{ //get some data from adc buff. Or simple flag, raised inside usr_in_proc_data() - 788:src/l502_user_process.c **** - 789:src/l502_user_process.c **** uint32_t streams_sum = streams_cnt[0] + streams_cnt[1] + streams_cnt[2] + streams_cnt[3]; - 790:src/l502_user_process.c **** l502_cmd_done(streams_sum, streams_cnt, 4); - 791:src/l502_user_process.c **** break; - 792:src/l502_user_process.c **** } - 793:src/l502_user_process.c **** - 794:src/l502_user_process.c **** case 0x8006:{ //get data from SPORT_RX copied arr - 795:src/l502_user_process.c **** uint32_t sport_rx_nonzero_sum = 0; - 796:src/l502_user_process.c **** - 797:src/l502_user_process.c **** for (int i = 0; i < dbg_sport_rx_copy_size; ++i){ - 798:src/l502_user_process.c **** if (dbg_sport_rx_copy[i]){ - 799:src/l502_user_process.c **** ++sport_rx_nonzero_sum; - 800:src/l502_user_process.c **** } - 801:src/l502_user_process.c **** } - 802:src/l502_user_process.c **** l502_cmd_done(sport_rx_nonzero_sum, dbg_sport_rx_copy, 1024); - 803:src/l502_user_process.c **** break; - 804:src/l502_user_process.c **** } - 805:src/l502_user_process.c **** + 770:src/l502_user_process.c **** //err_codes[7] = params_set_din_freq_div; + 771:src/l502_user_process.c **** //err_codes[8] = params_set_dac_freq_div; + 772:src/l502_user_process.c **** + 773:src/l502_user_process.c **** err_codes[9] = sport_in_set_step_size(1024); + 774:src/l502_user_process.c **** + 775:src/l502_user_process.c **** //L502_BF_PARAM_ADC_COEF + 776:src/l502_user_process.c **** //err_codes[10] = fpga_reg_write(f_regaddr_k[range], ??); + 777:src/l502_user_process.c **** //err_codes[11] = fpga_reg_write(f_regaddr_offs[range], ??); + 778:src/l502_user_process.c **** err_codes[12] = configure(); + 779:src/l502_user_process.c **** + 780:src/l502_user_process.c **** + 781:src/l502_user_process.c **** + 782:src/l502_user_process.c **** + 783:src/l502_user_process.c **** uint32_t err_codes_sum = 0; + 784:src/l502_user_process.c **** for (int i = 0; i < 15; ++i){ + 785:src/l502_user_process.c **** err_codes_sum += err_codes[i]; + 786:src/l502_user_process.c **** } + 787:src/l502_user_process.c **** l502_cmd_done(err_codes_sum, err_codes, 15); + 788:src/l502_user_process.c **** break; + 789:src/l502_user_process.c **** } + 790:src/l502_user_process.c **** case 0x8004:{ //start streams + 791:src/l502_user_process.c **** uint32_t err_codes[5] = {0,}; + 792:src/l502_user_process.c **** l502_stream_init(); + 793:src/l502_user_process.c **** err_codes[0] = stream_enable(L502_STREAM_ADC | L502_STREAM_DIN); //bitmask + 794:src/l502_user_process.c **** err_codes[1] = stream_out_preload(); + 795:src/l502_user_process.c **** err_codes[2] = streams_start(); + 796:src/l502_user_process.c **** //hdma_send_start(); + 797:src/l502_user_process.c **** l502_cmd_done(0, err_codes, 5); + 798:src/l502_user_process.c **** break; + 799:src/l502_user_process.c **** } + 800:src/l502_user_process.c **** case 0x8005:{ //get some data from adc buff. Or simple flag, raised inside usr_in_proc_data() + 801:src/l502_user_process.c **** + 802:src/l502_user_process.c **** uint32_t streams_sum = streams_cnt[0] + streams_cnt[1] + streams_cnt[2] + streams_cnt[3]; + 803:src/l502_user_process.c **** l502_cmd_done(streams_sum, streams_cnt, 4); + 804:src/l502_user_process.c **** break; + 805:src/l502_user_process.c **** } 806:src/l502_user_process.c **** - 807:src/l502_user_process.c **** - 808:src/l502_user_process.c **** case 0x8007:{ //start data processing: No dataprocessing. Just copy data to output buffer - 809:src/l502_user_process.c **** TX_buff_I = 0; - 810:src/l502_user_process.c **** - 811:src/l502_user_process.c **** Proc_state.mode = TRANSPARENT; - 812:src/l502_user_process.c **** Proc_state.mode_next = TRANSPARENT; - 813:src/l502_user_process.c **** Proc_state.LFSM_state = CYCLE_UNKNOWN; - 814:src/l502_user_process.c **** Proc_state.average_N_max = 10; - 815:src/l502_user_process.c **** // Proc_state.average_N_max = cmd->param; - 816:src/l502_user_process.c **** Proc_state.average_N = 1; - 817:src/l502_user_process.c **** Proc_state.TX_buff_I = 0; - 818:src/l502_user_process.c **** Proc_state.TX_buff_state = 0; - 819:src/l502_user_process.c **** Proc_state.AVG_state = 0; - 820:src/l502_user_process.c **** Proc_state.AVG_buff_I = 0; - 821:src/l502_user_process.c **** Proc_state.AVG_buff_state = 0; - 822:src/l502_user_process.c **** Proc_state.FFT_buff_I = 0; - 823:src/l502_user_process.c **** Proc_state.FFT_buff_state = 0; - 824:src/l502_user_process.c **** Proc_state.digital_word_prev = 0; - 825:src/l502_user_process.c **** Proc_state.digital_word_curr = 0; - 826:src/l502_user_process.c **** Proc_state.AVG_buff_active = A; - BFIN GAS /tmp/ccBtsGqv.s page 16 + 807:src/l502_user_process.c **** case 0x8006:{ //get data from SPORT_RX copied arr + 808:src/l502_user_process.c **** uint32_t sport_rx_nonzero_sum = 0; + 809:src/l502_user_process.c **** + 810:src/l502_user_process.c **** for (int i = 0; i < dbg_sport_rx_copy_size; ++i){ + 811:src/l502_user_process.c **** if (dbg_sport_rx_copy[i]){ + 812:src/l502_user_process.c **** ++sport_rx_nonzero_sum; + 813:src/l502_user_process.c **** } + 814:src/l502_user_process.c **** } + 815:src/l502_user_process.c **** l502_cmd_done(sport_rx_nonzero_sum, dbg_sport_rx_copy, 1024); + 816:src/l502_user_process.c **** break; + 817:src/l502_user_process.c **** } + 818:src/l502_user_process.c **** + 819:src/l502_user_process.c **** + 820:src/l502_user_process.c **** + 821:src/l502_user_process.c **** case 0x8007:{ //start data processing: No dataprocessing. Just copy data to output buffer + 822:src/l502_user_process.c **** TX_buff_I = 0; + 823:src/l502_user_process.c **** + 824:src/l502_user_process.c **** Proc_state.mode = TRANSPARENT; + 825:src/l502_user_process.c **** Proc_state.mode_next = TRANSPARENT; + 826:src/l502_user_process.c **** Proc_state.LFSM_state = CYCLE_UNKNOWN; + BFIN GAS /tmp/ccYZl5FJ.s page 16 - 827:src/l502_user_process.c **** TX_buff_state = TX_DONE; - 828:src/l502_user_process.c **** - 829:src/l502_user_process.c **** - 830:src/l502_user_process.c **** for (uint32_t i = 0; i < TX_BUFF_SIZE; ++i){ - 831:src/l502_user_process.c **** TX_buff[i] = 0; - 832:src/l502_user_process.c **** } - 833:src/l502_user_process.c **** - 834:src/l502_user_process.c **** // l502_cmd_done(cmd-> param, NULL, 0); - 835:src/l502_user_process.c **** l502_cmd_done(TX_buff_I, NULL, 0); - 836:src/l502_user_process.c **** break; - 837:src/l502_user_process.c **** } - 838:src/l502_user_process.c **** case 0x8008:{ //AVG mode - 839:src/l502_user_process.c **** TX_buff_I = 0; - 840:src/l502_user_process.c **** - 841:src/l502_user_process.c **** Proc_state.mode = AVG; - 842:src/l502_user_process.c **** Proc_state.mode_next = AVG; - 843:src/l502_user_process.c **** Proc_state.LFSM_state = CYCLE_UNKNOWN; - 844:src/l502_user_process.c **** Proc_state.average_N_max = 30; - 845:src/l502_user_process.c **** // Proc_state.average_N_max = cmd->param; - 846:src/l502_user_process.c **** Proc_state.average_N = 0; - 847:src/l502_user_process.c **** Proc_state.TX_buff_I = 0; - 848:src/l502_user_process.c **** Proc_state.TX_buff_state = 0; - 849:src/l502_user_process.c **** Proc_state.AVG_state = 0; - 850:src/l502_user_process.c **** Proc_state.AVG_buff_I = 0; - 851:src/l502_user_process.c **** Proc_state.AVG_buff_state = 0; - 852:src/l502_user_process.c **** Proc_state.FFT_buff_I = 0; - 853:src/l502_user_process.c **** Proc_state.FFT_buff_state = 0; - 854:src/l502_user_process.c **** Proc_state.digital_word_prev = 0; - 855:src/l502_user_process.c **** Proc_state.digital_word_curr = 0; - 856:src/l502_user_process.c **** Proc_state.AVG_buff_active = A; - 857:src/l502_user_process.c **** TX_buff_state = TX_DONE; - 858:src/l502_user_process.c **** - 859:src/l502_user_process.c **** for (uint32_t i = 0; i < TX_BUFF_SIZE; ++i){ - 860:src/l502_user_process.c **** TX_buff[i] = 0; - 861:src/l502_user_process.c **** } - 862:src/l502_user_process.c **** - 863:src/l502_user_process.c **** // l502_cmd_done(cmd-> param, NULL, 0); - 864:src/l502_user_process.c **** l502_cmd_done(TX_buff_I, NULL, 0); - 865:src/l502_user_process.c **** - 866:src/l502_user_process.c **** break; - 867:src/l502_user_process.c **** } - 868:src/l502_user_process.c **** case 0x8009:{ //request TX_buff_I_shadow value (last size of TX_buff transferred to pc ) - 869:src/l502_user_process.c **** l502_cmd_done(TX_buff_I_shadow, NULL, 0); - 870:src/l502_user_process.c **** break; - 871:src/l502_user_process.c **** } - 872:src/l502_user_process.c **** case 0x800A:{ //return uint32_t value stored in dbg_receive_value - 873:src/l502_user_process.c **** l502_cmd_done(dbg_receive_value, NULL, 0); - 874:src/l502_user_process.c **** break; - 875:src/l502_user_process.c **** } - 876:src/l502_user_process.c **** - 877:src/l502_user_process.c **** + 827:src/l502_user_process.c **** Proc_state.average_N_max = 10; + 828:src/l502_user_process.c **** // Proc_state.average_N_max = cmd->param; + 829:src/l502_user_process.c **** Proc_state.average_N = 1; + 830:src/l502_user_process.c **** Proc_state.TX_buff_I = 0; + 831:src/l502_user_process.c **** Proc_state.TX_buff_state = 0; + 832:src/l502_user_process.c **** Proc_state.AVG_state = 0; + 833:src/l502_user_process.c **** Proc_state.AVG_buff_I = 0; + 834:src/l502_user_process.c **** Proc_state.AVG_buff_state = 0; + 835:src/l502_user_process.c **** Proc_state.FFT_buff_I = 0; + 836:src/l502_user_process.c **** Proc_state.FFT_buff_state = 0; + 837:src/l502_user_process.c **** Proc_state.digital_word_prev = 0; + 838:src/l502_user_process.c **** Proc_state.digital_word_curr = 0; + 839:src/l502_user_process.c **** Proc_state.AVG_buff_active = A; + 840:src/l502_user_process.c **** TX_buff_state = TX_DONE; + 841:src/l502_user_process.c **** + 842:src/l502_user_process.c **** + 843:src/l502_user_process.c **** for (uint32_t i = 0; i < TX_BUFF_SIZE; ++i){ + 844:src/l502_user_process.c **** TX_buff[i] = 0; + 845:src/l502_user_process.c **** } + 846:src/l502_user_process.c **** + 847:src/l502_user_process.c **** // l502_cmd_done(cmd-> param, NULL, 0); + 848:src/l502_user_process.c **** l502_cmd_done(TX_buff_I, NULL, 0); + 849:src/l502_user_process.c **** break; + 850:src/l502_user_process.c **** } + 851:src/l502_user_process.c **** case 0x8008:{ //AVG mode + 852:src/l502_user_process.c **** TX_buff_I = 0; + 853:src/l502_user_process.c **** + 854:src/l502_user_process.c **** Proc_state.mode = AVG; + 855:src/l502_user_process.c **** Proc_state.mode_next = AVG; + 856:src/l502_user_process.c **** Proc_state.LFSM_state = CYCLE_UNKNOWN; + 857:src/l502_user_process.c **** Proc_state.average_N_max = 30; + 858:src/l502_user_process.c **** // Proc_state.average_N_max = cmd->param; + 859:src/l502_user_process.c **** Proc_state.average_N = 0; + 860:src/l502_user_process.c **** Proc_state.TX_buff_I = 0; + 861:src/l502_user_process.c **** Proc_state.TX_buff_state = 0; + 862:src/l502_user_process.c **** Proc_state.AVG_state = 0; + 863:src/l502_user_process.c **** Proc_state.AVG_buff_I = 0; + 864:src/l502_user_process.c **** Proc_state.AVG_buff_state = 0; + 865:src/l502_user_process.c **** Proc_state.FFT_buff_I = 0; + 866:src/l502_user_process.c **** Proc_state.FFT_buff_state = 0; + 867:src/l502_user_process.c **** Proc_state.digital_word_prev = 0; + 868:src/l502_user_process.c **** Proc_state.digital_word_curr = 0; + 869:src/l502_user_process.c **** Proc_state.AVG_buff_active = A; + 870:src/l502_user_process.c **** TX_buff_state = TX_DONE; + 871:src/l502_user_process.c **** + 872:src/l502_user_process.c **** for (uint32_t i = 0; i < TX_BUFF_SIZE; ++i){ + 873:src/l502_user_process.c **** TX_buff[i] = 0; + 874:src/l502_user_process.c **** } + 875:src/l502_user_process.c **** + 876:src/l502_user_process.c **** // l502_cmd_done(cmd-> param, NULL, 0); + 877:src/l502_user_process.c **** l502_cmd_done(TX_buff_I, NULL, 0); 878:src/l502_user_process.c **** - 879:src/l502_user_process.c **** - 880:src/l502_user_process.c **** - 881:src/l502_user_process.c **** case 0x8010:{ //flush HDMA TX buffer - 882:src/l502_user_process.c **** int number_of_free_tx_descriptors = hdma_send_req_rdy(); - 883:src/l502_user_process.c **** hdma_send_stop(); - BFIN GAS /tmp/ccBtsGqv.s page 17 + 879:src/l502_user_process.c **** break; + 880:src/l502_user_process.c **** } + 881:src/l502_user_process.c **** case 0x8009:{ //request TX_buff_I_shadow value (last size of TX_buff transferred to pc ) + 882:src/l502_user_process.c **** l502_cmd_done(TX_buff_I_shadow, NULL, 0); + 883:src/l502_user_process.c **** break; + BFIN GAS /tmp/ccYZl5FJ.s page 17 - 884:src/l502_user_process.c **** hdma_send_start(); - 885:src/l502_user_process.c **** l502_cmd_done(number_of_free_tx_descriptors, NULL, 0); - 886:src/l502_user_process.c **** break; - 887:src/l502_user_process.c **** } - 888:src/l502_user_process.c **** case 0x8011:{ //L502_BF_USR_CMD_CODE_ECHO - 889:src/l502_user_process.c **** l502_cmd_done(cmd-> param, NULL, 0); - 890:src/l502_user_process.c **** break; - 891:src/l502_user_process.c **** } - 892:src/l502_user_process.c **** case 0x8012:{ //L502_BF_USR_CMD_CODE_ECHO - 893:src/l502_user_process.c **** l502_cmd_done(cmd-> param, NULL, 0); - 894:src/l502_user_process.c **** break; - 895:src/l502_user_process.c **** } - 896:src/l502_user_process.c **** case 0x8013:{ //L502_BF_USR_CMD_CODE_ECHO - 897:src/l502_user_process.c **** l502_cmd_done(cmd-> param, NULL, 0); - 898:src/l502_user_process.c **** break; - 899:src/l502_user_process.c **** } - 900:src/l502_user_process.c **** case 0x8014:{ //L502_BF_USR_CMD_CODE_ECHO - 901:src/l502_user_process.c **** l502_cmd_done(cmd-> param, NULL, 0); - 902:src/l502_user_process.c **** break; - 903:src/l502_user_process.c **** } - 904:src/l502_user_process.c **** case 0x8015:{ //L502_BF_USR_CMD_CODE_ECHO - 905:src/l502_user_process.c **** l502_cmd_done(cmd-> param, NULL, 0); - 906:src/l502_user_process.c **** break; - 907:src/l502_user_process.c **** } - 908:src/l502_user_process.c **** - 909:src/l502_user_process.c **** - 910:src/l502_user_process.c **** - 911:src/l502_user_process.c **** /* - 912:src/l502_user_process.c **** case 0x8002:{ - 913:src/l502_user_process.c **** cmd-> result = cmd->param * 2; - 914:src/l502_user_process.c **** uint32_t data[] = {0,1,2,3,4,5,6,5,4,3,2,1,0}; - 915:src/l502_user_process.c **** l502_cmd_done(cmd-> param*3, data, 13); - 916:src/l502_user_process.c **** break;} - 917:src/l502_user_process.c **** case 0x8001:{ - 918:src/l502_user_process.c **** //cmd-> result = cmd->param * 2; - 919:src/l502_user_process.c **** uint32_t data[] = {6,5,4,3,2,1,0,1,2,3,4,5,6}; - 920:src/l502_user_process.c **** l502_cmd_done(cmd-> param*75, data, 13); - 921:src/l502_user_process.c **** break;} - 922:src/l502_user_process.c **** */ - 923:src/l502_user_process.c **** - 924:src/l502_user_process.c **** default: { - 925:src/l502_user_process.c **** l502_cmd_done(1, NULL, 0); - 926:src/l502_user_process.c **** } - 927:src/l502_user_process.c **** } - 928:src/l502_user_process.c **** //l502_cmd_done(1, 1, 1); - 929:src/l502_user_process.c **** //l502_cmd_done(L502_BF_ERR_UNSUP_CMD, NULL, 0); - 930:src/l502_user_process.c **** } - 26 .loc 1 930 0 + 884:src/l502_user_process.c **** } + 885:src/l502_user_process.c **** case 0x800A:{ //return uint32_t value stored in dbg_receive_value + 886:src/l502_user_process.c **** l502_cmd_done(dbg_receive_value, NULL, 0); + 887:src/l502_user_process.c **** break; + 888:src/l502_user_process.c **** } + 889:src/l502_user_process.c **** + 890:src/l502_user_process.c **** case 0x800B:{ //return uint32_t value stored in dbg_receive_value + 891:src/l502_user_process.c **** Proc_state.mode = FLOOD; + 892:src/l502_user_process.c **** l502_cmd_done(0, NULL, 0); + 893:src/l502_user_process.c **** break; + 894:src/l502_user_process.c **** } + 895:src/l502_user_process.c **** + 896:src/l502_user_process.c **** + 897:src/l502_user_process.c **** + 898:src/l502_user_process.c **** + 899:src/l502_user_process.c **** case 0x8010:{ //flush HDMA TX buffer + 900:src/l502_user_process.c **** int number_of_free_tx_descriptors = hdma_send_req_rdy(); + 901:src/l502_user_process.c **** hdma_send_stop(); + 902:src/l502_user_process.c **** hdma_send_start(); + 903:src/l502_user_process.c **** l502_cmd_done(number_of_free_tx_descriptors, NULL, 0); + 904:src/l502_user_process.c **** break; + 905:src/l502_user_process.c **** } + 906:src/l502_user_process.c **** case 0x8011:{ //L502_BF_USR_CMD_CODE_ECHO + 907:src/l502_user_process.c **** l502_cmd_done(cmd-> param, NULL, 0); + 908:src/l502_user_process.c **** break; + 909:src/l502_user_process.c **** } + 910:src/l502_user_process.c **** case 0x8012:{ //L502_BF_USR_CMD_CODE_ECHO + 911:src/l502_user_process.c **** l502_cmd_done(cmd-> param, NULL, 0); + 912:src/l502_user_process.c **** break; + 913:src/l502_user_process.c **** } + 914:src/l502_user_process.c **** case 0x8013:{ //L502_BF_USR_CMD_CODE_ECHO + 915:src/l502_user_process.c **** l502_cmd_done(cmd-> param, NULL, 0); + 916:src/l502_user_process.c **** break; + 917:src/l502_user_process.c **** } + 918:src/l502_user_process.c **** case 0x8014:{ //L502_BF_USR_CMD_CODE_ECHO + 919:src/l502_user_process.c **** l502_cmd_done(cmd-> param, NULL, 0); + 920:src/l502_user_process.c **** break; + 921:src/l502_user_process.c **** } + 922:src/l502_user_process.c **** case 0x8015:{ //L502_BF_USR_CMD_CODE_ECHO + 923:src/l502_user_process.c **** l502_cmd_done(cmd-> param, NULL, 0); + 924:src/l502_user_process.c **** break; + 925:src/l502_user_process.c **** } + 926:src/l502_user_process.c **** + 927:src/l502_user_process.c **** + 928:src/l502_user_process.c **** + 929:src/l502_user_process.c **** /* + 930:src/l502_user_process.c **** case 0x8002:{ + 931:src/l502_user_process.c **** cmd-> result = cmd->param * 2; + 932:src/l502_user_process.c **** uint32_t data[] = {0,1,2,3,4,5,6,5,4,3,2,1,0}; + 933:src/l502_user_process.c **** l502_cmd_done(cmd-> param*3, data, 13); + 934:src/l502_user_process.c **** break;} + 935:src/l502_user_process.c **** case 0x8001:{ + 936:src/l502_user_process.c **** //cmd-> result = cmd->param * 2; + 937:src/l502_user_process.c **** uint32_t data[] = {6,5,4,3,2,1,0,1,2,3,4,5,6}; + 938:src/l502_user_process.c **** l502_cmd_done(cmd-> param*75, data, 13); + 939:src/l502_user_process.c **** break;} + 940:src/l502_user_process.c **** */ + BFIN GAS /tmp/ccYZl5FJ.s page 18 + + + 941:src/l502_user_process.c **** + 942:src/l502_user_process.c **** default: { + 943:src/l502_user_process.c **** l502_cmd_done(1, NULL, 0); + 944:src/l502_user_process.c **** } + 945:src/l502_user_process.c **** } + 946:src/l502_user_process.c **** //l502_cmd_done(1, 1, 1); + 947:src/l502_user_process.c **** //l502_cmd_done(L502_BF_ERR_UNSUP_CMD, NULL, 0); + 948:src/l502_user_process.c **** } + 26 .loc 1 948 0 27 000c 7630 R6 = SP; - 710:src/l502_user_process.c **** switch (cmd->code){ - 28 .loc 1 710 0 + 723:src/l502_user_process.c **** switch (cmd->code){ + 28 .loc 1 723 0 29 000e 0095 R0 = W [P0] (Z); 30 .LVL1: 31 0010 0850 R0 = R0 + R1; 32 0012 C042 R0 = R0.L (Z); 33 0014 A160 R1 = 20 (X); 34 0016 080A cc =R0<=R1 (iu); - BFIN GAS /tmp/ccBtsGqv.s page 18 - - - 35 0018 0B1C if cc jump .L51 (bp); + 35 0018 0B1C if cc jump .L52 (bp); 36 .L2: - 925:src/l502_user_process.c **** l502_cmd_done(1, NULL, 0); - 37 .loc 1 925 0 + 943:src/l502_user_process.c **** l502_cmd_done(1, NULL, 0); + 37 .loc 1 943 0 38 001a 0860 R0 = 1 (X); 39 001c 0160 R1 = 0 (X); 40 001e 0260 R2 = 0 (X); 41 0020 FFE3F0FF call _l502_cmd_done; 42 .LVL2: - 43 .L45: - 44 .loc 1 930 0 + 43 .L46: + 44 .loc 1 948 0 45 0024 3632 SP = R6; 46 0026 01E80000 UNLINK; 47 002a B405 ( r7:6, p5:4 ) = [sp++]; @@ -1040,53 +1058,53 @@ BFIN GAS /tmp/ccBtsGqv.s page 1 50 .LVL3: 51 002c 1000 rts; 52 .LVL4: - 53 .L51: - 710:src/l502_user_process.c **** switch (cmd->code){ - 54 .loc 1 710 0 + 53 .L52: + 723:src/l502_user_process.c **** switch (cmd->code){ + 54 .loc 1 723 0 55 002e 0832 P1 = R0; - 56 0030 4AE10000 P2.H = .L19; - 57 0034 0AE10000 P2.L = .L19; + 56 0030 4AE10000 P2.H = .L20; + 57 0034 0AE10000 P2.L = .L20; 58 0038 8A5E P2 = P2 + (P1 << 2); 59 003a 5291 P2 = [P2]; 60 003c 5200 jump (P2); 61 .section .rodata 62 .align 4 63 .align 4 - 64 .L19: - 65 0000 3E000000 .dd .L18; + 64 .L20: + 65 0000 3E000000 .dd .L19; 66 0004 6C000000 .dd .L4; 67 0008 98000000 .dd .L5; 68 000c 4A010000 .dd .L6; 69 0010 7C010000 .dd .L7; 70 0014 9C010000 .dd .L8; 71 0018 10020000 .dd .L9; - 72 001c 92020000 .dd .L10; - 73 0020 02030000 .dd .L11; - 74 0024 16030000 .dd .L12; - 75 0028 1A000000 .dd .L2; + BFIN GAS /tmp/ccYZl5FJ.s page 19 + + + 72 001c 96020000 .dd .L10; + 73 0020 0A030000 .dd .L11; + 74 0024 1E030000 .dd .L12; + 75 0028 32030000 .dd .L13; 76 002c 1A000000 .dd .L2; 77 0030 1A000000 .dd .L2; 78 0034 1A000000 .dd .L2; 79 0038 1A000000 .dd .L2; - 80 003c 52000000 .dd .L13; - 81 0040 3E000000 .dd .L18; - 82 0044 3E000000 .dd .L18; - 83 0048 3E000000 .dd .L18; - 84 004c 3E000000 .dd .L18; - 85 0050 3E000000 .dd .L18; + 80 003c 52000000 .dd .L14; + 81 0040 3E000000 .dd .L19; + 82 0044 3E000000 .dd .L19; + 83 0048 3E000000 .dd .L19; + 84 004c 3E000000 .dd .L19; + 85 0050 3E000000 .dd .L19; 86 .text; - 87 .L18: - 905:src/l502_user_process.c **** l502_cmd_done(cmd-> param, NULL, 0); - 88 .loc 1 905 0 - BFIN GAS /tmp/ccBtsGqv.s page 19 - - + 87 .L19: + 923:src/l502_user_process.c **** l502_cmd_done(cmd-> param, NULL, 0); + 88 .loc 1 923 0 89 003e 40A0 R0 = [P0+4]; 90 0040 0160 R1 = 0 (X); 91 0042 0260 R2 = 0 (X); 92 0044 FFE3DEFF call _l502_cmd_done; 93 .LVL5: - 94 .loc 1 930 0 + 94 .loc 1 948 0 95 0048 3632 SP = R6; 96 004a 01E80000 UNLINK; 97 004e B405 ( r7:6, p5:4 ) = [sp++]; @@ -1094,155 +1112,158 @@ BFIN GAS /tmp/ccBtsGqv.s page 1 99 .LCFI3: 100 0050 1000 rts; 101 .LVL6: - 102 .L13: + 102 .L14: 103 .LBB2: - 882:src/l502_user_process.c **** int number_of_free_tx_descriptors = hdma_send_req_rdy(); - 104 .loc 1 882 0 + 900:src/l502_user_process.c **** int number_of_free_tx_descriptors = hdma_send_req_rdy(); + 104 .loc 1 900 0 105 0052 FFE3D7FF call _hdma_send_req_rdy; 106 .LVL7: 107 0056 3830 R7 = R0; 108 .LVL8: - 883:src/l502_user_process.c **** hdma_send_stop(); - 109 .loc 1 883 0 + 901:src/l502_user_process.c **** hdma_send_stop(); + 109 .loc 1 901 0 110 0058 FFE3D4FF call _hdma_send_stop; - 884:src/l502_user_process.c **** hdma_send_start(); - 111 .loc 1 884 0 + 902:src/l502_user_process.c **** hdma_send_start(); + 111 .loc 1 902 0 112 005c FFE3D2FF call _hdma_send_start; - 885:src/l502_user_process.c **** l502_cmd_done(number_of_free_tx_descriptors, NULL, 0); - 113 .loc 1 885 0 + 903:src/l502_user_process.c **** l502_cmd_done(number_of_free_tx_descriptors, NULL, 0); + 113 .loc 1 903 0 114 0060 0730 R0 = R7; 115 0062 0160 R1 = 0 (X); 116 0064 0260 R2 = 0 (X); 117 0066 FFE3CDFF call _l502_cmd_done; - 118 006a DD2F jump.s .L45; + 118 006a DD2F jump.s .L46; 119 .LVL9: 120 .L4: 121 .LBE2: 122 .LBB3: - 739:src/l502_user_process.c **** uint32_t rcv_data[cmd->data_size]; - 123 .loc 1 739 0 + 752:src/l502_user_process.c **** uint32_t rcv_data[cmd->data_size]; + BFIN GAS /tmp/ccYZl5FJ.s page 20 + + + 123 .loc 1 752 0 124 006c C1AC P1 = [P0+12]; 125 .LBE3: - 735:src/l502_user_process.c **** break; - 126 .loc 1 735 0 + 748:src/l502_user_process.c **** break; + 126 .loc 1 748 0 127 006e 7E30 R7 = SP; 128 .LBB6: - 739:src/l502_user_process.c **** uint32_t rcv_data[cmd->data_size]; - 129 .loc 1 739 0 + 752:src/l502_user_process.c **** uint32_t rcv_data[cmd->data_size]; + 129 .loc 1 752 0 130 0070 4A44 P2 = P1 << 2; 131 0072 226C P2 += 4; 132 0074 1644 SP -= P2; 133 0076 4E30 R1 = SP; 134 .LBB4: - 740:src/l502_user_process.c **** for (uint32_t I = 0; I < (cmd -> data_size); ++I){ - 135 .loc 1 740 0 + 753:src/l502_user_process.c **** for (uint32_t I = 0; I < (cmd -> data_size); ++I){ + 135 .loc 1 753 0 136 0078 5130 R2 = P1; 137 .LBE4: - BFIN GAS /tmp/ccBtsGqv.s page 20 - - - 739:src/l502_user_process.c **** uint32_t rcv_data[cmd->data_size]; - 138 .loc 1 739 0 + 752:src/l502_user_process.c **** uint32_t rcv_data[cmd->data_size]; + 138 .loc 1 752 0 139 007a C164 R1 += 24; 140 .LBB5: - 740:src/l502_user_process.c **** for (uint32_t I = 0; I < (cmd -> data_size); ++I){ - 141 .loc 1 740 0 + 753:src/l502_user_process.c **** for (uint32_t I = 0; I < (cmd -> data_size); ++I){ + 141 .loc 1 753 0 142 007c 020C cc =R2==0; - 143 007e 0818 if cc jump .L21; + 143 007e 0818 if cc jump .L22; 144 0080 1132 P2 = R1; 145 0082 0060 R0 = 0 (X); 146 .LVL10: - 147 .L22: - 742:src/l502_user_process.c **** rcv_data[I] = I; - 148 .loc 1 742 0 + 147 .L23: + 755:src/l502_user_process.c **** rcv_data[I] = I; + 148 .loc 1 755 0 149 0084 1092 [P2++] = R0; - 740:src/l502_user_process.c **** for (uint32_t I = 0; I < (cmd -> data_size); ++I){ - 150 .loc 1 740 0 + 753:src/l502_user_process.c **** for (uint32_t I = 0; I < (cmd -> data_size); ++I){ + 150 .loc 1 753 0 151 0086 0864 R0 += 1; 152 0088 C2A0 R2 = [P0+12]; 153 008a 020A cc =R2<=R0 (iu); - 154 008c FC17 if !cc jump .L22 (bp); - 155 .L21: + 154 008c FC17 if !cc jump .L23 (bp); + 155 .L22: 156 .LBE5: - 744:src/l502_user_process.c **** l502_cmd_done(cmd-> param, rcv_data, cmd->data_size); - 157 .loc 1 744 0 + 757:src/l502_user_process.c **** l502_cmd_done(cmd-> param, rcv_data, cmd->data_size); + 157 .loc 1 757 0 158 008e 40A0 R0 = [P0+4]; 159 .LVL11: 160 0090 FFE3B8FF call _l502_cmd_done; 161 .LVL12: 162 0094 3732 SP = R7; - 163 0096 C72F jump.s .L45; + 163 0096 C72F jump.s .L46; 164 .LVL13: 165 .L5: 166 .LBE6: 167 .LBB7: - 748:src/l502_user_process.c **** uint32_t err_codes[15] = {0,}; - 168 .loc 1 748 0 + 761:src/l502_user_process.c **** uint32_t err_codes[15] = {0,}; + 168 .loc 1 761 0 169 0098 2AE1B0FF P2 = -80 (X); 170 009c 575B P5 = FP + P2; + BFIN GAS /tmp/ccYZl5FJ.s page 21 + + 171 009e 0160 R1 = 0 (X); 172 00a0 E261 R2 = 60 (X); 173 00a2 4530 R0 = P5; 174 00a4 FFE3AEFF call _memset; 175 .LVL14: - 749:src/l502_user_process.c **** err_codes[0] = params_set_lch_cnt(1); - 176 .loc 1 749 0 + 762:src/l502_user_process.c **** err_codes[0] = params_set_lch_cnt(1); + 176 .loc 1 762 0 177 00a8 0860 R0 = 1 (X); 178 00aa FFE3ABFF call _params_set_lch_cnt; 179 00ae C0BA [FP+-80] = R0; - 751:src/l502_user_process.c **** err_codes[1] = params_set_lch(0, 0, L502_LCH_MODE_COMM, L502_ADC_RANGE_5, 1, 0);// chan index 1, - 180 .loc 1 751 0 + 764:src/l502_user_process.c **** err_codes[1] = params_set_lch(0, 0, L502_LCH_MODE_COMM, L502_ADC_RANGE_5, 1, 0);// chan index 1, + 180 .loc 1 764 0 181 00b0 0860 R0 = 1 (X); 182 00b2 F0B0 [SP+12] = R0; 183 00b4 30B1 [SP+16] = R0; 184 00b6 0060 R0 = 0 (X); 185 00b8 00CC09C2 R1 = R1 -|- R1 || 185 70B10000 - BFIN GAS /tmp/ccBtsGqv.s page 21 - - 186 [SP+20] = R0 || 187 nop; 188 00c0 0260 R2 = 0 (X); 189 00c2 FFE39FFF call _params_set_lch; 190 00c6 D0BA [FP+-76] = R0; - 752:src/l502_user_process.c **** err_codes[2] = params_set_adc_freq_div(1); - 191 .loc 1 752 0 + 765:src/l502_user_process.c **** err_codes[2] = params_set_adc_freq_div(1); + 191 .loc 1 765 0 192 00c8 0860 R0 = 1 (X); 193 00ca FFE39BFF call _params_set_adc_freq_div; 194 00ce E0BA [FP+-72] = R0; - 753:src/l502_user_process.c **** err_codes[3] = params_set_ref_freq(2000000); - 195 .loc 1 753 0 + 766:src/l502_user_process.c **** err_codes[3] = params_set_ref_freq(2000000); + 195 .loc 1 766 0 196 00d0 20E1093D R0 = 15625 (X); 197 00d4 384F R0 <<= 7; 198 00d6 FFE395FF call _params_set_ref_freq; 199 00da F0BA [FP+-68] = R0; - 754:src/l502_user_process.c **** err_codes[4] = params_set_adc_interframe_delay(0); - 200 .loc 1 754 0 + 767:src/l502_user_process.c **** err_codes[4] = params_set_adc_interframe_delay(0); + 200 .loc 1 767 0 201 00dc 0060 R0 = 0 (X); 202 00de FFE391FF call _params_set_adc_interframe_delay; 203 00e2 00BB [FP+-64] = R0; - 755:src/l502_user_process.c **** err_codes[5] = params_set_sync_mode (L502_SYNC_INTERNAL); - 204 .loc 1 755 0 + 768:src/l502_user_process.c **** err_codes[5] = params_set_sync_mode (L502_SYNC_INTERNAL); + 204 .loc 1 768 0 205 00e4 0060 R0 = 0 (X); 206 00e6 FFE38DFF call _params_set_sync_mode; 207 00ea 10BB [FP+-60] = R0; - 756:src/l502_user_process.c **** err_codes[6] = params_set_sync_start_mode (L502_SYNC_INTERNAL); - 208 .loc 1 756 0 + 769:src/l502_user_process.c **** err_codes[6] = params_set_sync_start_mode (L502_SYNC_INTERNAL); + 208 .loc 1 769 0 209 00ec 0060 R0 = 0 (X); 210 00ee FFE389FF call _params_set_sync_start_mode; 211 00f2 20BB [FP+-56] = R0; - 760:src/l502_user_process.c **** err_codes[9] = sport_in_set_step_size(1024); - 212 .loc 1 760 0 + 773:src/l502_user_process.c **** err_codes[9] = sport_in_set_step_size(1024); + 212 .loc 1 773 0 213 00f4 20E10004 R0 = 1024 (X); 214 00f8 FFE384FF call _sport_in_set_step_size; 215 00fc 50BB [FP+-44] = R0; - 765:src/l502_user_process.c **** err_codes[12] = configure(); - 216 .loc 1 765 0 + 778:src/l502_user_process.c **** err_codes[12] = configure(); + 216 .loc 1 778 0 217 00fe FFE381FF call _configure; + BFIN GAS /tmp/ccYZl5FJ.s page 22 + + 218 .LBB8: - 772:src/l502_user_process.c **** err_codes_sum += err_codes[i]; - 219 .loc 1 772 0 + 785:src/l502_user_process.c **** err_codes_sum += err_codes[i]; + 219 .loc 1 785 0 220 0102 D2B8 R2 = [FP+-76]; 221 0104 C1B8 R1 = [FP+-80]; 222 0106 04CC0A02 R1 = R1 + R2 (NS) || @@ -1258,9 +1279,6 @@ BFIN GAS /tmp/ccBtsGqv.s page 1 231 .LVL17: 232 0116 02B9 R2 = [FP+-64]; 233 0118 5150 R1 = R1 + R2; - BFIN GAS /tmp/ccBtsGqv.s page 22 - - 234 .LVL18: 235 011a 12B9 R2 = [FP+-60]; 236 011c 5150 R1 = R1 + R2; @@ -1289,61 +1307,61 @@ BFIN GAS /tmp/ccBtsGqv.s page 1 259 013a 0850 R0 = R0 + R1; 260 .LVL27: 261 .LBE8: - 774:src/l502_user_process.c **** l502_cmd_done(err_codes_sum, err_codes, 15); - 262 .loc 1 774 0 + 787:src/l502_user_process.c **** l502_cmd_done(err_codes_sum, err_codes, 15); + 262 .loc 1 787 0 263 013c A1B9 R1 = [FP+-24]; 264 013e 0850 R0 = R0 + R1; 265 .LVL28: 266 0140 4D30 R1 = P5; 267 0142 7A60 R2 = 15 (X); 268 0144 FFE35EFF call _l502_cmd_done; - 269 0148 6E2F jump.s .L45; + 269 0148 6E2F jump.s .L46; 270 .LVL29: 271 .L6: + BFIN GAS /tmp/ccYZl5FJ.s page 23 + + 272 .LBE7: 273 .LBB9: - 778:src/l502_user_process.c **** uint32_t err_codes[5] = {0,}; - 274 .loc 1 778 0 + 791:src/l502_user_process.c **** uint32_t err_codes[5] = {0,}; + 274 .loc 1 791 0 275 014a 0060 R0 = 0 (X); 276 014c B0BB [FP+-20] = R0; 277 014e C0BB [FP+-16] = R0; 278 0150 D0BB [FP+-12] = R0; 279 0152 E0BB [FP+-8] = R0; 280 0154 F0BB [FP+-4] = R0; - 779:src/l502_user_process.c **** l502_stream_init(); - 281 .loc 1 779 0 + 792:src/l502_user_process.c **** l502_stream_init(); + 281 .loc 1 792 0 282 0156 FFE355FF call _l502_stream_init; 283 .LVL30: - 780:src/l502_user_process.c **** err_codes[0] = stream_enable(L502_STREAM_ADC | L502_STREAM_DIN); //bitmask - 284 .loc 1 780 0 + 793:src/l502_user_process.c **** err_codes[0] = stream_enable(L502_STREAM_ADC | L502_STREAM_DIN); //bitmask + 284 .loc 1 793 0 285 015a 1860 R0 = 3 (X); 286 015c FFE352FF call _stream_enable; - BFIN GAS /tmp/ccBtsGqv.s page 23 - - 287 0160 B0BB [FP+-20] = R0; - 781:src/l502_user_process.c **** err_codes[1] = stream_out_preload(); - 288 .loc 1 781 0 + 794:src/l502_user_process.c **** err_codes[1] = stream_out_preload(); + 288 .loc 1 794 0 289 0162 FFE34FFF call _stream_out_preload; 290 0166 C0BB [FP+-16] = R0; - 782:src/l502_user_process.c **** err_codes[2] = streams_start(); - 291 .loc 1 782 0 + 795:src/l502_user_process.c **** err_codes[2] = streams_start(); + 291 .loc 1 795 0 292 0168 FFE34CFF call _streams_start; 293 016c D0BB [FP+-12] = R0; - 784:src/l502_user_process.c **** l502_cmd_done(0, err_codes, 5); - 294 .loc 1 784 0 + 797:src/l502_user_process.c **** l502_cmd_done(0, err_codes, 5); + 294 .loc 1 797 0 295 016e 4F30 R1 = FP; 296 0170 0060 R0 = 0 (X); 297 0172 6167 R1 += -20; 298 0174 2A60 R2 = 5 (X); 299 0176 FFE345FF call _l502_cmd_done; - 300 017a 552F jump.s .L45; + 300 017a 552F jump.s .L46; 301 .LVL31: 302 .L7: 303 .LBE9: 304 .LBB10: - 790:src/l502_user_process.c **** l502_cmd_done(streams_sum, streams_cnt, 4); - 305 .loc 1 790 0 + 803:src/l502_user_process.c **** l502_cmd_done(streams_sum, streams_cnt, 4); + 305 .loc 1 803 0 306 017c 4AE10000 P2.H = _streams_cnt; 307 0180 0AE10000 P2.L = _streams_cnt; 308 0184 1191 R1 = [P2]; @@ -1357,11 +1375,14 @@ BFIN GAS /tmp/ccBtsGqv.s page 1 316 0194 2260 R2 = 4 (X); 317 0196 FFE335FF call _l502_cmd_done; 318 .LVL32: - 319 019a 452F jump.s .L45; + 319 019a 452F jump.s .L46; 320 .LVL33: 321 .L8: - 791:src/l502_user_process.c **** break; - 322 .loc 1 791 0 + BFIN GAS /tmp/ccYZl5FJ.s page 24 + + + 804:src/l502_user_process.c **** break; + 322 .loc 1 804 0 323 019c 4AE10000 P2.H = _dbg_sport_rx_copy; 324 01a0 0AE12800 P2.L = _dbg_sport_rx_copy; 325 01a4 1091 R0 = [P2]; @@ -1370,17 +1391,14 @@ BFIN GAS /tmp/ccBtsGqv.s page 1 328 .LBE10: 329 .LBB11: 330 .LBB12: - 799:src/l502_user_process.c **** ++sport_rx_nonzero_sum; - 331 .loc 1 799 0 + 812:src/l502_user_process.c **** ++sport_rx_nonzero_sum; + 331 .loc 1 812 0 332 01aa 51A0 R1 = [P2+4]; 333 01ac 1030 R2 = R0; 334 .LVL34: 335 01ae 010C cc =R1==0; 336 01b0 0A64 R2 += 1; 337 01b2 0206 if !cc R0 = R2; - BFIN GAS /tmp/ccBtsGqv.s page 24 - - 338 .LVL35: 339 01b4 91A0 R1 = [P2+8]; 340 01b6 1030 R2 = R0; @@ -1420,6 +1438,9 @@ BFIN GAS /tmp/ccBtsGqv.s page 1 374 01e6 D1A1 R1 = [P2+28]; 375 01e8 1030 R2 = R0; 376 01ea 010C cc =R1==0; + BFIN GAS /tmp/ccYZl5FJ.s page 25 + + 377 01ec 0A64 R2 += 1; 378 .LVL46: 379 01ee 0206 if !cc R0 = R2; @@ -1432,4098 +1453,4270 @@ BFIN GAS /tmp/ccBtsGqv.s page 1 386 01f8 0206 if !cc R0 = R2; 387 .LVL49: 388 .LBE12: - 802:src/l502_user_process.c **** l502_cmd_done(sport_rx_nonzero_sum, dbg_sport_rx_copy, 1024); - 389 .loc 1 802 0 + 815:src/l502_user_process.c **** l502_cmd_done(sport_rx_nonzero_sum, dbg_sport_rx_copy, 1024); + 389 .loc 1 815 0 390 01fa 51A2 R1 = [P2+36]; 391 .LBB13: - 799:src/l502_user_process.c **** ++sport_rx_nonzero_sum; - 392 .loc 1 799 0 - BFIN GAS /tmp/ccBtsGqv.s page 25 - - + 812:src/l502_user_process.c **** ++sport_rx_nonzero_sum; + 392 .loc 1 812 0 393 01fc 1030 R2 = R0; 394 .LBE13: - 802:src/l502_user_process.c **** l502_cmd_done(sport_rx_nonzero_sum, dbg_sport_rx_copy, 1024); - 395 .loc 1 802 0 + 815:src/l502_user_process.c **** l502_cmd_done(sport_rx_nonzero_sum, dbg_sport_rx_copy, 1024); + 395 .loc 1 815 0 396 01fe 010C cc =R1==0; 397 .LBB14: - 799:src/l502_user_process.c **** ++sport_rx_nonzero_sum; - 398 .loc 1 799 0 + 812:src/l502_user_process.c **** ++sport_rx_nonzero_sum; + 398 .loc 1 812 0 399 0200 0A64 R2 += 1; 400 .LVL50: 401 .LBE14: - 802:src/l502_user_process.c **** l502_cmd_done(sport_rx_nonzero_sum, dbg_sport_rx_copy, 1024); - 402 .loc 1 802 0 + 815:src/l502_user_process.c **** l502_cmd_done(sport_rx_nonzero_sum, dbg_sport_rx_copy, 1024); + 402 .loc 1 815 0 403 0202 0206 if !cc R0 = R2; 404 .LVL51: 405 0204 4A30 R1 = P2; 406 0206 22E10004 R2 = 1024 (X); 407 020a FFE3FBFE call _l502_cmd_done; 408 .LVL52: - 409 020e 0B2F jump.s .L45; + 409 020e 0B2F jump.s .L46; 410 .LVL53: 411 .L9: 412 .LBE11: - 809:src/l502_user_process.c **** TX_buff_I = 0; - 413 .loc 1 809 0 + 822:src/l502_user_process.c **** TX_buff_I = 0; + 413 .loc 1 822 0 414 0210 4CE10000 P4.H = _TX_buff_I; 415 0214 0260 R2 = 0 (X); - 416 0216 0CE11400 P4.L = _TX_buff_I; - 811:src/l502_user_process.c **** Proc_state.mode = TRANSPARENT; - 417 .loc 1 811 0 + 416 0216 0CE11800 P4.L = _TX_buff_I; + 824:src/l502_user_process.c **** Proc_state.mode = TRANSPARENT; + 417 .loc 1 824 0 418 021a 4AE10000 P2.H = _Proc_state; - 809:src/l502_user_process.c **** TX_buff_I = 0; - 419 .loc 1 809 0 + 822:src/l502_user_process.c **** TX_buff_I = 0; + 419 .loc 1 822 0 420 021e 2293 [P4] = R2; - 811:src/l502_user_process.c **** Proc_state.mode = TRANSPARENT; - 421 .loc 1 811 0 + 824:src/l502_user_process.c **** Proc_state.mode = TRANSPARENT; + 421 .loc 1 824 0 422 0220 0AE12C00 P2.L = _Proc_state; 423 0224 0860 R0 = 1 (X); 424 0226 109B B [P2] = R0; - 812:src/l502_user_process.c **** Proc_state.mode_next = TRANSPARENT; - 425 .loc 1 812 0 + BFIN GAS /tmp/ccYZl5FJ.s page 26 + + + 825:src/l502_user_process.c **** Proc_state.mode_next = TRANSPARENT; + 425 .loc 1 825 0 426 0228 90E60100 B [P2+1] = R0; - 813:src/l502_user_process.c **** Proc_state.LFSM_state = CYCLE_UNKNOWN; - 427 .loc 1 813 0 + 826:src/l502_user_process.c **** Proc_state.LFSM_state = CYCLE_UNKNOWN; + 427 .loc 1 826 0 428 022c 0160 R1 = 0 (X); 429 022e 91E60300 B [P2+3] = R1; - 814:src/l502_user_process.c **** Proc_state.average_N_max = 10; - 430 .loc 1 814 0 + 827:src/l502_user_process.c **** Proc_state.average_N_max = 10; + 430 .loc 1 827 0 431 0232 5060 R0 = 10 (X); 432 0234 90B4 W [P2+4] = R0; - 816:src/l502_user_process.c **** Proc_state.average_N = 1; - 433 .loc 1 816 0 + 829:src/l502_user_process.c **** Proc_state.average_N = 1; + 433 .loc 1 829 0 434 0236 0860 R0 = 1 (X); 435 0238 D0B4 W [P2+6] = R0; - 817:src/l502_user_process.c **** Proc_state.TX_buff_I = 0; - 436 .loc 1 817 0 + 830:src/l502_user_process.c **** Proc_state.TX_buff_I = 0; + 436 .loc 1 830 0 437 023a 92B0 [P2+8] = R2; - BFIN GAS /tmp/ccBtsGqv.s page 26 - - - 818:src/l502_user_process.c **** Proc_state.TX_buff_state = 0; - 438 .loc 1 818 0 + 831:src/l502_user_process.c **** Proc_state.TX_buff_state = 0; + 438 .loc 1 831 0 439 023c 91E60C00 B [P2+12] = R1; - 819:src/l502_user_process.c **** Proc_state.AVG_state = 0; - 440 .loc 1 819 0 + 832:src/l502_user_process.c **** Proc_state.AVG_state = 0; + 440 .loc 1 832 0 441 0240 91E61400 B [P2+20] = R1; - 820:src/l502_user_process.c **** Proc_state.AVG_buff_I = 0; - 442 .loc 1 820 0 + 833:src/l502_user_process.c **** Proc_state.AVG_buff_I = 0; + 442 .loc 1 833 0 443 0244 12B1 [P2+16] = R2; - 821:src/l502_user_process.c **** Proc_state.AVG_buff_state = 0; - 444 .loc 1 821 0 + 834:src/l502_user_process.c **** Proc_state.AVG_buff_state = 0; + 444 .loc 1 834 0 445 0246 91E61500 B [P2+21] = R1; - 822:src/l502_user_process.c **** Proc_state.FFT_buff_I = 0; - 446 .loc 1 822 0 + 835:src/l502_user_process.c **** Proc_state.FFT_buff_I = 0; + 446 .loc 1 835 0 447 024a 92B1 [P2+24] = R2; - 823:src/l502_user_process.c **** Proc_state.FFT_buff_state = 0; - 448 .loc 1 823 0 + 836:src/l502_user_process.c **** Proc_state.FFT_buff_state = 0; + 448 .loc 1 836 0 449 024c 91E61C00 B [P2+28] = R1; - 824:src/l502_user_process.c **** Proc_state.digital_word_prev = 0; - 450 .loc 1 824 0 + 837:src/l502_user_process.c **** Proc_state.digital_word_prev = 0; + 450 .loc 1 837 0 451 0250 12B2 [P2+32] = R2; - 825:src/l502_user_process.c **** Proc_state.digital_word_curr = 0; - 452 .loc 1 825 0 + 838:src/l502_user_process.c **** Proc_state.digital_word_curr = 0; + 452 .loc 1 838 0 453 0252 52B2 [P2+36] = R2; - 826:src/l502_user_process.c **** Proc_state.AVG_buff_active = A; - 454 .loc 1 826 0 + 839:src/l502_user_process.c **** Proc_state.AVG_buff_active = A; + 454 .loc 1 839 0 455 0254 91E61600 B [P2+22] = R1; - 827:src/l502_user_process.c **** TX_buff_state = TX_DONE; - 456 .loc 1 827 0 + 840:src/l502_user_process.c **** TX_buff_state = TX_DONE; + 456 .loc 1 840 0 457 0258 4AE10000 P2.H = _TX_buff_state; 458 025c 1860 R0 = 3 (X); 459 025e 0AE13000 P2.L = _TX_buff_state; 460 0262 109B B [P2] = R0; 461 0264 4DE10000 P5.H = _TX_buff; - 462 0268 0068 P0 = 0 (X); - 463 .LVL54: - 464 026a 0DE10000 P5.L = _TX_buff; - 465 .LBB15: - 831:src/l502_user_process.c **** TX_buff[i] = 0; - 466 .loc 1 831 0 - 467 026e 0060 R0 = 0 (X); - 468 0270 29E11027 P1 = 10000 (X); - 469 0274 B2E00410 LSETUP (.L43, .L53) LC1 = P1; - 470 .L43: - 471 0278 855E P2 = P5 + (P0 << 2); - 472 027a 1093 [P2] = R0; - 473 .L53: - 830:src/l502_user_process.c **** for (uint32_t i = 0; i < TX_BUFF_SIZE; ++i){ - 474 .loc 1 830 0 - 475 027c 086C P0 += 1; - 476 .LVL55: - 477 .L49: - 478 .LBE15: - 864:src/l502_user_process.c **** l502_cmd_done(TX_buff_I, NULL, 0); - 479 .loc 1 864 0 - 480 027e 2091 R0 = [P4]; - 481 0280 0160 R1 = 0 (X); - BFIN GAS /tmp/ccBtsGqv.s page 27 + 462 .LBB15: + 844:src/l502_user_process.c **** TX_buff[i] = 0; + 463 .loc 1 844 0 + 464 0268 49E10100 P1.H = 1; + 465 .LBE15: + BFIN GAS /tmp/ccYZl5FJ.s page 27 - 482 0282 0260 R2 = 0 (X); - 483 0284 FFE3BEFE call _l502_cmd_done; - 484 .LVL56: - 485 .loc 1 930 0 - 486 0288 3632 SP = R6; - 487 028a 01E80000 UNLINK; - 488 028e B405 ( r7:6, p5:4 ) = [sp++]; - 489 - 490 .LCFI4: - 491 0290 1000 rts; - 492 .LVL57: - 493 .L10: - 839:src/l502_user_process.c **** TX_buff_I = 0; - 494 .loc 1 839 0 - 495 0292 4CE10000 P4.H = _TX_buff_I; - 496 0296 0260 R2 = 0 (X); - 497 0298 0CE11400 P4.L = _TX_buff_I; - 841:src/l502_user_process.c **** Proc_state.mode = AVG; - 498 .loc 1 841 0 - 499 029c 4AE10000 P2.H = _Proc_state; - 839:src/l502_user_process.c **** TX_buff_I = 0; - 500 .loc 1 839 0 - 501 02a0 2293 [P4] = R2; - 841:src/l502_user_process.c **** Proc_state.mode = AVG; - 502 .loc 1 841 0 - 503 02a2 0AE12C00 P2.L = _Proc_state; - 504 02a6 1060 R0 = 2 (X); - 505 02a8 109B B [P2] = R0; - 842:src/l502_user_process.c **** Proc_state.mode_next = AVG; - 506 .loc 1 842 0 - 507 02aa 90E60100 B [P2+1] = R0; - 843:src/l502_user_process.c **** Proc_state.LFSM_state = CYCLE_UNKNOWN; - 508 .loc 1 843 0 - 509 02ae 0160 R1 = 0 (X); - 510 02b0 91E60300 B [P2+3] = R1; - 844:src/l502_user_process.c **** Proc_state.average_N_max = 30; - 511 .loc 1 844 0 - 512 02b4 F060 R0 = 30 (X); - 513 02b6 90B4 W [P2+4] = R0; - 846:src/l502_user_process.c **** Proc_state.average_N = 0; - 514 .loc 1 846 0 - 515 02b8 0060 R0 = 0 (X); - 516 02ba D0B4 W [P2+6] = R0; - 847:src/l502_user_process.c **** Proc_state.TX_buff_I = 0; - 517 .loc 1 847 0 - 518 02bc 92B0 [P2+8] = R2; - 848:src/l502_user_process.c **** Proc_state.TX_buff_state = 0; - 519 .loc 1 848 0 - 520 02be 91E60C00 B [P2+12] = R1; - 849:src/l502_user_process.c **** Proc_state.AVG_state = 0; - 521 .loc 1 849 0 - 522 02c2 91E61400 B [P2+20] = R1; - 850:src/l502_user_process.c **** Proc_state.AVG_buff_I = 0; - 523 .loc 1 850 0 - 524 02c6 12B1 [P2+16] = R2; - 851:src/l502_user_process.c **** Proc_state.AVG_buff_state = 0; - 525 .loc 1 851 0 - BFIN GAS /tmp/ccBtsGqv.s page 28 + 840:src/l502_user_process.c **** TX_buff_state = TX_DONE; + 466 .loc 1 840 0 + 467 026c 0068 P0 = 0 (X); + 468 .LVL54: + 469 026e 0DE10000 P5.L = _TX_buff; + 470 .LBB16: + 844:src/l502_user_process.c **** TX_buff[i] = 0; + 471 .loc 1 844 0 + 472 0272 0060 R0 = 0 (X); + 473 0274 09E1A086 P1.L = 34464; + 474 0278 B2E00410 LSETUP (.L44, .L54) LC1 = P1; + 475 .L44: + 476 027c 855E P2 = P5 + (P0 << 2); + 477 027e 1093 [P2] = R0; + 478 .L54: + 843:src/l502_user_process.c **** for (uint32_t i = 0; i < TX_BUFF_SIZE; ++i){ + 479 .loc 1 843 0 + 480 0280 086C P0 += 1; + 481 .LVL55: + 482 .L50: + 483 .LBE16: + 877:src/l502_user_process.c **** l502_cmd_done(TX_buff_I, NULL, 0); + 484 .loc 1 877 0 + 485 0282 2091 R0 = [P4]; + 486 0284 0160 R1 = 0 (X); + 487 0286 0260 R2 = 0 (X); + 488 0288 FFE3BCFE call _l502_cmd_done; + 489 .LVL56: + 490 .loc 1 948 0 + 491 028c 3632 SP = R6; + 492 028e 01E80000 UNLINK; + 493 0292 B405 ( r7:6, p5:4 ) = [sp++]; + 494 + 495 .LCFI4: + 496 0294 1000 rts; + 497 .LVL57: + 498 .L10: + 852:src/l502_user_process.c **** TX_buff_I = 0; + 499 .loc 1 852 0 + 500 0296 4CE10000 P4.H = _TX_buff_I; + 501 029a 0260 R2 = 0 (X); + 502 029c 0CE11800 P4.L = _TX_buff_I; + 854:src/l502_user_process.c **** Proc_state.mode = AVG; + 503 .loc 1 854 0 + 504 02a0 4AE10000 P2.H = _Proc_state; + 852:src/l502_user_process.c **** TX_buff_I = 0; + 505 .loc 1 852 0 + 506 02a4 2293 [P4] = R2; + 854:src/l502_user_process.c **** Proc_state.mode = AVG; + 507 .loc 1 854 0 + 508 02a6 0AE12C00 P2.L = _Proc_state; + 509 02aa 1060 R0 = 2 (X); + 510 02ac 109B B [P2] = R0; + 855:src/l502_user_process.c **** Proc_state.mode_next = AVG; + 511 .loc 1 855 0 + 512 02ae 90E60100 B [P2+1] = R0; + 856:src/l502_user_process.c **** Proc_state.LFSM_state = CYCLE_UNKNOWN; + BFIN GAS /tmp/ccYZl5FJ.s page 28 - 526 02c8 91E61500 B [P2+21] = R1; - 852:src/l502_user_process.c **** Proc_state.FFT_buff_I = 0; - 527 .loc 1 852 0 - 528 02cc 92B1 [P2+24] = R2; - 853:src/l502_user_process.c **** Proc_state.FFT_buff_state = 0; - 529 .loc 1 853 0 - 530 02ce 91E61C00 B [P2+28] = R1; - 854:src/l502_user_process.c **** Proc_state.digital_word_prev = 0; - 531 .loc 1 854 0 - 532 02d2 12B2 [P2+32] = R2; - 855:src/l502_user_process.c **** Proc_state.digital_word_curr = 0; - 533 .loc 1 855 0 - 534 02d4 52B2 [P2+36] = R2; - 856:src/l502_user_process.c **** Proc_state.AVG_buff_active = A; - 535 .loc 1 856 0 - 536 02d6 91E61600 B [P2+22] = R1; - 857:src/l502_user_process.c **** TX_buff_state = TX_DONE; - 537 .loc 1 857 0 - 538 02da 4AE10000 P2.H = _TX_buff_state; - 539 02de 1860 R0 = 3 (X); - 540 02e0 0AE13000 P2.L = _TX_buff_state; - 541 02e4 109B B [P2] = R0; - 542 02e6 4DE10000 P5.H = _TX_buff; - 543 02ea 0068 P0 = 0 (X); - 544 .LVL58: - 545 02ec 0DE10000 P5.L = _TX_buff; - 546 .LBB16: - 860:src/l502_user_process.c **** TX_buff[i] = 0; - 547 .loc 1 860 0 - 548 02f0 0060 R0 = 0 (X); - 549 02f2 29E11027 P1 = 10000 (X); - 550 02f6 B2E00410 LSETUP (.L44, .L52) LC1 = P1; - 551 .L44: - 552 02fa 855E P2 = P5 + (P0 << 2); - 553 02fc 1093 [P2] = R0; - 554 .L52: - 859:src/l502_user_process.c **** for (uint32_t i = 0; i < TX_BUFF_SIZE; ++i){ - 555 .loc 1 859 0 - 556 02fe 086C P0 += 1; - 557 0300 BF2F jump.s .L49; - 558 .LVL59: - 559 .L11: - 560 .LBE16: - 869:src/l502_user_process.c **** l502_cmd_done(TX_buff_I_shadow, NULL, 0); - 561 .loc 1 869 0 - 562 0302 4AE10000 P2.H = _TX_buff_I_shadow; - 563 0306 0AE12C00 P2.L = _TX_buff_I_shadow; - 564 030a 1091 R0 = [P2]; - 565 030c 0160 R1 = 0 (X); - 566 030e 0260 R2 = 0 (X); - 567 0310 FFE378FE call _l502_cmd_done; - 568 .LVL60: - 569 0314 882E jump.s .L45; - 570 .LVL61: - 571 .L12: - 873:src/l502_user_process.c **** l502_cmd_done(dbg_receive_value, NULL, 0); - 572 .loc 1 873 0 - BFIN GAS /tmp/ccBtsGqv.s page 29 + 513 .loc 1 856 0 + 514 02b2 0160 R1 = 0 (X); + 515 02b4 91E60300 B [P2+3] = R1; + 857:src/l502_user_process.c **** Proc_state.average_N_max = 30; + 516 .loc 1 857 0 + 517 02b8 F060 R0 = 30 (X); + 518 02ba 90B4 W [P2+4] = R0; + 859:src/l502_user_process.c **** Proc_state.average_N = 0; + 519 .loc 1 859 0 + 520 02bc 0060 R0 = 0 (X); + 521 02be D0B4 W [P2+6] = R0; + 860:src/l502_user_process.c **** Proc_state.TX_buff_I = 0; + 522 .loc 1 860 0 + 523 02c0 92B0 [P2+8] = R2; + 861:src/l502_user_process.c **** Proc_state.TX_buff_state = 0; + 524 .loc 1 861 0 + 525 02c2 91E60C00 B [P2+12] = R1; + 862:src/l502_user_process.c **** Proc_state.AVG_state = 0; + 526 .loc 1 862 0 + 527 02c6 91E61400 B [P2+20] = R1; + 863:src/l502_user_process.c **** Proc_state.AVG_buff_I = 0; + 528 .loc 1 863 0 + 529 02ca 12B1 [P2+16] = R2; + 864:src/l502_user_process.c **** Proc_state.AVG_buff_state = 0; + 530 .loc 1 864 0 + 531 02cc 91E61500 B [P2+21] = R1; + 865:src/l502_user_process.c **** Proc_state.FFT_buff_I = 0; + 532 .loc 1 865 0 + 533 02d0 92B1 [P2+24] = R2; + 866:src/l502_user_process.c **** Proc_state.FFT_buff_state = 0; + 534 .loc 1 866 0 + 535 02d2 91E61C00 B [P2+28] = R1; + 867:src/l502_user_process.c **** Proc_state.digital_word_prev = 0; + 536 .loc 1 867 0 + 537 02d6 12B2 [P2+32] = R2; + 868:src/l502_user_process.c **** Proc_state.digital_word_curr = 0; + 538 .loc 1 868 0 + 539 02d8 52B2 [P2+36] = R2; + 869:src/l502_user_process.c **** Proc_state.AVG_buff_active = A; + 540 .loc 1 869 0 + 541 02da 91E61600 B [P2+22] = R1; + 870:src/l502_user_process.c **** TX_buff_state = TX_DONE; + 542 .loc 1 870 0 + 543 02de 4AE10000 P2.H = _TX_buff_state; + 544 02e2 1860 R0 = 3 (X); + 545 02e4 0AE13000 P2.L = _TX_buff_state; + 546 02e8 109B B [P2] = R0; + 547 02ea 4DE10000 P5.H = _TX_buff; + 548 .LBB17: + 873:src/l502_user_process.c **** TX_buff[i] = 0; + 549 .loc 1 873 0 + 550 02ee 49E10100 P1.H = 1; + 551 .LBE17: + 870:src/l502_user_process.c **** TX_buff_state = TX_DONE; + 552 .loc 1 870 0 + 553 02f2 0068 P0 = 0 (X); + 554 .LVL58: + BFIN GAS /tmp/ccYZl5FJ.s page 29 - 573 0316 4AE10000 P2.H = _dbg_receive_value; - 574 031a 0AE10000 P2.L = _dbg_receive_value; - 575 031e 1091 R0 = [P2]; - 576 0320 0160 R1 = 0 (X); - 577 0322 0260 R2 = 0 (X); - 578 0324 FFE36EFE call _l502_cmd_done; - 579 .LVL62: - 580 0328 7E2E jump.s .L45; - 581 .LFE6: - 582 .size _usr_cmd_process, .-_usr_cmd_process - 583 032a 0000 .align 4 - 584 .global _sport_tx_done; - 585 .type _sport_tx_done, STT_FUNC; - 586 _sport_tx_done: - 587 .LFB5: - 681:src/l502_user_process.c **** void sport_tx_done(uint32_t* addr, uint32_t size) { - 588 .loc 1 681 0 - 589 .LVL63: - 682:src/l502_user_process.c **** ++streams_cnt[1]; - 590 .loc 1 682 0 - 591 032c 4AE10000 P2.H = _streams_cnt; - 681:src/l502_user_process.c **** void sport_tx_done(uint32_t* addr, uint32_t size) { - 592 .loc 1 681 0 - 593 0330 00E80000 LINK 0; - 594 .LCFI5: - 682:src/l502_user_process.c **** ++streams_cnt[1]; - 595 .loc 1 682 0 - 596 0334 0AE10000 P2.L = _streams_cnt; - 597 0338 50A0 R0 = [P2+4]; - 598 .LVL64: - 599 033a 0864 R0 += 1; - 600 033c 50B0 [P2+4] = R0; - 684:src/l502_user_process.c **** stream_out_buf_free(size); - 601 .loc 1 684 0 - 602 033e 0130 R0 = R1; - 685:src/l502_user_process.c **** } - 603 .loc 1 685 0 - 604 0340 01E80000 UNLINK; - 684:src/l502_user_process.c **** stream_out_buf_free(size); - 605 .loc 1 684 0 - 606 0344 FFE25EFE jump.l _stream_out_buf_free; - 607 .LVL65: - 608 .LFE5: - 609 .size _sport_tx_done, .-_sport_tx_done - 610 .align 4 - 611 .global _hdma_send_done; - 612 .type _hdma_send_done, STT_FUNC; - 613 _hdma_send_done: - 614 .LFB4: - 661:src/l502_user_process.c **** void hdma_send_done(uint32_t* addr, uint32_t size) { - 615 .loc 1 661 0 - 616 .LVL66: - 663:src/l502_user_process.c **** TX_buff_state = TX_DONE; - 617 .loc 1 663 0 - 618 0348 4AE10000 P2.H = _TX_buff_state; - 661:src/l502_user_process.c **** void hdma_send_done(uint32_t* addr, uint32_t size) { - 619 .loc 1 661 0 - BFIN GAS /tmp/ccBtsGqv.s page 30 + 555 02f4 0DE10000 P5.L = _TX_buff; + 556 .LBB18: + 873:src/l502_user_process.c **** TX_buff[i] = 0; + 557 .loc 1 873 0 + 558 02f8 0060 R0 = 0 (X); + 559 02fa 09E1A086 P1.L = 34464; + 560 02fe B2E00410 LSETUP (.L45, .L53) LC1 = P1; + 561 .L45: + 562 0302 855E P2 = P5 + (P0 << 2); + 563 0304 1093 [P2] = R0; + 564 .L53: + 872:src/l502_user_process.c **** for (uint32_t i = 0; i < TX_BUFF_SIZE; ++i){ + 565 .loc 1 872 0 + 566 0306 086C P0 += 1; + 567 0308 BD2F jump.s .L50; + 568 .LVL59: + 569 .L11: + 570 .LBE18: + 882:src/l502_user_process.c **** l502_cmd_done(TX_buff_I_shadow, NULL, 0); + 571 .loc 1 882 0 + 572 030a 4AE10000 P2.H = _TX_buff_I_shadow; + 573 030e 0AE12C00 P2.L = _TX_buff_I_shadow; + 574 0312 1091 R0 = [P2]; + 575 0314 0160 R1 = 0 (X); + 576 0316 0260 R2 = 0 (X); + 577 0318 FFE374FE call _l502_cmd_done; + 578 .LVL60: + 579 031c 842E jump.s .L46; + 580 .LVL61: + 581 .L12: + 886:src/l502_user_process.c **** l502_cmd_done(dbg_receive_value, NULL, 0); + 582 .loc 1 886 0 + 583 031e 4AE10000 P2.H = _dbg_receive_value; + 584 0322 0AE10000 P2.L = _dbg_receive_value; + 585 0326 1091 R0 = [P2]; + 586 0328 0160 R1 = 0 (X); + 587 032a 0260 R2 = 0 (X); + 588 032c FFE36AFE call _l502_cmd_done; + 589 .LVL62: + 590 0330 7A2E jump.s .L46; + 591 .LVL63: + 592 .L13: + 891:src/l502_user_process.c **** Proc_state.mode = FLOOD; + 593 .loc 1 891 0 + 594 0332 4AE10000 P2.H = _Proc_state; + 595 0336 3060 R0 = 6 (X); + 596 0338 0AE12C00 P2.L = _Proc_state; + 597 033c 109B B [P2] = R0; + 892:src/l502_user_process.c **** l502_cmd_done(0, NULL, 0); + 598 .loc 1 892 0 + 599 033e 0060 R0 = 0 (X); + 600 0340 0160 R1 = 0 (X); + 601 0342 0260 R2 = 0 (X); + 602 0344 FFE35EFE call _l502_cmd_done; + 603 .LVL64: + 604 0348 6E2E jump.s .L46; + 605 .LFE6: + BFIN GAS /tmp/ccYZl5FJ.s page 30 - 620 034c 00E80000 LINK 0; - 621 .LCFI6: - 663:src/l502_user_process.c **** TX_buff_state = TX_DONE; - 622 .loc 1 663 0 - 623 0350 1860 R0 = 3 (X); - 624 .LVL67: - 625 0352 0AE13000 P2.L = _TX_buff_state; - 626 0356 109B B [P2] = R0; - 664:src/l502_user_process.c **** ++streams_cnt[3]; - 627 .loc 1 664 0 - 628 0358 4AE10000 P2.H = _streams_cnt; - 629 035c 0AE10000 P2.L = _streams_cnt; - 630 0360 D0A0 R0 = [P2+12]; - 631 0362 0864 R0 += 1; - 632 0364 D0B0 [P2+12] = R0; - 666:src/l502_user_process.c **** stream_in_buf_free(size); - 633 .loc 1 666 0 - 634 0366 0130 R0 = R1; - 667:src/l502_user_process.c **** } - 635 .loc 1 667 0 - 636 0368 01E80000 UNLINK; - 666:src/l502_user_process.c **** stream_in_buf_free(size); - 637 .loc 1 666 0 - 638 036c FFE24AFE jump.l _stream_in_buf_free; - 639 .LVL68: - 640 .LFE4: - 641 .size _hdma_send_done, .-_hdma_send_done - 642 .align 4 - 643 .global _usr_out_proc_data; - 644 .type _usr_out_proc_data, STT_FUNC; - 645 _usr_out_proc_data: - 646 .LFB3: - 625:src/l502_user_process.c **** uint32_t usr_out_proc_data(uint32_t* data, uint32_t size) { - 647 .loc 1 625 0 + 606 .size _usr_cmd_process, .-_usr_cmd_process + 607 034a 0000 .align 4 + 608 .global _sport_tx_done; + 609 .type _sport_tx_done, STT_FUNC; + 610 _sport_tx_done: + 611 .LFB5: + 694:src/l502_user_process.c **** void sport_tx_done(uint32_t* addr, uint32_t size) { + 612 .loc 1 694 0 + 613 .LVL65: + 695:src/l502_user_process.c **** ++streams_cnt[1]; + 614 .loc 1 695 0 + 615 034c 4AE10000 P2.H = _streams_cnt; + 694:src/l502_user_process.c **** void sport_tx_done(uint32_t* addr, uint32_t size) { + 616 .loc 1 694 0 + 617 0350 00E80000 LINK 0; + 618 .LCFI5: + 695:src/l502_user_process.c **** ++streams_cnt[1]; + 619 .loc 1 695 0 + 620 0354 0AE10000 P2.L = _streams_cnt; + 621 0358 50A0 R0 = [P2+4]; + 622 .LVL66: + 623 035a 0864 R0 += 1; + 624 035c 50B0 [P2+4] = R0; + 697:src/l502_user_process.c **** stream_out_buf_free(size); + 625 .loc 1 697 0 + 626 035e 0130 R0 = R1; + 698:src/l502_user_process.c **** } + 627 .loc 1 698 0 + 628 0360 01E80000 UNLINK; + 697:src/l502_user_process.c **** stream_out_buf_free(size); + 629 .loc 1 697 0 + 630 0364 FFE24EFE jump.l _stream_out_buf_free; + 631 .LVL67: + 632 .LFE5: + 633 .size _sport_tx_done, .-_sport_tx_done + 634 .align 4 + 635 .global _hdma_send_done; + 636 .type _hdma_send_done, STT_FUNC; + 637 _hdma_send_done: + 638 .LFB4: + 674:src/l502_user_process.c **** void hdma_send_done(uint32_t* addr, uint32_t size) { + 639 .loc 1 674 0 + 640 .LVL68: + 676:src/l502_user_process.c **** TX_buff_state = TX_DONE; + 641 .loc 1 676 0 + 642 0368 4AE10000 P2.H = _TX_buff_state; + 674:src/l502_user_process.c **** void hdma_send_done(uint32_t* addr, uint32_t size) { + 643 .loc 1 674 0 + 644 036c 00E80000 LINK 0; + 645 .LCFI6: + 676:src/l502_user_process.c **** TX_buff_state = TX_DONE; + 646 .loc 1 676 0 + 647 0370 1860 R0 = 3 (X); 648 .LVL69: - 649 0370 7005 [--sp] = ( r7:6 ); - 650 - 651 .LCFI7: - 630:src/l502_user_process.c **** ++streams_cnt[2]; - 652 .loc 1 630 0 - 653 0372 4AE10000 P2.H = _streams_cnt; - 625:src/l502_user_process.c **** uint32_t usr_out_proc_data(uint32_t* data, uint32_t size) { - 654 .loc 1 625 0 - 655 0376 00E80300 LINK 12; - 656 .LCFI8: - 630:src/l502_user_process.c **** ++streams_cnt[2]; - 657 .loc 1 630 0 - 658 037a 0AE10000 P2.L = _streams_cnt; - 625:src/l502_user_process.c **** uint32_t usr_out_proc_data(uint32_t* data, uint32_t size) { - 659 .loc 1 625 0 - 660 037e 3030 R6 = R0; - 630:src/l502_user_process.c **** ++streams_cnt[2]; - 661 .loc 1 630 0 - 662 0380 90A0 R0 = [P2+8]; + 649 0372 0AE13000 P2.L = _TX_buff_state; + 650 0376 109B B [P2] = R0; + 677:src/l502_user_process.c **** ++streams_cnt[3]; + BFIN GAS /tmp/ccYZl5FJ.s page 31 + + + 651 .loc 1 677 0 + 652 0378 4AE10000 P2.H = _streams_cnt; + 653 037c 0AE10000 P2.L = _streams_cnt; + 654 0380 D0A0 R0 = [P2+12]; + 655 0382 0864 R0 += 1; + 656 0384 D0B0 [P2+12] = R0; + 679:src/l502_user_process.c **** stream_in_buf_free(size); + 657 .loc 1 679 0 + 658 0386 0130 R0 = R1; + 680:src/l502_user_process.c **** } + 659 .loc 1 680 0 + 660 0388 01E80000 UNLINK; + 679:src/l502_user_process.c **** stream_in_buf_free(size); + 661 .loc 1 679 0 + 662 038c FFE23AFE jump.l _stream_in_buf_free; 663 .LVL70: - 664 0382 0864 R0 += 1; - 625:src/l502_user_process.c **** uint32_t usr_out_proc_data(uint32_t* data, uint32_t size) { - BFIN GAS /tmp/ccBtsGqv.s page 31 - - - 665 .loc 1 625 0 - 666 0384 82CE01CE R7 = ROT R1 BY 0 || - 666 90B00000 - 667 [P2+8] = R0 || - 668 nop; - 669 .LVL71: - 632:src/l502_user_process.c **** if (sport_tx_req_rdy()) { - 670 .loc 1 632 0 - 671 038c FFE33AFE call _sport_tx_req_rdy; - 672 0390 000C cc =R0==0; - 673 0392 0E18 if cc jump .L62; - 674 0394 20E10040 R0 = 16384 (X); - 675 0398 070A cc =R7<=R0 (iu); - 676 039a 3806 if !cc R7 = R0; - 677 .LVL72: - 639:src/l502_user_process.c **** sport_tx_start_req(data, size); - 678 .loc 1 639 0 - 679 039c 0630 R0 = R6; - 680 039e 0F30 R1 = R7; - 681 03a0 FFE330FE call _sport_tx_start_req; - 644:src/l502_user_process.c **** } - 682 .loc 1 644 0 - 683 03a4 0730 R0 = R7; - 684 03a6 01E80000 UNLINK; - 685 03aa 3005 ( r7:6 ) = [sp++]; - 686 - 687 .LCFI9: - 688 .LVL73: - 689 03ac 1000 rts; - 690 .LVL74: - 691 .L62: - 632:src/l502_user_process.c **** if (sport_tx_req_rdy()) { - 692 .loc 1 632 0 - 693 03ae 0760 R7 = 0 (X); - 694 .LVL75: - 644:src/l502_user_process.c **** } - 695 .loc 1 644 0 - 696 03b0 0730 R0 = R7; - 697 03b2 01E80000 UNLINK; - 698 03b6 3005 ( r7:6 ) = [sp++]; - 699 - 700 .LCFI10: - 701 .LVL76: - 702 03b8 1000 rts; - 703 .LFE3: - 704 .size _usr_out_proc_data, .-_usr_out_proc_data - 705 03ba 0000 .align 4 - 706 .global _usr_in_proc_data; - 707 .type _usr_in_proc_data, STT_FUNC; - 708 _usr_in_proc_data: - 709 .LFB2: - 159:src/l502_user_process.c **** uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) { - 710 .loc 1 159 0 - 711 .LVL77: - 712 03bc E305 [--sp] = ( r7:4, p5:3 ); - 713 - 714 .LCFI11: - BFIN GAS /tmp/ccBtsGqv.s page 32 - - - 168:src/l502_user_process.c **** if (TX_buff_state == TX_DONE){ - 715 .loc 1 168 0 - 716 03be 45E10000 R5.H = _TX_buff_state; - 717 03c2 05E13000 R5.L = _TX_buff_state; - 163:src/l502_user_process.c **** ++streams_cnt[0]; - 718 .loc 1 163 0 - 719 03c6 4AE10000 P2.H = _streams_cnt; - 168:src/l502_user_process.c **** if (TX_buff_state == TX_DONE){ - 720 .loc 1 168 0 - 721 03ca 0532 P0 = R5; - 159:src/l502_user_process.c **** uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) { - 722 .loc 1 159 0 - 723 03cc 00E80300 LINK 12; - 724 .LCFI12: - 163:src/l502_user_process.c **** ++streams_cnt[0]; - 725 .loc 1 163 0 - 726 03d0 0AE10000 P2.L = _streams_cnt; - 159:src/l502_user_process.c **** uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) { - 727 .loc 1 159 0 - 728 03d4 1834 I3 = R0; - 163:src/l502_user_process.c **** ++streams_cnt[0]; - 729 .loc 1 163 0 - 730 03d6 1091 R0 = [P2]; - 731 .LVL78: - 732 03d8 0864 R0 += 1; - 733 03da 1093 [P2] = R0; - 168:src/l502_user_process.c **** if (TX_buff_state == TX_DONE){ - 734 .loc 1 168 0 - 735 03dc 4099 R0 = B [P0] (X); - 736 03de 4043 R0 = R0.B (Z); - 159:src/l502_user_process.c **** uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) { - 737 .loc 1 159 0 - 738 03e0 3930 R7 = R1; - 168:src/l502_user_process.c **** if (TX_buff_state == TX_DONE){ - 739 .loc 1 168 0 - 740 03e2 180C cc =R0==3; - 741 03e4 0219 if cc jump .L94; - 742 .LVL79: - 743 .L64: - 190:src/l502_user_process.c **** if (Proc_state.mode == TRANSPARENT){ - 744 .loc 1 190 0 - 745 03e6 50E10000 I0.H = _Proc_state; - 746 03ea 10E12C00 I0.L = _Proc_state; - 747 03ee 9032 P2 = I0; - 748 03f0 5099 R0 = B [P2] (X); - 749 03f2 4043 R0 = R0.B (Z); - 750 03f4 080C cc =R0==1; - 751 03f6 BC18 if cc jump .L95; - 752 .L66: - 209:src/l502_user_process.c **** if (Proc_state.mode == AVG){ - 753 .loc 1 209 0 - 754 03f8 8832 P1 = I0; - 755 03fa 4899 R0 = B [P1] (X); - 756 03fc 4043 R0 = R0.B (Z); - 757 03fe 100C cc =R0==2; - 758 0400 1518 if cc jump .L96; - 759 .LVL80: - BFIN GAS /tmp/ccBtsGqv.s page 33 - - - 760 .L70: - 528:src/l502_user_process.c **** if (hdma_send_req_rdy()) { - 761 .loc 1 528 0 - 762 0402 FFE3FFFD call _hdma_send_req_rdy; - 763 .LVL81: - 764 0406 000C cc =R0==0; - 765 0408 0B18 if cc jump .L97; - 576:src/l502_user_process.c **** if (TX_buff_state == TODO_TX){ - 766 .loc 1 576 0 - 767 040a 0D32 P1 = R5; - 768 040c 4899 R0 = B [P1] (X); - 769 040e 4043 R0 = R0.B (Z); - 770 0410 080C cc =R0==1; - 771 0412 0519 if cc jump .L98; - 599:src/l502_user_process.c **** } - 772 .loc 1 599 0 - 773 0414 0730 R0 = R7; - 774 0416 01E80000 UNLINK; - 775 041a A305 ( r7:4, p5:3 ) = [sp++]; - 776 - 777 .LCFI13: - 778 .LVL82: - 779 041c 1000 rts; - 780 .LVL83: - 781 .L97: - 528:src/l502_user_process.c **** if (hdma_send_req_rdy()) { - 782 .loc 1 528 0 - 783 041e 0760 R7 = 0 (X); - 599:src/l502_user_process.c **** } - 784 .loc 1 599 0 - 785 0420 0730 R0 = R7; - 786 0422 01E80000 UNLINK; - 787 0426 A305 ( r7:4, p5:3 ) = [sp++]; - 788 - 789 .LCFI14: - 790 .LVL84: - 791 0428 1000 rts; - 792 .LVL85: - 793 .L96: - 794 042a 4BE10000 P3.H = _data_I; - 795 042e 0BE11800 P3.L = _data_I; - 796 .LBB17: - 273:src/l502_user_process.c **** AVG_buff[Proc_state.AVG_buff_I] = 0xC0000000 | ((val + AVG_buff[Proc_state.AVG_buff_I]) & 0x - 797 .loc 1 273 0 - 798 0432 5BE10000 B3.H = _Proc_state; - 799 0436 51E10000 I1.H = _AVG_buff; - 800 043a FC63 R4 = -1 (X); - 215:src/l502_user_process.c **** DY_SYN_2_value_prev = DY_SYN_2_value; - 801 .loc 1 215 0 - 802 043c 52E10000 I2.H = _DY_SYN_2_value; - 803 0440 59E10000 B1.H = _DY_SYN_2_value_prev; - 232:src/l502_user_process.c **** TX_buff_I = 0; - 804 .loc 1 232 0 - 805 0444 43E10000 R3.H = _TX_buff_I; - 806 .LBB20: - 243:src/l502_user_process.c **** AVG_buff[i] = 0xC2321123; - 807 .loc 1 243 0 - BFIN GAS /tmp/ccBtsGqv.s page 34 - - - 808 0448 46E132C2 R6.H = 49714; - 809 044c 5AE10000 B2.H = _TX_buff; - 810 .LBE20: - 811 .LBE17: - 210:src/l502_user_process.c **** while(++data_I < size ){ - 812 .loc 1 210 0 - 813 0450 4336 B0 = P3; - 814 .LBB22: - 273:src/l502_user_process.c **** AVG_buff[Proc_state.AVG_buff_I] = 0xC0000000 | ((val + AVG_buff[Proc_state.AVG_buff_I]) & 0x - 815 .loc 1 273 0 - 816 0452 1BE12C00 B3.L = _Proc_state; - 817 0456 11E10000 I1.L = _AVG_buff; - 818 045a 44E1FF00 R4.H = 255; - 215:src/l502_user_process.c **** DY_SYN_2_value_prev = DY_SYN_2_value; - 819 .loc 1 215 0 - 820 045e 12E12500 I2.L = _DY_SYN_2_value; - 821 0462 19E12600 B1.L = _DY_SYN_2_value_prev; - 232:src/l502_user_process.c **** TX_buff_I = 0; - 822 .loc 1 232 0 - 823 0466 03E11400 R3.L = _TX_buff_I; - 824 .LBB21: - 243:src/l502_user_process.c **** AVG_buff[i] = 0xC2321123; - 825 .loc 1 243 0 - 826 046a 06E12311 R6.L = 4387; - 827 046e 1AE10000 B2.L = _TX_buff; - 828 .LVL86: - 829 .L92: - 830 .LBE21: - 831 .LBE22: - 210:src/l502_user_process.c **** while(++data_I < size ){ - 832 .loc 1 210 0 - 833 0472 1891 R0 = [P3]; - 834 .LVL87: - 835 0474 0864 R0 += 1; - 836 0476 1893 [P3] = R0; - 837 0478 1891 R0 = [P3]; - 838 047a 070A cc =R7<=R0 (iu); - 839 047c C31B if cc jump .L70; - 840 .LBB23: - 211:src/l502_user_process.c **** uint32_t word = data[data_I]; - 841 .loc 1 211 0 - 842 047e E832 P5 = B0; - 843 .LVL88: - 844 0480 8332 P0 = I3; - 845 .LVL89: - 846 0482 6A91 P2 = [P5]; - 847 0484 905E P2 = P0 + (P2 << 2); - 848 0486 1091 R0 = [P2]; - 849 .LVL90: - 214:src/l502_user_process.c **** if (header == 0x00){ //digital_channel. switches LFSM state machine - 850 .loc 1 214 0 - 851 0488 82C64083 R1 = R0 >> 24; - 852 048c 010C cc =R1==0; - 853 048e 4D14 if !cc jump .L71 (bp); - 215:src/l502_user_process.c **** DY_SYN_2_value_prev = DY_SYN_2_value; - 854 .loc 1 215 0 - 855 0490 8A32 P1 = I2; - BFIN GAS /tmp/ccBtsGqv.s page 35 - - - 856 0492 4999 R1 = B [P1] (X); - 857 .LVL91: - 858 0494 D132 P2 = B1; - 859 0496 119B B [P2] = R1; - 216:src/l502_user_process.c **** if (word & (0b1 << 17)){ - 860 .loc 1 216 0 - 861 0498 8848 cc = !BITTST (R0,17); - 862 049a 661C if cc jump .L72 (bp); - 217:src/l502_user_process.c **** DY_SYN_2_value = 1; - 863 .loc 1 217 0 - 864 049c 0A60 R2 = 1 (X); - 222:src/l502_user_process.c **** if ((DY_SYN_2_value == 1)&& (DY_SYN_2_value_prev == 0)){ //new cycle started - 865 .loc 1 222 0 - 866 049e 4843 R0 = R1.B (Z); - 867 .LVL92: - 217:src/l502_user_process.c **** DY_SYN_2_value = 1; - 868 .loc 1 217 0 - 869 04a0 0A9B B [P1] = R2; - 222:src/l502_user_process.c **** if ((DY_SYN_2_value == 1)&& (DY_SYN_2_value_prev == 0)){ //new cycle started - 870 .loc 1 222 0 - 871 04a2 000C cc =R0==0; - 872 04a4 E717 if !cc jump .L92 (bp); - 224:src/l502_user_process.c **** Proc_state.average_N ++; - 873 .loc 1 224 0 - 874 04a6 8032 P0 = I0; - 875 04a8 C0A8 R0 = W [P0+6] (X); - 876 04aa 0864 R0 += 1; - 877 04ac C0B4 W [P0+6] = R0; - 225:src/l502_user_process.c **** Proc_state.AVG_buff_I = 0; - 878 .loc 1 225 0 - 879 04ae 0268 P2 = 0 (X); - 880 04b0 02BD [P0+16] = P2; - 226:src/l502_user_process.c **** Proc_state.LFSM_state = CYCLE_STARTED; - 881 .loc 1 226 0 - 882 04b2 82E60300 B [P0+3] = R2; - 227:src/l502_user_process.c **** if (Proc_state.average_N >= Proc_state.average_N_max){ //whole average ended - 883 .loc 1 227 0 - 884 04b6 C1A8 R1 = W [P0+6] (X); - 885 04b8 80A8 R0 = W [P0+4] (X); - 886 04ba C942 R1 = R1.L (Z); - 887 04bc C042 R0 = R0.L (Z); - 888 04be 8109 cc =R1= AVG_BUFF_SIZE){ - 981 .loc 1 276 0 - 982 0552 00A1 R0 = [P0+16]; - 983 0554 21E1E703 R1 = 999 (X); - 984 0558 080A cc =R0<=R1 (iu); - 985 055a 8C1F if cc jump .L92 (bp); - 277:src/l502_user_process.c **** Proc_state.AVG_state = STEP_COMPLETED; - 986 .loc 1 277 0 - 987 055c 1060 R0 = 2 (X); - 988 055e C332 P0 = B3; - 989 0560 80E61400 B [P0+20] = R0; - 990 0564 872F jump.s .L92; - 991 .LVL99: - 992 .L72: - 219:src/l502_user_process.c **** DY_SYN_2_value = 0; - 993 .loc 1 219 0 - 994 0566 0060 R0 = 0 (X); - 995 .LVL100: - 996 0568 AA32 P5 = I2; - 997 056a 289B B [P5] = R0; - 998 056c 832F jump.s .L92; - 999 .LVL101: - 1000 .L95: - 1001 .LBE23: - BFIN GAS /tmp/ccBtsGqv.s page 38 - - - 193:src/l502_user_process.c **** if (TX_buff_state == FILLING){ - 1002 .loc 1 193 0 - 1003 056e 2D32 P5 = R5; - 1004 0570 6899 R0 = B [P5] (X); - 1005 0572 4043 R0 = R0.B (Z); - 1006 0574 000C cc =R0==0; - 1007 0576 4117 if !cc jump .L66 (bp); - 195:src/l502_user_process.c **** TX_buff_I = 0; - 1008 .loc 1 195 0 - 1009 0578 42E10000 R2.H = _TX_buff_I; - 1010 057c 02E11400 R2.L = _TX_buff_I; - 1011 0580 0232 P0 = R2; - 1012 .LVL102: - 194:src/l502_user_process.c **** data_I = 0; - 1013 .loc 1 194 0 - 1014 0582 4BE10000 P3.H = _data_I; - 1015 0586 0BE11800 P3.L = _data_I; - 1016 058a 1893 [P3] = R0; - 195:src/l502_user_process.c **** TX_buff_I = 0; - 1017 .loc 1 195 0 - 1018 058c 0093 [P0] = R0; - 196:src/l502_user_process.c **** while((++data_I < size )&& (++TX_buff_I < TX_BUFF_SIZE)){ - 1019 .loc 1 196 0 - 1020 058e 1891 R0 = [P3]; - 1021 0590 0864 R0 += 1; - 1022 0592 1893 [P3] = R0; - 1023 0594 1891 R0 = [P3]; - 1024 0596 070A cc =R7<=R0 (iu); - 1025 0598 2418 if cc jump .L67; - 1026 059a 21E10F27 R1 = 9999 (X); - 1027 059e 0091 R0 = [P0]; - 1028 05a0 0864 R0 += 1; - 1029 05a2 0093 [P0] = R0; - 1030 05a4 0091 R0 = [P0]; - 1031 05a6 080A cc =R0<=R1 (iu); - 1032 05a8 1C10 if !cc jump .L67; - 1033 05aa 4CE10000 P4.H = _TX_buff; - 1034 05ae 0CE10000 P4.L = _TX_buff; - 1035 05b2 21E10F27 R1 = 9999 (X); - 1036 05b6 0720 jump.s .L68; - 1037 .L100: - 1038 05b8 0091 R0 = [P0]; - 1039 05ba 0864 R0 += 1; - 1040 05bc 0093 [P0] = R0; - 1041 05be 0091 R0 = [P0]; - 1042 05c0 080A cc =R0<=R1 (iu); - 1043 05c2 0F10 if !cc jump .L67; - 1044 .L68: - 198:src/l502_user_process.c **** TX_buff[TX_buff_I] = data[data_I]; - 1045 .loc 1 198 0 - 1046 05c4 1232 P2 = R2; - 1047 05c6 AB32 P5 = I3; - 1048 05c8 5191 P1 = [P2]; - 1049 05ca 5A91 P2 = [P3]; - 1050 05cc 4C5E P1 = P4 + (P1 << 2); - 1051 05ce 955E P2 = P5 + (P2 << 2); - 1052 05d0 1091 R0 = [P2]; - BFIN GAS /tmp/ccBtsGqv.s page 39 - - - 1053 05d2 0893 [P1] = R0; - 196:src/l502_user_process.c **** while((++data_I < size )&& (++TX_buff_I < TX_BUFF_SIZE)){ - 1054 .loc 1 196 0 - 1055 05d4 1891 R0 = [P3]; - 1056 05d6 0864 R0 += 1; - 1057 05d8 1893 [P3] = R0; - 1058 05da 1891 R0 = [P3]; - 1059 05dc B809 cc =R0> 24; + 894 04ca 010C cc =R1==0; + 895 04cc 4F14 if !cc jump .L74 (bp); + 222:src/l502_user_process.c **** DY_SYN_2_value_prev = DY_SYN_2_value; + 896 .loc 1 222 0 + 897 04ce 8932 P1 = I1; + 898 04d0 4999 R1 = B [P1] (X); + 899 .LVL95: + 900 04d2 D032 P2 = B0; + 901 04d4 119B B [P2] = R1; + 223:src/l502_user_process.c **** if (word & (0b1 << 17)){ + 902 .loc 1 223 0 + 903 04d6 8848 cc = !BITTST (R0,17); + 904 04d8 691C if cc jump .L75 (bp); + 224:src/l502_user_process.c **** DY_SYN_2_value = 1; + 905 .loc 1 224 0 + 906 04da 0A60 R2 = 1 (X); + 229:src/l502_user_process.c **** if ((DY_SYN_2_value == 1)&& (DY_SYN_2_value_prev == 0)){ //new cycle started + 907 .loc 1 229 0 + 908 04dc 4843 R0 = R1.B (Z); + 909 .LVL96: + 224:src/l502_user_process.c **** DY_SYN_2_value = 1; + 910 .loc 1 224 0 + 911 04de 0A9B B [P1] = R2; + 229:src/l502_user_process.c **** if ((DY_SYN_2_value == 1)&& (DY_SYN_2_value_prev == 0)){ //new cycle started + 912 .loc 1 229 0 + 913 04e0 000C cc =R0==0; + 914 04e2 E717 if !cc jump .L97 (bp); + 231:src/l502_user_process.c **** Proc_state.average_N ++; + 915 .loc 1 231 0 + 916 04e4 0732 P0 = R7; + 232:src/l502_user_process.c **** Proc_state.AVG_buff_I = 0; + 917 .loc 1 232 0 + 918 04e6 0268 P2 = 0 (X); + 231:src/l502_user_process.c **** Proc_state.average_N ++; + 919 .loc 1 231 0 + 920 04e8 C0A8 R0 = W [P0+6] (X); + 921 04ea 0864 R0 += 1; + 922 04ec C0B4 W [P0+6] = R0; + 232:src/l502_user_process.c **** Proc_state.AVG_buff_I = 0; + 923 .loc 1 232 0 + 924 04ee 02BD [P0+16] = P2; + 233:src/l502_user_process.c **** Proc_state.LFSM_state = CYCLE_STARTED; + 925 .loc 1 233 0 + 926 04f0 82E60300 B [P0+3] = R2; + 234:src/l502_user_process.c **** if (Proc_state.average_N >= Proc_state.average_N_max){ //whole average ended + 927 .loc 1 234 0 + 928 04f4 C1A8 R1 = W [P0+6] (X); + 929 04f6 80A8 R0 = W [P0+4] (X); + 930 04f8 C942 R1 = R1.L (Z); + 931 04fa C042 R0 = R0.L (Z); + 932 04fc 8109 cc =R1= AVG_BUFF_SIZE){ + 1029 .loc 1 283 0 + 1030 0596 00A1 R0 = [P0+16]; + BFIN GAS /tmp/ccYZl5FJ.s page 39 + + + 1031 0598 21E1E703 R1 = 999 (X); + 1032 059c 080A cc =R0<=R1 (iu); + 1033 059e 891F if cc jump .L97 (bp); + 284:src/l502_user_process.c **** Proc_state.AVG_state = STEP_COMPLETED; + 1034 .loc 1 284 0 + 1035 05a0 1060 R0 = 2 (X); + 1036 05a2 C232 P0 = B2; + 1037 05a4 80E61400 B [P0+20] = R0; + 1038 05a8 842F jump.s .L97; + 1039 .LVL102: + 1040 .L75: + 226:src/l502_user_process.c **** DY_SYN_2_value = 0; + 1041 .loc 1 226 0 + 1042 05aa 0060 R0 = 0 (X); + 1043 .LVL103: + 1044 05ac A132 P4 = I1; + 1045 05ae 209B B [P4] = R0; + 1046 05b0 802F jump.s .L97; + 1047 .LVL104: + 1048 .L101: + 1049 .LBE25: + 200:src/l502_user_process.c **** if (TX_buff_state == FILLING){ + 1050 .loc 1 200 0 + 1051 05b2 2432 P4 = R4; + 1052 05b4 6099 R0 = B [P4] (X); + 1053 05b6 4043 R0 = R0.B (Z); + 1054 05b8 000C cc =R0==0; + 1055 05ba 3717 if !cc jump .L69 (bp); + 202:src/l502_user_process.c **** TX_buff_I = 0; + 1056 .loc 1 202 0 + 1057 05bc 42E10000 R2.H = _TX_buff_I; + 1058 05c0 02E11800 R2.L = _TX_buff_I; + 1059 05c4 0232 P0 = R2; + 1060 .LVL105: + 201:src/l502_user_process.c **** data_I = 0; + 1061 .loc 1 201 0 + 1062 05c6 4BE10000 P3.H = _data_I; + 1063 05ca 0BE11C00 P3.L = _data_I; + 1064 05ce 1893 [P3] = R0; + 202:src/l502_user_process.c **** TX_buff_I = 0; + 1065 .loc 1 202 0 + 1066 05d0 0093 [P0] = R0; + 203:src/l502_user_process.c **** while((++data_I < size )&& (++TX_buff_I < TX_BUFF_SIZE)){ + 1067 .loc 1 203 0 + 1068 05d2 1891 R0 = [P3]; + 1069 05d4 0864 R0 += 1; + 1070 05d6 1893 [P3] = R0; + 1071 05d8 1891 R0 = [P3]; + 1072 05da 060A cc =R6<=R0 (iu); + 1073 05dc 2618 if cc jump .L70; + 1074 05de 81E19F86 R1 = 34463 (Z); + 1075 05e2 814A BITSET (R1, 16); + 1076 05e4 0091 R0 = [P0]; + 1077 05e6 0864 R0 += 1; + 1078 05e8 0093 [P0] = R0; + 1079 05ea 0091 R0 = [P0]; + 1080 05ec 080A cc =R0<=R1 (iu); + BFIN GAS /tmp/ccYZl5FJ.s page 40 + + + 1081 05ee 1D10 if !cc jump .L70; + 1082 05f0 4DE10000 P5.H = _TX_buff; + 1083 05f4 0DE10000 P5.L = _TX_buff; + 1084 05f8 0A20 jump.s .L71; + 1085 .L107: + 1086 05fa 81E19F86 R1 = 34463 (Z); + 1087 05fe 0091 R0 = [P0]; + 1088 0600 0864 R0 += 1; + 1089 0602 0093 [P0] = R0; + 1090 0604 0091 R0 = [P0]; + 1091 0606 814A BITSET (R1, 16); + 1092 0608 080A cc =R0<=R1 (iu); + 1093 060a 0F10 if !cc jump .L70; + 1094 .L71: + 205:src/l502_user_process.c **** TX_buff[TX_buff_I] = data[data_I]; + 1095 .loc 1 205 0 + 1096 060c 1232 P2 = R2; + 1097 060e A332 P4 = I3; + 1098 0610 5191 P1 = [P2]; + 1099 0612 5A91 P2 = [P3]; + 1100 0614 4D5E P1 = P5 + (P1 << 2); + 1101 0616 945E P2 = P4 + (P2 << 2); + 1102 0618 1091 R0 = [P2]; + 1103 061a 0893 [P1] = R0; + 203:src/l502_user_process.c **** while((++data_I < size )&& (++TX_buff_I < TX_BUFF_SIZE)){ + 1104 .loc 1 203 0 + 1105 061c 1891 R0 = [P3]; + 1106 061e 0864 R0 += 1; + 1107 0620 1893 [P3] = R0; + 1108 0622 1891 R0 = [P3]; + 1109 0624 B009 cc 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 diff --git a/src/l502_user_process.c b/src/l502_user_process.c index 03de4e1..7da4d0b 100644 --- a/src/l502_user_process.c +++ b/src/l502_user_process.c @@ -113,6 +113,8 @@ volatile struct dataprocessor_dypedef{ uint8_t DIN2_SYN_value_prev; }Proc_state; +volatile uint32_t flood_I = 0; + volatile uint32_t TX_buff_I = 0; volatile uint32_t TX_buff_I_shadow = 123321; @@ -162,6 +164,11 @@ uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) { вызвали бы позже */ ++streams_cnt[0]; + if (Proc_state.mode == FLOOD){ + for (int i = 0; i < TX_BUFF_SIZE; ++i){ + TX_buff[i] = flood_I++; + } + } //clear TX_buff @@ -573,6 +580,12 @@ uint32_t usr_in_proc_data(uint32_t* data, uint32_t size) { } */ + + if (Proc_state.mode == FLOOD){ + hdma_send_req_start(TX_buff, TX_BUFF_SIZE, 0); + return size; + } + if (TX_buff_state == TODO_TX){ for (uint32_t i = 0; i < TX_BUFF_SIZE; ++i){ TX_buff_shadow[i] = TX_buff[i]; @@ -874,6 +887,11 @@ void usr_cmd_process(t_l502_bf_cmd *cmd) { break; } + case 0x800B:{ //return uint32_t value stored in dbg_receive_value + Proc_state.mode = FLOOD; + l502_cmd_done(0, NULL, 0); + break; + } diff --git a/src/l502_user_process.h b/src/l502_user_process.h index deee24f..ca76d26 100644 --- a/src/l502_user_process.h +++ b/src/l502_user_process.h @@ -17,7 +17,7 @@ //#define L502_SPORT_IN_BUF_SIZE (2048*1024) //#define TX_BUFF_SIZE (RAW_DATA_BUFF_SIZE + AVG_BUFF_SIZE + FFT_BUFF_SIZE + L502_SPORT_IN_BUF_SIZE) //should be large enough to fit all other buffers and raw data -#define TX_BUFF_SIZE 10000 +#define TX_BUFF_SIZE 100000 #ifndef L502_USER_PROCESS_H_ @@ -60,6 +60,7 @@ enum dataprocessor_state { AVG_DONE, FFT, FFT_DONE, + FLOOD, }; /*