From cf8f3908a0086a05e9663b79f6b90a57b025c5e5 Mon Sep 17 00:00:00 2001 From: vadyschka01 Date: Wed, 20 May 2026 18:35:58 +0300 Subject: [PATCH] Refactor code structure for improved readability and maintainability --- .vscode/iar-vsc.json | 18 + ...DLib_Product_string.h.1DBAAC6022C26FBB.idx | Bin 0 -> 954 bytes .../index/arm_math.h.3AAA648B3CFA8984.idx | Bin 0 -> 273472 bytes .../index/dsp_manager.c.6CC0D5AAAF07899B.idx | Bin 16494 -> 20150 bytes .../index/dsp_manager.h.0157A91E237F9ECC.idx | Bin 0 -> 1212 bytes .../clangd/index/float.h.11777CB42F7D57DD.idx | Bin 0 -> 1302 bytes .../clangd/index/imu.c.B3AACC478BCE1474.idx | Bin 21202 -> 21240 bytes .../clangd/index/imu.h.C212CB2BB06D5AA4.idx | Bin 1968 -> 1786 bytes .../index/limits.h.33BF70061693AC4F.idx | Bin 0 -> 752 bytes .../clangd/index/main.c.3730E6FA7C0A9185.idx | Bin 21826 -> 21452 bytes .../index/string.h.3A5B3B0F731D76B3.idx | Bin 0 -> 4290 bytes .../index/ysizet.h.6D4D9B4B791F4083.idx | Bin 0 -> 414 bytes Debug/.ninja_deps | Bin 28584 -> 36816 bytes Debug/.ninja_log | 128 ++- Debug/BrowseInfo/.ninja_log | 18 + Debug/BrowseInfo/build.ninja | 10 +- Debug/BrowseInfo/dsp_manager.c.json | 2 - Debug/BrowseInfo/imu.c.json | 2 - Debug/BrowseInfo/main.c.json | 2 - Debug/BrowseInfo/system_stm32g4xx.c.json | 2 - .../www_9707195405963337211.dir/motors.c.json | 2 - Debug/Exe/fft_az.out | Bin 0 -> 240428 bytes Debug/Exe/fft_az.out.rsp | 1 - Debug/Exe/fft_az.sim | Bin 131103 -> 128503 bytes Debug/List/fft_az.map | 841 ++++++++---------- Debug/Obj/dsp_manager.o | Bin 14844 -> 27633 bytes Debug/Obj/imu.o | Bin 30481 -> 0 bytes Debug/Obj/main.o | Bin 24421 -> 20631 bytes Debug/Obj/motors.o | Bin 19689 -> 20131 bytes Debug/Obj/system_stm32g4xx.o | Bin 14214 -> 13596 bytes Debug/compile_commands.json | 10 - dsp_manager.c | 203 ++++- dsp_manager.h | 11 +- fft_az.ewp | 12 +- imu.c | 42 +- main.c | 9 +- settings/fft_az.dbgdt | 10 +- settings/fft_az.dnx | 24 +- settings/fft_az.wsdt | 16 +- 39 files changed, 772 insertions(+), 591 deletions(-) create mode 100644 .vscode/iar-vsc.json create mode 100644 Debug/.cache/clangd/index/DLib_Product_string.h.1DBAAC6022C26FBB.idx create mode 100644 Debug/.cache/clangd/index/arm_math.h.3AAA648B3CFA8984.idx create mode 100644 Debug/.cache/clangd/index/dsp_manager.h.0157A91E237F9ECC.idx create mode 100644 Debug/.cache/clangd/index/float.h.11777CB42F7D57DD.idx create mode 100644 Debug/.cache/clangd/index/limits.h.33BF70061693AC4F.idx create mode 100644 Debug/.cache/clangd/index/string.h.3A5B3B0F731D76B3.idx create mode 100644 Debug/.cache/clangd/index/ysizet.h.6D4D9B4B791F4083.idx create mode 100644 Debug/Exe/fft_az.out delete mode 100644 Debug/Exe/fft_az.out.rsp delete mode 100644 Debug/Obj/imu.o diff --git a/.vscode/iar-vsc.json b/.vscode/iar-vsc.json new file mode 100644 index 0000000..6dd2e11 --- /dev/null +++ b/.vscode/iar-vsc.json @@ -0,0 +1,18 @@ +{ + "workspaces": { + "${workspaceFolder}\\fft_az.eww": { + "configs": { + "${workspaceFolder}\\fft_az.ewp": "Debug" + }, + "selected": { + "path": "${workspaceFolder}\\fft_az.ewp" + } + } + }, + "workspace": { + "path": "${workspaceFolder}\\fft_az.eww" + }, + "workbench": { + "path": "C:\\iar\\ewarm-9.70.1" + } +} \ No newline at end of file diff --git a/Debug/.cache/clangd/index/DLib_Product_string.h.1DBAAC6022C26FBB.idx b/Debug/.cache/clangd/index/DLib_Product_string.h.1DBAAC6022C26FBB.idx new file mode 100644 index 0000000000000000000000000000000000000000..7eb12e8ee560aa77d2c78f16617bbd40df94f01f GIT binary patch literal 954 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%0AZcvWs!Eaf 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 WxgqVYUyX{mx45i)i7E~IvVTP%j9DLdE@$ zPl#*0v78tFCiaR0VvpD__KAaHmpCN0 zi=Co7bc6QL4pJZkGNA)>f{u^{>ChQcAZ|4FdVHgaD5w3x;*)8HSxUeoKZ1O>&Ei8g7?mjWm_?0ehGciHj zaQ|I*YK~GI6|==0kta5Yjbf8nFII`QVx3qjR*U6gjaVjDh~HQ&R*EHJmY5-Cin(H* zm@hVqEn=&<2$vw=Z3Ux^QN|c!tdV1kbN<7Pk;VvP04#qhv`yAv+HOfYoEH$? zCb)+(6hQ>tgD*Y^RV>uYF5m^!m*l~R>5Jk}_TVN=@$%$J+Ox4f8uFj~=gW7#|Nnl@ zkx+N{qY{A5Xy{B_(0G(W1qxMDr0q78m`}sDb4@`}PV!pwUQP>0iJ_Esp|KcN`S_45 zm^gZi*c*^Mu@O3?;S?X`x+Pf?6zJ;f<=UgsK1;>gg%XlxCA~^ABB&}vf;-J6ghE6y z0#S8{3#UX;P&h^4qoWp(NNSN7Co00Q3Zf(nL6&7ZgKWPlC@MRGSdrLip6yCTQgI=n zsq6ts>q&)KSr`q=tSD+Muf(}Huf_Jn{_nimRh&=ogMwm8;JHEGHy25!5*nnWgx1u; z<&!q_9Z5=2w8*@MdJf>N9#y&jw7$xN4-=K_eZ|=k%;` z5pkYbyctA#9ME$JN9e3^$%-6eWdg>SaT!THF(!~)4)oi_a%PPpIb+fo2mQ`QEn^bh zmeF|lE4nCCug0g7cW0d>xUGu=Kzkit3fy)(RC)>8(cfFQaA&m6yuPz+Z>?BQ=leKFjp&4M@YxZcSn%RnX zSAM@(I(qom7(vpMliG}%TCU%9E4_PR4q0)!oD{Z#6;WMlxCI=yg{)X3Ex@l^GB>w; u`=cWfm&;XyMQ~{(V$B!hiXii5t|}3=%1qYEf{p(8eP8R+jW5##1^)o`41UA_ literal 0 HcmV?d00001 diff --git a/Debug/.cache/clangd/index/float.h.11777CB42F7D57DD.idx b/Debug/.cache/clangd/index/float.h.11777CB42F7D57DD.idx new file mode 100644 index 0000000000000000000000000000000000000000..3874cf7eaed696d0c9bf759847dcf96f0fa8f499 GIT binary patch literal 1302 zcma*ldq`7p6bJCTP3hOoOs6Y*Xr+*^wyX0o-~EwUTDrM(HY9V+z1psi&8!R}MYCd- z1&bt;P%KL5B}ET2EqjQWf+$%OJ&6!AOGh^t<-9&gZs>-H(7LX48yFBV@w(=quZgevf@~YEKCy4z$0TS)G}H| zZz{e$_R-NAF56zyOI!wzXVpkr`GZE8*zx`5_ zUEuH6)H*y1cm-ME!SO^{!Is!B0vb4$#A141UUJRji`(Y{t7w%cm-atu9G|sVG!HnK z1dBL6?$el5w)=(|RsxP+A8TPp3k8t;JCa$qTuV!Af) zSF!9-%^qL_G2mdmdLr}Gp=+yvS;9I$pqWdxDeC+K^WYI+C9TBT0itxPMJ#myZ=^S3 zgX%?|bCd~eJ#Z9>!Uaiq;6M_H{C04aPm4>=O<*Ar3b`T&1=Nd#UdZNd^D{?Cw{X+e1 z;6hS}FRvKxnq4Ws(g_?%B5_pJzi-97`@X&#*pqnT(&~gVkGt~v`@q?BHrC#Jtzo$# z`RzmCcsd@7Oi#XfGSGCW2iQU^c;wkv*GEE*ed`65({ij`x#WHFop&n-fTKw?j!N`2 zBQS;CFajJyV(_baRCPJiH|O?qo*U2G)f>~2?(qso`_OAh=aYO)clRm8O{yy&fWt@_ zZl`(sK>vi+FbbSQ=inN~J;r?0j+bM=nRF(uI3(0w)2McQ1l~rr;Tl@McKJ&qc~ig) zVUUNCJ~enHw>eosD{xfH^6qt+J34*<2azD0$#kkRI<33+CvXud!XvFZi^jQEn^kKI ca6a&ze=`@KXR95nu6uT(p3fIh0*)!_51zmlBLDyZ literal 0 HcmV?d00001 diff --git a/Debug/.cache/clangd/index/imu.c.B3AACC478BCE1474.idx b/Debug/.cache/clangd/index/imu.c.B3AACC478BCE1474.idx index dba894a5cf1b01868d08b8f2617f0aa572a281c0..8dd7e7a2360818c5d109d8e5cfb99ba53427ac19 100644 GIT binary patch delta 5396 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 delta 5360 zcmY*c30&1x7XIJmefZ!#_V;8F1=$M_geE|ipDdQw&uC=T>7Fu2{Gf+vPV5Pyf(9*zF)323xO3Ru33bk0 zL`Q5`yu%t@RQ2?zXUYp|M!Ybxs^{?P5#@z{?$@(lc~QTT@}9#74;@umRqj4&O>P|I zJtNrGqfg(8qT+(mhbk&^8_#xJ(SZ$aT-7a-CAgcLnm=sb(7e96spZw??JYB!H$^t@ zXx`K^p?OpDHu~G%HtFu38{~>?ncOmoX12CWZQj!SL1gnr+BGw>XZOCw$bSrb`Xo1u z3#$jd;4`zrup0}>nROC?yA&NqoRFFrcw;MUjo6xod>Z4&-gCrQw#B{m;R+Lbb5;Q+hwZmWb0m7VHkaAa_t5o#D~ zLiWs<9VT7EK!#Ddg(}Tq_p~7-=Xg0qYcxZ&D?G?Mk>>aEJYL@UyH9h zD!*feCDcL}cSJhk?%7k7JhQh>blLSQFipV^bf3;eilFC z4O#2b#4&2Bsz)BR8Ah4k_`O@V!(g^L8Rrw{ukWFW%)Q%4tj{O0VRD#{c1oXhyJzIw z@)Mlq?Ll^jC$x1k#4E(AF#hPKbTyk*Ol`A zX-}D8R%TYQh7H@C^BZFed?kq`dnemHIY_&_)66i-JIn52d7aGn&iB9p*?A!?^ zwCKd>ESEn0#Hxzrf{h zfexp3r7j&Z?B0q&V#Tu9PcxigFWJkl&UJ_JgnP^0p5>GMYKQcDa#g%Vl9@8vs>4n& zM#h+7tc*3oI2mV#@iN{6wZ8;erV3W;O+siS-2>VUaA;~093%(1PZl_`ViRH?)E6GQ zzk5salPO&l6}otL@zuu>?B?Cg*W~Y9?_776LWe8fC*D^ZUekR-r=6efeLxY>*UvY= z#GFvCP!Dq!-_DqFzBoU#)!UA^c&$7&{Hs6ZH%-s=r|k(cp`D&5m?#s?Fj*$wfmG0G zImMn5;9gr8=1R4v2AH;`$u#q}^ni4SX*DA(!&9Q^kSv*H7S6V3n~&-yyO~#W>^bJu zT$!s@+lWSI<=OMh%lR_jvsu)P>z4KL>3ntjQd#PwBcj`gpky~U4-zYBUlO4?MR167 zNC%z!y0tL1%indkqfGr<&blWuJG8a*jPPZ-h0=+EjwpbSZH2arT@M=O_89*YVkkz z(boN)FMNH1;1dB)glGp79PB&Tp*=^i(zntB>oV58yxeib^_()*>SguQo+W4tvW1(t z9MnFjldc3>wJOn)da*W9DU*Y}wX*yVnvO1sdU3e2Sf#p2Or`o==#nbe?_#NP-2_#x zYxwAygnm!G67_fGp0vs|>ZWZUwlTit4BsiGb~K%WrAI;UHwfk zBQPV>1T#Z3BenUYC^IfISwk1$f`Eb$Z9c(LXK93qL>02a(|W&HGIq<#k}=bjtNi@@ z%oQ)pE6h{zGkRBFu6G*VL{OB^}`#|DNz@a}N2L~YLx$dAy0Q?I%1>N%%Mkb27L z1(F*m2l|N)SEy+>3fT(xZZ-Jjq?MGKKdjYid$W)EVgX zG|`f)C1o=m*P4_Wi2;f3mY$Aq^%&Gz=iJ|?@lZ_7Cu%*xJHgF*(bJ8dhkCtRuizP% zs~7L}Ctj;|VWPQe7bd9Mg^oT6t8QU}U1S&Ys%jyoRnqa>1!U1Linb3;4{#1J_rO7cgTnNxjxQrNsRy^7*N#>5 z>WQuA#|E8yxOlzYBaQ zutT`8RNxrLQI4-Teh@e%aD?M)j=db8a_r{#h6Duu&9R5$3y%F92RKd$92eNf@j1s~ zj)NSBIKC4&DbT|4CC3{AuL-;^a8uxhz<)Tt7kE`*roc<2p5qUWUjrMOV2QvS zfms4?3Ct6y7nmzhCoo@Nfxv8mg#vF2yhF~Hcuiss$1IMwIOcKGbIj$aIJR(Xp4Bd?|34s7MSKI4ba!z^`_OYYguRtP@zv-5nnr?OMvPoM9Qmy9_HB zRx+$&Sk178VJ*Wth8Bi{42S4D$4-uqI6kHFi?I%&?we8^Z>M?Q~^#O8I3{wu!fhCXe_)Eli|z1&yRPr!mO1h%`P}~jIf=kh diff --git a/Debug/.cache/clangd/index/imu.h.C212CB2BB06D5AA4.idx b/Debug/.cache/clangd/index/imu.h.C212CB2BB06D5AA4.idx index 03b389341bb0478b92048aa05b38fc619847330d..0861a217d29e977475f1c87a4b0fef4358415358 100644 GIT binary patch literal 1786 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 E0jo!X2mk;8 delta 6174 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 delta 9 QcmcaGpJ~N?#tkd-0T_J*!2kdN diff --git a/Debug/.ninja_log b/Debug/.ninja_log index 4a3b790..c6d58d8 100644 --- a/Debug/.ninja_log +++ b/Debug/.ninja_log @@ -1,33 +1,99 @@ # ninja log v6 -2 142 7990811054271711 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o 5e0322b232c2a5d3 -3 42 7966528629542996 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/startup_stm32g431xx.o cede824c243c8d17 -3 151 7990811054281708 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o 26d4f707094ccf1a -5 225 7990798145102406 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/system_stm32g4xx.o a638ba64754599fe -1 142 7990802132054459 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o c37a5ec274783fe9 -152 194 7990811055771090 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -152 194 7990811055771090 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -4 201 7990798145092397 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/motors.o a560d5a92deba7a4 -3 145 7990823775198550 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o c37a5ec274783fe9 -3 145 7990823775198550 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o c37a5ec274783fe9 -2 146 7990823775188550 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o 5e0322b232c2a5d3 -2 146 7990823775188550 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o 5e0322b232c2a5d3 -4 180 7990823775208550 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o 26d4f707094ccf1a -4 180 7990823775208550 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o 26d4f707094ccf1a -181 222 7990823776968303 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -181 222 7990823776968303 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -181 222 7990823776968303 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc -181 222 7990823776968303 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc -3 145 8008901051719254 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/motors.o a560d5a92deba7a4 -3 145 8008901051719254 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/motors.o a560d5a92deba7a4 -2 153 8008901051709367 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o c37a5ec274783fe9 -2 153 8008901051709367 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o c37a5ec274783fe9 -3 166 8008901051719254 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o 26d4f707094ccf1a -3 166 8008901051719254 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o 26d4f707094ccf1a +9 176 8009698063092316 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/system_stm32g4xx.o b40265b939b466c4 +3 180 8009785839355161 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o 3ea4a50b553d83b9 154 167 8008901053232593 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/startup_stm32g431xx.o cede824c243c8d17 -154 167 8008901053232593 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/startup_stm32g431xx.o cede824c243c8d17 -146 248 8008901053147116 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/system_stm32g4xx.o a638ba64754599fe -146 248 8008901053147116 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/system_stm32g4xx.o a638ba64754599fe -1 147 8008905075728681 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o 5e0322b232c2a5d3 -1 147 8008905075728681 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o 5e0322b232c2a5d3 -2 163 8008905075738649 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o 26d4f707094ccf1a -2 163 8008905075738649 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o 26d4f707094ccf1a +1 157 8009795721098292 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +2 186 8009785839345277 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o d313c3e10c8e6cc6 +157 201 8009795722658393 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +157 201 8009795722658393 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +8 169 8009698063087272 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/motors.o 14293432fee9cc2e +1 200 8009812517477570 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +1 200 8009812517477570 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +201 242 8009812519475980 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +201 242 8009812519475980 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +201 242 8009812519475980 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +201 242 8009812519475980 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +1 207 8009815012662636 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +1 207 8009815012662636 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +207 252 8009815014641918 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +207 252 8009815014641918 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +207 252 8009815014641918 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +207 252 8009815014641918 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +1 218 8009818233751050 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +1 218 8009818233751050 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +219 264 8009818235933007 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +219 264 8009818235933007 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +219 264 8009818235933007 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +219 264 8009818235933007 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 205 8009899421611338 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +2 205 8009899421611338 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +5 143 8009901664758009 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/system_stm32g4xx.o 62ea0c892ed3155f +5 143 8009901664758009 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/system_stm32g4xx.o 62ea0c892ed3155f +4 157 8009901664758009 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/motors.o dde0998d7e2d317f +4 157 8009901664758009 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/motors.o dde0998d7e2d317f +3 175 8009901664748036 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o 4d0557bddfc1d3d2 +3 175 8009901664748036 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o 4d0557bddfc1d3d2 +3 187 8009901664738068 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 6261c14d6b45372 +3 187 8009901664738068 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 6261c14d6b45372 +1 227 8009901664728097 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o 97a1aca7d0083409 +1 227 8009901664728097 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o 97a1aca7d0083409 +3 174 8009902312510178 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 6261c14d6b45372 +3 174 8009902312510178 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o 6261c14d6b45372 +1 198 8009902312485186 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o 97a1aca7d0083409 +1 198 8009902312485186 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o 97a1aca7d0083409 +199 246 8009902314466919 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +199 246 8009902314466919 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +199 246 8009902314466919 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +199 246 8009902314466919 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 215 8009907076174234 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o 97a1aca7d0083409 +2 215 8009907076174234 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o 97a1aca7d0083409 +216 260 8009907078312236 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +216 260 8009907078312236 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +216 260 8009907078312236 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +216 260 8009907078312236 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +10 193 8009908163499673 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/motors.o 14293432fee9cc2e +10 193 8009908163499673 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/motors.o 14293432fee9cc2e +11 202 8009908163509655 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/system_stm32g4xx.o b40265b939b466c4 +11 202 8009908163509655 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/system_stm32g4xx.o b40265b939b466c4 +9 254 8009908163479741 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o 3ea4a50b553d83b9 +9 254 8009908163479741 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/main.o 3ea4a50b553d83b9 +7 269 8009908163469752 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o d313c3e10c8e6cc6 +7 269 8009908163469752 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o d313c3e10c8e6cc6 +4 301 8009908163429989 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +4 301 8009908163429989 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +302 352 8009908166414401 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +302 352 8009908166414401 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +302 352 8009908166414401 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +302 352 8009908166414401 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +4 197 8009917829679937 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o d313c3e10c8e6cc6 +4 197 8009917829679937 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o d313c3e10c8e6cc6 +2 213 8009917829663647 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +2 213 8009917829663647 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +213 256 8009917831774131 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +213 256 8009917831774131 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +213 256 8009917831774131 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +213 256 8009917831774131 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +3 194 8009922682222624 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o d313c3e10c8e6cc6 +3 194 8009922682222624 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o d313c3e10c8e6cc6 +2 230 8009922682212881 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +2 230 8009922682212881 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +231 280 8009922684499273 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +231 280 8009922684499273 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +231 280 8009922684499273 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +231 280 8009922684499273 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 215 8009931175247821 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +2 215 8009931175247821 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +216 262 8009931177386939 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +216 262 8009931177386939 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +216 262 8009931177386939 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +216 262 8009931177386939 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +2 232 8009934189883653 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +2 232 8009934189883653 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +3 198 8009935772612304 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o d313c3e10c8e6cc6 +3 198 8009935772612304 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/imu.o d313c3e10c8e6cc6 +2 218 8009935772602337 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +2 218 8009935772602337 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Obj/dsp_manager.o f61f8a6c75b90d83 +219 266 8009935774775869 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +219 266 8009935774775869 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc +219 266 8009935774775869 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/Exe/fft_az.out 2a7eadea1e12d4bc +219 266 8009935774775869 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/List/fft_az.map 2a7eadea1e12d4bc diff --git a/Debug/BrowseInfo/.ninja_log b/Debug/BrowseInfo/.ninja_log index e1914a7..6813e45 100644 --- a/Debug/BrowseInfo/.ninja_log +++ b/Debug/BrowseInfo/.ninja_log @@ -36,3 +36,21 @@ 135 178 7990796931445598 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/www_9707195405963337211.dir/motors.c.json 6add127ffaafb420 178 220 7990796931878398 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/system_stm32g4xx.c.json 2f10fb49d0a51201 221 233 7990796932306580 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/compile_commands.json b1b2177ae73507e4 +1 47 8009695591944720 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/dsp_manager.c.json 104349f9df838f30 +47 89 8009695592413149 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/imu.c.json 68598c470f6b187e +89 131 8009695592831749 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/main.c.json 79c0fd6986cb91a3 +131 174 8009695593250347 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/www_9707195405963337211.dir/motors.c.json fd6ec3ecfb9da2f5 +174 216 8009695593678918 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/system_stm32g4xx.c.json abff7993c0376e26 +217 225 8009695594107483 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/compile_commands.json b1b2177ae73507e4 +0 46 8009901323366489 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/dsp_manager.c.json ab28d79ddc1e487d +46 85 8009901323825269 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/imu.c.json c7d49102dd7ef456 +85 129 8009901324224914 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/main.c.json 7c6315edea2c21eb +129 174 8009901324656070 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/www_9707195405963337211.dir/motors.c.json 4c8b48ded219c850 +174 215 8009901325105701 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/system_stm32g4xx.c.json 6c034f14914fe9fd +215 225 8009901325515783 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/compile_commands.json b1b2177ae73507e4 +0 43 8009908149631086 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/dsp_manager.c.json 104349f9df838f30 +43 84 8009908150062483 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/imu.c.json 68598c470f6b187e +85 126 8009908150476692 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/main.c.json 79c0fd6986cb91a3 +126 167 8009908150890371 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/www_9707195405963337211.dir/motors.c.json fd6ec3ecfb9da2f5 +167 209 8009908151297375 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/BrowseInfo/system_stm32g4xx.c.json abff7993c0376e26 +209 217 8009908151714766 C:/Users/vadychka/Documents/GitHub/leybl/fft/Debug/compile_commands.json b1b2177ae73507e4 diff --git a/Debug/BrowseInfo/build.ninja b/Debug/BrowseInfo/build.ninja index a11d29c..60b61da 100644 --- a/Debug/BrowseInfo/build.ninja +++ b/Debug/BrowseInfo/build.ninja @@ -18,27 +18,27 @@ rule COMPDB_LINK #Build steps build C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\BrowseInfo\dsp_manager.c.json : COMPDB_GEN - flags = C$:\iar\ewarm-9.70.1\arm\bin\iccarm.exe C$:\Users\vadychka\Documents\GitHub\leybl\fft\dsp_manager.c -D STM32G431xx -D ARM_MATH_CM4 -o C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\ --no_cse --no_unroll --no_inline --no_code_motion --no_tbaa --no_clustering --no_scheduling --debug --endian=little --cpu=Cortex-M4 --fpu=VFPv4_sp --dlib_config C$:\iar\ewarm-9.70.1\arm\inc\c\DLib_Config_Normal.h -I C$:\Users\vadychka\Documents\GitHub\leybl\fft\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -Ol -I C$:\iar\ewarm-9.70.1\arm\CMSIS\Core\Include\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -D ARM_MATH_CM4 -e + flags = C$:\iar\ewarm-9.70.1\arm\bin\iccarm.exe C$:\Users\vadychka\Documents\GitHub\leybl\fft\dsp_manager.c -D STM32G431xx -D ARM_MATH_CM4 -o C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\ --debug --endian=little --cpu=Cortex-M4 --fpu=VFPv4_sp --dlib_config C$:\iar\ewarm-9.70.1\arm\inc\c\DLib_Config_Normal.h -I C$:\Users\vadychka\Documents\GitHub\leybl\fft\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -Ohz -I C$:\iar\ewarm-9.70.1\arm\CMSIS\Core\Include\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -D ARM_MATH_CM4 -e gencommand = -output_file C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\BrowseInfo\dsp_manager.c.json -icc_path C$:\iar\ewarm-9.70.1\arm\bin\iccarm.exe -source_file C$:\Users\vadychka\Documents\GitHub\leybl\fft\dsp_manager.c -work_dir C$:\Users\vadychka\Documents\GitHub\leybl\fft -keyword_map_path C$:\iar\ewarm-9.70.1\common\config\ClangdConfig.json -object_file C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\dsp_manager.o rspfile_name = C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\BrowseInfo\dsp_manager.c.json.rsp build C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\BrowseInfo\imu.c.json : COMPDB_GEN - flags = C$:\iar\ewarm-9.70.1\arm\bin\iccarm.exe C$:\Users\vadychka\Documents\GitHub\leybl\fft\imu.c -D STM32G431xx -D ARM_MATH_CM4 -o C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\ --no_cse --no_unroll --no_inline --no_code_motion --no_tbaa --no_clustering --no_scheduling --debug --endian=little --cpu=Cortex-M4 --fpu=VFPv4_sp --dlib_config C$:\iar\ewarm-9.70.1\arm\inc\c\DLib_Config_Normal.h -I C$:\Users\vadychka\Documents\GitHub\leybl\fft\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -Ol -I C$:\iar\ewarm-9.70.1\arm\CMSIS\Core\Include\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -D ARM_MATH_CM4 -e + flags = C$:\iar\ewarm-9.70.1\arm\bin\iccarm.exe C$:\Users\vadychka\Documents\GitHub\leybl\fft\imu.c -D STM32G431xx -D ARM_MATH_CM4 -o C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\ --debug --endian=little --cpu=Cortex-M4 --fpu=VFPv4_sp --dlib_config C$:\iar\ewarm-9.70.1\arm\inc\c\DLib_Config_Normal.h -I C$:\Users\vadychka\Documents\GitHub\leybl\fft\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -Ohz -I C$:\iar\ewarm-9.70.1\arm\CMSIS\Core\Include\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -D ARM_MATH_CM4 -e gencommand = -output_file C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\BrowseInfo\imu.c.json -icc_path C$:\iar\ewarm-9.70.1\arm\bin\iccarm.exe -source_file C$:\Users\vadychka\Documents\GitHub\leybl\fft\imu.c -work_dir C$:\Users\vadychka\Documents\GitHub\leybl\fft -keyword_map_path C$:\iar\ewarm-9.70.1\common\config\ClangdConfig.json -object_file C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\imu.o rspfile_name = C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\BrowseInfo\imu.c.json.rsp build C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\BrowseInfo\main.c.json : COMPDB_GEN - flags = C$:\iar\ewarm-9.70.1\arm\bin\iccarm.exe C$:\Users\vadychka\Documents\GitHub\leybl\fft\main.c -D STM32G431xx -D ARM_MATH_CM4 -o C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\ --no_cse --no_unroll --no_inline --no_code_motion --no_tbaa --no_clustering --no_scheduling --debug --endian=little --cpu=Cortex-M4 --fpu=VFPv4_sp --dlib_config C$:\iar\ewarm-9.70.1\arm\inc\c\DLib_Config_Normal.h -I C$:\Users\vadychka\Documents\GitHub\leybl\fft\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -Ol -I C$:\iar\ewarm-9.70.1\arm\CMSIS\Core\Include\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -D ARM_MATH_CM4 -e + flags = C$:\iar\ewarm-9.70.1\arm\bin\iccarm.exe C$:\Users\vadychka\Documents\GitHub\leybl\fft\main.c -D STM32G431xx -D ARM_MATH_CM4 -o C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\ --debug --endian=little --cpu=Cortex-M4 --fpu=VFPv4_sp --dlib_config C$:\iar\ewarm-9.70.1\arm\inc\c\DLib_Config_Normal.h -I C$:\Users\vadychka\Documents\GitHub\leybl\fft\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -Ohz -I C$:\iar\ewarm-9.70.1\arm\CMSIS\Core\Include\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -D ARM_MATH_CM4 -e gencommand = -output_file C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\BrowseInfo\main.c.json -icc_path C$:\iar\ewarm-9.70.1\arm\bin\iccarm.exe -source_file C$:\Users\vadychka\Documents\GitHub\leybl\fft\main.c -work_dir C$:\Users\vadychka\Documents\GitHub\leybl\fft -keyword_map_path C$:\iar\ewarm-9.70.1\common\config\ClangdConfig.json -object_file C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\main.o rspfile_name = C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\BrowseInfo\main.c.json.rsp build C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\BrowseInfo\www_9707195405963337211.dir\motors.c.json : COMPDB_GEN - flags = C$:\iar\ewarm-9.70.1\arm\bin\iccarm.exe C$:\Users\vadychka\Documents\GitHub\leybl\www\motors.c -D STM32G431xx -D ARM_MATH_CM4 -o C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\ --no_cse --no_unroll --no_inline --no_code_motion --no_tbaa --no_clustering --no_scheduling --debug --endian=little --cpu=Cortex-M4 --fpu=VFPv4_sp --dlib_config C$:\iar\ewarm-9.70.1\arm\inc\c\DLib_Config_Normal.h -I C$:\Users\vadychka\Documents\GitHub\leybl\fft\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -Ol -I C$:\iar\ewarm-9.70.1\arm\CMSIS\Core\Include\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -D ARM_MATH_CM4 -e + flags = C$:\iar\ewarm-9.70.1\arm\bin\iccarm.exe C$:\Users\vadychka\Documents\GitHub\leybl\www\motors.c -D STM32G431xx -D ARM_MATH_CM4 -o C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\ --debug --endian=little --cpu=Cortex-M4 --fpu=VFPv4_sp --dlib_config C$:\iar\ewarm-9.70.1\arm\inc\c\DLib_Config_Normal.h -I C$:\Users\vadychka\Documents\GitHub\leybl\fft\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -Ohz -I C$:\iar\ewarm-9.70.1\arm\CMSIS\Core\Include\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -D ARM_MATH_CM4 -e gencommand = -output_file C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\BrowseInfo\www_9707195405963337211.dir\motors.c.json -icc_path C$:\iar\ewarm-9.70.1\arm\bin\iccarm.exe -source_file C$:\Users\vadychka\Documents\GitHub\leybl\www\motors.c -work_dir C$:\Users\vadychka\Documents\GitHub\leybl\www -keyword_map_path C$:\iar\ewarm-9.70.1\common\config\ClangdConfig.json -object_file C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\motors.o rspfile_name = C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\BrowseInfo\www_9707195405963337211.dir\motors.c.json.rsp build C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\BrowseInfo\system_stm32g4xx.c.json : COMPDB_GEN - flags = C$:\iar\ewarm-9.70.1\arm\bin\iccarm.exe C$:\Users\vadychka\Documents\GitHub\leybl\fft\system_stm32g4xx.c -D STM32G431xx -D ARM_MATH_CM4 -o C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\ --no_cse --no_unroll --no_inline --no_code_motion --no_tbaa --no_clustering --no_scheduling --debug --endian=little --cpu=Cortex-M4 --fpu=VFPv4_sp --dlib_config C$:\iar\ewarm-9.70.1\arm\inc\c\DLib_Config_Normal.h -I C$:\Users\vadychka\Documents\GitHub\leybl\fft\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -Ol -I C$:\iar\ewarm-9.70.1\arm\CMSIS\Core\Include\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -D ARM_MATH_CM4 -e + flags = C$:\iar\ewarm-9.70.1\arm\bin\iccarm.exe C$:\Users\vadychka\Documents\GitHub\leybl\fft\system_stm32g4xx.c -D STM32G431xx -D ARM_MATH_CM4 -o C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\ --debug --endian=little --cpu=Cortex-M4 --fpu=VFPv4_sp --dlib_config C$:\iar\ewarm-9.70.1\arm\inc\c\DLib_Config_Normal.h -I C$:\Users\vadychka\Documents\GitHub\leybl\fft\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -Ohz -I C$:\iar\ewarm-9.70.1\arm\CMSIS\Core\Include\ -I C$:\iar\ewarm-9.70.1\arm\CMSIS\DSP\Include\ -D ARM_MATH_CM4 -e gencommand = -output_file C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\BrowseInfo\system_stm32g4xx.c.json -icc_path C$:\iar\ewarm-9.70.1\arm\bin\iccarm.exe -source_file C$:\Users\vadychka\Documents\GitHub\leybl\fft\system_stm32g4xx.c -work_dir C$:\Users\vadychka\Documents\GitHub\leybl\fft -keyword_map_path C$:\iar\ewarm-9.70.1\common\config\ClangdConfig.json -object_file C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\system_stm32g4xx.o rspfile_name = C$:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\BrowseInfo\system_stm32g4xx.c.json.rsp diff --git a/Debug/BrowseInfo/dsp_manager.c.json b/Debug/BrowseInfo/dsp_manager.c.json index 222d129..c971a5e 100644 --- a/Debug/BrowseInfo/dsp_manager.c.json +++ b/Debug/BrowseInfo/dsp_manager.c.json @@ -595,8 +595,6 @@ "-D", "__MULTIPLE_INHERITANCE__=1", "-D", - "__FOR_DEBUG__=", - "-D", "__AAPCS_VFP__=1", "-D", "__ARM4TM__=4", diff --git a/Debug/BrowseInfo/imu.c.json b/Debug/BrowseInfo/imu.c.json index 7740333..b8cd26a 100644 --- a/Debug/BrowseInfo/imu.c.json +++ b/Debug/BrowseInfo/imu.c.json @@ -595,8 +595,6 @@ "-D", "__MULTIPLE_INHERITANCE__=1", "-D", - "__FOR_DEBUG__=", - "-D", "__AAPCS_VFP__=1", "-D", "__ARM4TM__=4", diff --git a/Debug/BrowseInfo/main.c.json b/Debug/BrowseInfo/main.c.json index 401c218..c929988 100644 --- a/Debug/BrowseInfo/main.c.json +++ b/Debug/BrowseInfo/main.c.json @@ -595,8 +595,6 @@ "-D", "__MULTIPLE_INHERITANCE__=1", "-D", - "__FOR_DEBUG__=", - "-D", "__AAPCS_VFP__=1", "-D", "__ARM4TM__=4", diff --git a/Debug/BrowseInfo/system_stm32g4xx.c.json b/Debug/BrowseInfo/system_stm32g4xx.c.json index b457690..ad9f4b1 100644 --- a/Debug/BrowseInfo/system_stm32g4xx.c.json +++ b/Debug/BrowseInfo/system_stm32g4xx.c.json @@ -595,8 +595,6 @@ "-D", "__MULTIPLE_INHERITANCE__=1", "-D", - "__FOR_DEBUG__=", - "-D", "__AAPCS_VFP__=1", "-D", "__ARM4TM__=4", diff --git a/Debug/BrowseInfo/www_9707195405963337211.dir/motors.c.json b/Debug/BrowseInfo/www_9707195405963337211.dir/motors.c.json index 4628573..0f4c574 100644 --- a/Debug/BrowseInfo/www_9707195405963337211.dir/motors.c.json +++ b/Debug/BrowseInfo/www_9707195405963337211.dir/motors.c.json @@ -595,8 +595,6 @@ "-D", "__MULTIPLE_INHERITANCE__=1", "-D", - "__FOR_DEBUG__=", - "-D", "__AAPCS_VFP__=1", "-D", "__ARM4TM__=4", diff --git a/Debug/Exe/fft_az.out b/Debug/Exe/fft_az.out new file mode 100644 index 0000000000000000000000000000000000000000..1b46d8ec520ef0e7e30b55747982bdb3bace74cc GIT binary patch literal 240428 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�|3;lZDuLmt3 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 RZSP4RT1s9w5BF*H{TD4sxc2}6 literal 0 HcmV?d00001 diff --git a/Debug/Exe/fft_az.out.rsp b/Debug/Exe/fft_az.out.rsp deleted file mode 100644 index 9083d8a..0000000 --- a/Debug/Exe/fft_az.out.rsp +++ /dev/null @@ -1 +0,0 @@ -C:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\dsp_manager.o C:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\imu.o C:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\main.o C:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\motors.o C:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\startup_stm32g431xx.o C:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\system_stm32g4xx.o --no_out_extension -o C:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Exe\fft_az.out --redirect _Printf=_PrintfFullNoMb --redirect _Scanf=_ScanfFullNoMb --map C:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\List\fft_az.map --config C:\iar\ewarm-9.70.1\arm/config/linker/ST/stm32g431xB.icf --semihosting --entry __iar_program_start C:\iar\ewarm-9.70.1\arm\CMSIS\Lib\IAR\iar_cortexM4lf_math.a --vfe --text_out locale --cpu=Cortex-M4 --fpu=VFPv4_sp \ No newline at end of file diff --git a/Debug/Exe/fft_az.sim b/Debug/Exe/fft_az.sim index fb0b547f342d2261dcd978e8c16b5234db53014f..878e4ca661ad7f54c25178fbd1c851970444dff6 100644 GIT binary patch delta 3405 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 (total uncommitted space - 0x1'fe28). - - ******************************************************************************* *** RUNTIME MODEL ATTRIBUTES *** @@ -88,202 +73,184 @@ No sections matched the following patterns: section .textrw in "P2" - Section Kind Address Alignment Size Object - ------- ---- ------- --------- ---- ------ -"A0": 0x1d8 - .intvec ro code 0x800'0000 4 0x1d8 startup_stm32g431xx.o [1] - - 0x800'01d8 0x1d8 + Section Kind Address Alignment Size Object + ------- ---- ------- --------- ---- ------ +"A0": 0x1d8 + .intvec ro code 0x800'0000 4 0x1d8 startup_stm32g431xx.o [1] + - 0x800'01d8 0x1d8 -"P3", part 1 of 3: 0x14 - P3 s0 0x2000'0000 0x14 - .data inited 0x2000'0000 4 0x4 main.o [1] - .data inited 0x2000'0004 4 0x4 main.o [1] - .data inited 0x2000'0008 4 0x4 main.o [1] - .data inited 0x2000'000c 4 0x4 main.o [1] - .data inited 0x2000'0010 4 0x4 system_stm32g4xx.o [1] - - 0x2000'0014 0x14 +"P1": 0x1'f400 + .rodata const 0x800'01d8 4 0x8000 arm_common_tables.o [3] + .rodata const 0x800'81d8 4 0x4000 arm_common_tables.o [3] + .rodata const 0x800'c1d8 4 0x4000 arm_common_tables.o [3] + .rodata const 0x801'01d8 4 0x2000 arm_common_tables.o [3] + .rodata const 0x801'21d8 4 0x2000 arm_common_tables.o [3] + .rodata const 0x801'41d8 4 0x1f80 arm_common_tables.o [3] + .rodata const 0x801'6158 4 0x1dc0 arm_common_tables.o [3] + .rodata const 0x801'7f18 4 0x1000 arm_common_tables.o [3] + .rodata const 0x801'8f18 4 0x1000 arm_common_tables.o [3] + .rodata const 0x801'9f18 4 0xe10 arm_common_tables.o [3] + .rodata const 0x801'ad28 4 0x800 arm_common_tables.o [3] + .rodata const 0x801'b528 4 0x800 arm_common_tables.o [3] + .text ro code 0x801'bd28 4 0x704 arm_cfft_f32.o [3] + .text ro code 0x801'c42c 4 0x592 arm_cfft_radix8_f32.o [3] + .text ro code 0x801'c9be 2 0x2a copy_init3.o [5] + .text ro code 0x801'c9e8 4 0x46 arm_bitreversal2.o [3] + .rodata const 0x801'ca30 4 0x400 arm_common_tables.o [3] + .rodata const 0x801'ce30 4 0x400 arm_common_tables.o [3] + .rodata const 0x801'd230 4 0x380 arm_common_tables.o [3] + .rodata const 0x801'd5b0 4 0x370 arm_common_tables.o [3] + .text ro code 0x801'd920 4 0x360 dsp_manager.o [1] + .text ro code 0x801'dc80 4 0x1bc arm_rfft_fast_init_f32.o [3] + .text ro code 0x801'de3c 4 0x10e arm_mult_f32.o [3] + .text ro code 0x801'df4c 4 0x182 arm_rfft_fast_f32.o [3] + .text ro code 0x801'e0d0 4 0x154 arm_cmplx_mag_f32.o [3] + .text ro code 0x801'e224 4 0x328 imu.o [1] + .text ro code 0x801'e54c 4 0x98 arm_cfft_init_f32.o [3] + .rodata const 0x801'e5e4 4 0x200 arm_common_tables.o [3] + .rodata const 0x801'e7e4 4 0x200 arm_common_tables.o [3] + .text ro code 0x801'e9e4 4 0x1f0 main.o [1] + .text ro code 0x801'ebd4 4 0xc8 motors.o [1] + .text ro code 0x801'ec9c 4 0x9c system_stm32g4xx.o [1] + .rodata const 0x801'ed38 4 0x1a0 arm_common_tables.o [3] + .rodata const 0x801'eed8 4 0x100 arm_common_tables.o [3] + .rodata const 0x801'efd8 4 0x100 arm_common_tables.o [3] + .rodata const 0x801'f0d8 4 0x80 arm_common_tables.o [3] + .rodata const 0x801'f158 4 0x80 arm_common_tables.o [3] + .rodata const 0x801'f1d8 4 0x70 arm_common_tables.o [3] + .rodata const 0x801'f248 4 0x60 arm_common_tables.o [3] + .text ro code 0x801'f2a8 2 0x38 zero_init3.o [5] + .rodata const 0x801'f2e0 4 0x28 arm_common_tables.o [3] + .text ro code 0x801'f308 4 0x28 data_init.o [5] + .text ro code 0x801'f330 4 0x22 fpinit_M.o [4] + .text ro code 0x801'f354 4 0x22 cmain.o [5] + .text ro code 0x801'f376 2 0x4 low_level_init.o [2] + .text ro code 0x801'f37a 2 0x4 exit.o [2] + .text ro code 0x801'f380 4 0x4 cexit.o [5] + .text ro code 0x801'f384 4 0xa cexit_2.o [5] + .text ro code 0x801'f390 4 0x14 exit.o [6] + .iar.init_table const 0x801'f3a4 4 0x24 - Linker created - + .text ro code 0x801'f3c8 4 0x1e cstartup_M.o [5] + .rodata const 0x801'f3e8 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'f3f8 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'f408 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'f418 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'f428 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'f438 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'f448 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'f458 4 0x10 arm_const_structs.o [3] + .rodata const 0x801'f468 4 0x10 arm_const_structs.o [3] + .text ro code 0x801'f478 4 0x10 startup_stm32g431xx.o [1] + .text ro code 0x801'f488 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f48c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f490 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f494 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f498 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f49c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4a0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4a4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4a8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4ac 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4b0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4b4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4b8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4bc 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4c0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4c4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4c8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4cc 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4d0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4d4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4d8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4dc 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4e0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4e4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4e8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4ec 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4f0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4f4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4f8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f4fc 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f500 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f504 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f508 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f50c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f510 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f514 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f518 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f51c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f520 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f524 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f528 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f52c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f530 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f534 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f538 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f53c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f540 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f544 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f548 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f54c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f550 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f554 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f558 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f55c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f560 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f564 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f568 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f56c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f570 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f574 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f578 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f57c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f580 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f584 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f588 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f58c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f590 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f594 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f598 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f59c 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f5a0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f5a4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f5a8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f5ac 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f5b0 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f5b4 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f5b8 2 0x4 startup_stm32g431xx.o [1] + .text ro code 0x801'f5bc 2 0x4 startup_stm32g431xx.o [1] + .rodata const 0x801'f5c0 0x0 zero_init3.o [5] + .rodata const 0x801'f5c0 0x0 copy_init3.o [5] + Initializer bytes const 0x801'f5c0 4 0x18 + - 0x801'f5d8 0x1'f400 -"P3", part 2 of 3: 0x1c7c - .bss zero 0x2000'0014 4 0x800 dsp_manager.o [1] - .bss zero 0x2000'0814 4 0x800 dsp_manager.o [1] - .bss zero 0x2000'1014 4 0x800 dsp_manager.o [1] - .bss zero 0x2000'1814 4 0x400 dsp_manager.o [1] - .bss zero 0x2000'1c14 4 0x1c imu.o [1] - .bss zero 0x2000'1c30 4 0x1c imu.o [1] - .bss zero 0x2000'1c4c 4 0x1c imu.o [1] - .bss zero 0x2000'1c68 4 0x18 dsp_manager.o [1] - .bss zero 0x2000'1c80 4 0x4 imu.o [1] - .bss zero 0x2000'1c84 4 0x4 imu.o [1] - .bss zero 0x2000'1c88 2 0x2 dsp_manager.o [1] - .bss zero 0x2000'1c8a 2 0x2 imu.o [1] - .bss zero 0x2000'1c8c 0x1 main.o [1] - - 0x2000'1c8d 0x1c79 +"P3", part 1 of 3: 0x18 + P3 s0 0x2000'0000 0x18 + .data inited 0x2000'0000 4 0x14 main.o [1] + .data inited 0x2000'0014 4 0x4 system_stm32g4xx.o [1] + - 0x2000'0018 0x18 -"P3", part 3 of 3: 0x800 - CSTACK 0x2000'1c90 8 0x800 - CSTACK uninit 0x2000'1c90 0x800 - - 0x2000'2490 0x800 +"P3", part 2 of 3: 0xe9c + .sram2 zero 0x2000'0018 4 0x600 dsp_manager.o [1] + .sram2 zero 0x2000'0618 4 0x400 dsp_manager.o [1] + .sram2 zero 0x2000'0a18 4 0x400 dsp_manager.o [1] + .bss zero 0x2000'0e18 4 0x60 imu.o [1] + .bss zero 0x2000'0e78 4 0x3c dsp_manager.o [1] + - 0x2000'0eb4 0xe9c -"P1", part 1 of 2 (*** FAILED ***): 0x1'fe34 - .rodata const 0x8000 arm_common_tables.o [3] - .rodata const 0x4000 arm_common_tables.o [3] - .rodata const 0x4000 arm_common_tables.o [3] - .rodata const 0x2000 arm_common_tables.o [3] - .rodata const 0x2000 arm_common_tables.o [3] - .rodata const 0x1f80 arm_common_tables.o [3] - .rodata const 0x1dc0 arm_common_tables.o [3] - .rodata const 0x1000 arm_common_tables.o [3] - .rodata const 0x1000 arm_common_tables.o [3] - .rodata const 0xe10 arm_common_tables.o [3] - .rodata const 0x804 arm_common_tables.o [3] - .rodata const 0x800 arm_common_tables.o [3] - .rodata const 0x800 arm_common_tables.o [3] - .text ro code 0x704 arm_cfft_f32.o [3] - .text ro code 0x592 arm_cfft_radix8_f32.o [3] - .text ro code 0x2a copy_init3.o [5] - .text ro code 0x46 arm_bitreversal2.o [3] - .rodata const 0x400 arm_common_tables.o [3] - .rodata const 0x400 arm_common_tables.o [3] - .rodata const 0x380 arm_common_tables.o [3] - .rodata const 0x370 arm_common_tables.o [3] - .text ro code 0x360 imu.o [1] - .text ro code 0x214 cos_sin_tan_32.o [4] - .text ro code 0x1e U64Shr.o [5] - .text ro code 0x248 main.o [1] - .text ro code 0x128 motors.o [1] - .text ro code 0x1e0 dsp_manager.o [1] - .text ro code 0xa0 system_stm32g4xx.o [1] - .text ro code 0x1bc arm_rfft_fast_init_f32.o [3] - .text ro code 0x90 arm_cos_f32.o [3] - .text ro code 0x10e arm_mult_f32.o [3] - .text ro code 0x182 arm_rfft_fast_f32.o [3] - .text ro code 0x154 arm_cmplx_mag_f32.o [3] - .text ro code 0x98 arm_cfft_init_f32.o [3] - .rodata const 0x200 arm_common_tables.o [3] - .rodata const 0x200 arm_common_tables.o [3] - .rodata const 0x1a0 arm_common_tables.o [3] - .rodata const 0x100 arm_common_tables.o [3] - .rodata const 0x100 arm_common_tables.o [3] - .rodata const 0x80 arm_common_tables.o [3] - .rodata const 0x80 arm_common_tables.o [3] - .rodata const 0x70 arm_common_tables.o [3] - .rodata const 0x60 arm_common_tables.o [3] - .text ro code 0x38 zero_init3.o [5] - .rodata const 0x28 arm_common_tables.o [3] - .text ro code 0x28 data_init.o [5] - .text ro code 0x22 fpinit_M.o [4] - .text ro code 0x22 cmain.o [5] - .text ro code 0x4 low_level_init.o [2] - .text ro code 0x4 exit.o [2] - .text ro code 0x4 cexit.o [5] - .text ro code 0xa cexit_2.o [5] - .text ro code 0x14 exit.o [6] - .iar.init_table const 0x18 - Linker created - - .text ro code 0x1e cstartup_M.o [5] - .rodata const 0x10 system_stm32g4xx.o [1] - .rodata const 0x10 arm_const_structs.o [3] - .rodata const 0x10 arm_const_structs.o [3] - .rodata const 0x10 arm_const_structs.o [3] - .rodata const 0x10 arm_const_structs.o [3] - .rodata const 0x10 arm_const_structs.o [3] - .rodata const 0x10 arm_const_structs.o [3] - .rodata const 0x10 arm_const_structs.o [3] - .rodata const 0x10 arm_const_structs.o [3] - .rodata const 0x10 arm_const_structs.o [3] - .text ro code 0x10 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .text ro code 0x4 startup_stm32g431xx.o [1] - .rodata const 0x0 zero_init3.o [5] - .rodata const 0x0 copy_init3.o [5] - 0x1'fe34 - -"P1", part 2 of 2 (*** FAILED ***): 0x14 - Initializer bytes const 0x14 (used: 0x0) - 0x14 +"P3", part 3 of 3: 0x800 + CSTACK 0x2000'0eb8 8 0x800 + CSTACK uninit 0x2000'0eb8 0x800 + - 0x2000'16b8 0x800 Unused ranges: - From To Size - ---- -- ---- - 0x800'01d8 0x801'ffff 0x1'fe28 - 0x2000'2490 0x2000'3fff 0x1b70 - 0x2000'4000 0x2000'57ff 0x1800 + From To Size + ---- -- ---- + 0x801'f5d8 0x801'ffff 0xa28 + 0x2000'0eb4 0x2000'0eb7 0x4 + 0x2000'16b8 0x2000'3fff 0x2948 + 0x2000'4000 0x2000'57ff 0x1800 ******************************************************************************* @@ -293,12 +260,14 @@ Unused ranges: Address Size ------- ---- Zero (__iar_zero_init3) - 1 destination range, total size 0x1c79: - 0x2000'0014 0x1c79 + 1 destination range, total size 0xe9c: + 0x2000'0018 0xe9c Copy (__iar_copy_init3) - 1 destination range, total size 0x14: - 0x2000'0000 0x14 + 1 source range, total size 0x18: + 0x801'f5c0 0x18 + 1 destination range, total size 0x18: + 0x2000'0000 0x18 @@ -313,14 +282,14 @@ command line/config: Total: C:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj: [1] - dsp_manager.o 480 7'194 - imu.o 864 94 - main.o 584 17 - motors.o 296 + dsp_manager.o 864 3'644 + imu.o 808 96 + main.o 496 20 20 + motors.o 200 startup_stm32g431xx.o 800 - system_stm32g4xx.o 160 16 4 + system_stm32g4xx.o 156 4 4 --------------------------------------------------- - Total: 3'184 16 7'309 + Total: 3'324 24 3'764 dl7M_tln.a: [2] exit.o 4 @@ -334,23 +303,20 @@ iar_cortexM4lf_math.a: [3] arm_cfft_init_f32.o 152 arm_cfft_radix8_f32.o 1'426 arm_cmplx_mag_f32.o 340 - arm_common_tables.o 121'820 + arm_common_tables.o 119'768 arm_const_structs.o 144 - arm_cos_f32.o 144 arm_mult_f32.o 270 arm_rfft_fast_f32.o 386 arm_rfft_fast_init_f32.o 444 --------------------------------------------------- - Total: 5'028 121'964 + Total: 4'884 119'912 m7M_tls.a: [4] - cos_sin_tan_32.o 532 fpinit_M.o 34 --------------------------------------------------- - Total: 566 + Total: 34 rt7M_tl.a: [5] - U64Shr.o 30 cexit.o 4 cexit_2.o 10 cmain.o 34 @@ -359,17 +325,17 @@ rt7M_tl.a: [5] data_init.o 40 zero_init3.o 56 --------------------------------------------------- - Total: 246 + Total: 216 shb_l.a: [6] exit.o 20 --------------------------------------------------- Total: 20 - Gaps 12 4 - Linker created 44 2'048 + Gaps 10 4 + Linker created 36 2'048 ------------------------------------------------------- - Grand Total: 9'064 122'028 9'357 + Grand Total: 8'496 119'976 5'812 ******************************************************************************* @@ -378,257 +344,240 @@ shb_l.a: [6] Entry Address Size Type Object ----- ------- ---- ---- ------ -.iar.init_table$$Base 0x1'fc08 -- Gb - Linker created - -.iar.init_table$$Limit 0x1'fc2c -- Gb - Linker created - -?main 0x1'fbb9 Code Gb cmain.o [5] -ADC1_2_IRQHandler 0x1'fd65 Code Wk startup_stm32g431xx.o [1] -AHBPrescTable 0x1'fc4c 0x10 Data Gb system_stm32g4xx.o [1] -BusFault_Handler 0x1'fd09 Code Wk startup_stm32g431xx.o [1] -By2Pi 0x1'e4a4 0x1c Data Lc cos_sin_tan_32.o [4] -COMP1_2_3_IRQHandler 0x1'fe01 Code Wk startup_stm32g431xx.o [1] -COMP4_IRQHandler 0x1'fe05 Code Wk startup_stm32g431xx.o [1] -CORDIC_IRQHandler 0x1'fe2d Code Wk startup_stm32g431xx.o [1] -CRS_IRQHandler 0x1'fe09 Code Wk startup_stm32g431xx.o [1] -CSTACK$$Base 0x2000'1c90 -- Gb - Linker created - -CSTACK$$Limit 0x2000'2490 -- Gb - Linker created - +.iar.init_table$$Base 0x801'f3a4 -- Gb - Linker created - +.iar.init_table$$Limit 0x801'f3c8 -- Gb - Linker created - +?main 0x801'f355 Code Gb cmain.o [5] +ADC1_2_IRQHandler 0x801'f4f1 Code Wk startup_stm32g431xx.o [1] +AHBPrescTable 0x801'ed28 0x10 Data Gb system_stm32g4xx.o [1] +BusFault_Handler 0x801'f495 Code Wk startup_stm32g431xx.o [1] +COMP1_2_3_IRQHandler 0x801'f58d Code Wk startup_stm32g431xx.o [1] +COMP4_IRQHandler 0x801'f591 Code Wk startup_stm32g431xx.o [1] +CORDIC_IRQHandler 0x801'f5b9 Code Wk startup_stm32g431xx.o [1] +CRS_IRQHandler 0x801'f595 Code Wk startup_stm32g431xx.o [1] +CSTACK$$Base 0x2000'0eb8 -- Gb - Linker created - +CSTACK$$Limit 0x2000'16b8 -- Gb - Linker created - DMA1_Channel1_IRQHandler - 0x1'fd4d Code Wk startup_stm32g431xx.o [1] + 0x801'f4d9 Code Wk startup_stm32g431xx.o [1] DMA1_Channel2_IRQHandler - 0x1'fd51 Code Wk startup_stm32g431xx.o [1] + 0x801'f4dd Code Wk startup_stm32g431xx.o [1] DMA1_Channel3_IRQHandler - 0x1'fd55 Code Wk startup_stm32g431xx.o [1] + 0x801'f4e1 Code Wk startup_stm32g431xx.o [1] DMA1_Channel4_IRQHandler - 0x1'fd59 Code Wk startup_stm32g431xx.o [1] + 0x801'f4e5 Code Wk startup_stm32g431xx.o [1] DMA1_Channel5_IRQHandler - 0x1'fd5d Code Wk startup_stm32g431xx.o [1] + 0x801'f4e9 Code Wk startup_stm32g431xx.o [1] DMA1_Channel6_IRQHandler - 0x1'fd61 Code Wk startup_stm32g431xx.o [1] + 0x801'f4ed Code Wk startup_stm32g431xx.o [1] DMA2_Channel1_IRQHandler - 0x1'fde9 Code Wk startup_stm32g431xx.o [1] + 0x801'f575 Code Wk startup_stm32g431xx.o [1] DMA2_Channel2_IRQHandler - 0x1'fded Code Wk startup_stm32g431xx.o [1] + 0x801'f579 Code Wk startup_stm32g431xx.o [1] DMA2_Channel3_IRQHandler - 0x1'fdf1 Code Wk startup_stm32g431xx.o [1] + 0x801'f57d Code Wk startup_stm32g431xx.o [1] DMA2_Channel4_IRQHandler - 0x1'fdf5 Code Wk startup_stm32g431xx.o [1] + 0x801'f581 Code Wk startup_stm32g431xx.o [1] DMA2_Channel5_IRQHandler - 0x1'fdf9 Code Wk startup_stm32g431xx.o [1] + 0x801'f585 Code Wk startup_stm32g431xx.o [1] DMA2_Channel6_IRQHandler - 0x1'fe29 Code Wk startup_stm32g431xx.o [1] -DMAMUX_OVR_IRQHandler 0x1'fe25 Code Wk startup_stm32g431xx.o [1] -DSP_AddSample 0x1'e8a1 0x2e Code Gb dsp_manager.o [1] -DSP_Init 0x1'e851 0x50 Code Gb dsp_manager.o [1] -DSP_Process 0x1'e8d1 0x128 Code Gb dsp_manager.o [1] -DebugMon_Handler 0x1'fd15 Code Wk startup_stm32g431xx.o [1] -EXTI0_IRQHandler 0x1'fd39 Code Wk startup_stm32g431xx.o [1] -EXTI15_10_IRQHandler 0x1'fdbd Code Wk startup_stm32g431xx.o [1] -EXTI1_IRQHandler 0x1'fd3d Code Wk startup_stm32g431xx.o [1] -EXTI2_IRQHandler 0x1'fd41 Code Wk startup_stm32g431xx.o [1] -EXTI3_IRQHandler 0x1'fd45 Code Wk startup_stm32g431xx.o [1] -EXTI4_IRQHandler 0x1'fd49 Code Wk startup_stm32g431xx.o [1] -EXTI9_5_IRQHandler 0x1'fd79 Code Wk startup_stm32g431xx.o [1] -FDCAN1_IT0_IRQHandler 0x1'fd71 Code Wk startup_stm32g431xx.o [1] -FDCAN1_IT1_IRQHandler 0x1'fd75 Code Wk startup_stm32g431xx.o [1] -FLASH_IRQHandler 0x1'fd31 Code Wk startup_stm32g431xx.o [1] -FMAC_IRQHandler 0x1'fe31 Code Wk startup_stm32g431xx.o [1] -FPU_IRQHandler 0x1'fe11 Code Wk startup_stm32g431xx.o [1] -HardFault_Handler 0x1'fd01 Code Wk startup_stm32g431xx.o [1] -I2C1_ER_IRQHandler 0x1'fd9d Code Wk startup_stm32g431xx.o [1] -I2C1_EV_IRQHandler 0x1'fd99 Code Wk startup_stm32g431xx.o [1] -I2C1_Init 0x1'e01f 0x56 Code Gb imu.o [1] -I2C2_ER_IRQHandler 0x1'fda5 Code Wk startup_stm32g431xx.o [1] -I2C2_EV_IRQHandler 0x1'fda1 Code Wk startup_stm32g431xx.o [1] -I2C3_ER_IRQHandler 0x1'fe21 Code Wk startup_stm32g431xx.o [1] -I2C3_EV_IRQHandler 0x1'fe1d Code Wk startup_stm32g431xx.o [1] -I2C_ReadMulti 0x1'e075 0x5c Code Gb imu.o [1] -IMU_Calibrate 0x1'e19d 0x5c Code Gb imu.o [1] -IMU_Init 0x1'e115 0x88 Code Gb imu.o [1] -IMU_ReadRawData 0x1'e1f9 0x50 Code Gb imu.o [1] -IMU_SetBank 0x1'e101 0x12 Code Gb imu.o [1] -IMU_WriteReg 0x1'e0d1 0x30 Code Lc imu.o [1] -LPTIM1_IRQHandler 0x1'fdd9 Code Wk startup_stm32g431xx.o [1] -LPUART1_IRQHandler 0x1'fe19 Code Wk startup_stm32g431xx.o [1] -MemManage_Handler 0x1'fd05 Code Wk startup_stm32g431xx.o [1] -Motors_Init 0x1'e729 0xb2 Code Gb motors.o [1] -NMI_Handler 0x1'fcfd Code Wk startup_stm32g431xx.o [1] -PVD_PVM_IRQHandler 0x1'fd25 Code Wk startup_stm32g431xx.o [1] -PendSV_Handler 0x1'fd19 Code Wk startup_stm32g431xx.o [1] -RCC_IRQHandler 0x1'fd35 Code Wk startup_stm32g431xx.o [1] -RNG_IRQHandler 0x1'fe15 Code Wk startup_stm32g431xx.o [1] -RTC_Alarm_IRQHandler 0x1'fdc1 Code Wk startup_stm32g431xx.o [1] + 0x801'f5b5 Code Wk startup_stm32g431xx.o [1] +DMAMUX_OVR_IRQHandler 0x801'f5b1 Code Wk startup_stm32g431xx.o [1] +DSP_AddSample 0x801'd97b 0x2c Code Gb dsp_manager.o [1] +DSP_Init 0x801'd921 0x5a Code Gb dsp_manager.o [1] +DSP_Process 0x801'd9b5 0x266 Code Gb dsp_manager.o [1] +DebugMon_Handler 0x801'f4a1 Code Wk startup_stm32g431xx.o [1] +EXTI0_IRQHandler 0x801'f4c5 Code Wk startup_stm32g431xx.o [1] +EXTI15_10_IRQHandler 0x801'f549 Code Wk startup_stm32g431xx.o [1] +EXTI1_IRQHandler 0x801'f4c9 Code Wk startup_stm32g431xx.o [1] +EXTI2_IRQHandler 0x801'f4cd Code Wk startup_stm32g431xx.o [1] +EXTI3_IRQHandler 0x801'f4d1 Code Wk startup_stm32g431xx.o [1] +EXTI4_IRQHandler 0x801'f4d5 Code Wk startup_stm32g431xx.o [1] +EXTI9_5_IRQHandler 0x801'f505 Code Wk startup_stm32g431xx.o [1] +FDCAN1_IT0_IRQHandler 0x801'f4fd Code Wk startup_stm32g431xx.o [1] +FDCAN1_IT1_IRQHandler 0x801'f501 Code Wk startup_stm32g431xx.o [1] +FLASH_IRQHandler 0x801'f4bd Code Wk startup_stm32g431xx.o [1] +FMAC_IRQHandler 0x801'f5bd Code Wk startup_stm32g431xx.o [1] +FPU_IRQHandler 0x801'f59d Code Wk startup_stm32g431xx.o [1] +HardFault_Handler 0x801'f48d Code Wk startup_stm32g431xx.o [1] +I2C1_ER_IRQHandler 0x801'f529 Code Wk startup_stm32g431xx.o [1] +I2C1_EV_IRQHandler 0x801'f525 Code Wk startup_stm32g431xx.o [1] +I2C1_Init 0x801'e325 0x4c Code Gb imu.o [1] +I2C2_ER_IRQHandler 0x801'f531 Code Wk startup_stm32g431xx.o [1] +I2C2_EV_IRQHandler 0x801'f52d Code Wk startup_stm32g431xx.o [1] +I2C3_ER_IRQHandler 0x801'f5ad Code Wk startup_stm32g431xx.o [1] +I2C3_EV_IRQHandler 0x801'f5a9 Code Wk startup_stm32g431xx.o [1] +I2C_ReadMulti 0x801'e371 0x40 Code Gb imu.o [1] +IMU_Calibrate 0x801'e473 0x4c Code Gb imu.o [1] +IMU_Init 0x801'e3e5 0x80 Code Gb imu.o [1] +IMU_ReadRawData 0x801'e4bf 0x50 Code Gb imu.o [1] +IMU_SetBank 0x801'e3d9 0xa Code Gb imu.o [1] +IMU_WriteReg 0x801'e3b1 0x28 Code Lc imu.o [1] +LPTIM1_IRQHandler 0x801'f565 Code Wk startup_stm32g431xx.o [1] +LPUART1_IRQHandler 0x801'f5a5 Code Wk startup_stm32g431xx.o [1] +MemManage_Handler 0x801'f491 Code Wk startup_stm32g431xx.o [1] +Motors_Init 0x801'ebd5 0x9a Code Gb motors.o [1] +NMI_Handler 0x801'f489 Code Wk startup_stm32g431xx.o [1] +PVD_PVM_IRQHandler 0x801'f4b1 Code Wk startup_stm32g431xx.o [1] +PendSV_Handler 0x801'f4a5 Code Wk startup_stm32g431xx.o [1] +RCC_IRQHandler 0x801'f4c1 Code Wk startup_stm32g431xx.o [1] +RNG_IRQHandler 0x801'f5a1 Code Wk startup_stm32g431xx.o [1] +RTC_Alarm_IRQHandler 0x801'f54d Code Wk startup_stm32g431xx.o [1] RTC_TAMP_LSECSS_IRQHandler - 0x1'fd29 Code Wk startup_stm32g431xx.o [1] -RTC_WKUP_IRQHandler 0x1'fd2d Code Wk startup_stm32g431xx.o [1] -Region$$Table$$Base 0x1'fc08 -- Gb - Linker created - -Region$$Table$$Limit 0x1'fc2c -- Gb - Linker created - -Reset_Handler 0x1'fced Code Wk startup_stm32g431xx.o [1] -SAI1_IRQHandler 0x1'fe0d Code Wk startup_stm32g431xx.o [1] -SPI1_IRQHandler 0x1'fda9 Code Wk startup_stm32g431xx.o [1] -SPI2_IRQHandler 0x1'fdad Code Wk startup_stm32g431xx.o [1] -SPI3_IRQHandler 0x1'fddd Code Wk startup_stm32g431xx.o [1] -SVC_Handler 0x1'fd11 Code Wk startup_stm32g431xx.o [1] -Set_Motor_Individual 0x1'e7ed 0x16 Code Gb motors.o [1] -Set_Motors 0x1'e7db 0x12 Code Gb motors.o [1] -SysTick_Handler 0x1'fd1d Code Wk startup_stm32g431xx.o [1] + 0x801'f4b5 Code Wk startup_stm32g431xx.o [1] +RTC_WKUP_IRQHandler 0x801'f4b9 Code Wk startup_stm32g431xx.o [1] +Region$$Table$$Base 0x801'f3a4 -- Gb - Linker created - +Region$$Table$$Limit 0x801'f3c8 -- Gb - Linker created - +Reset_Handler 0x801'f479 Code Wk startup_stm32g431xx.o [1] +SAI1_IRQHandler 0x801'f599 Code Wk startup_stm32g431xx.o [1] +SPI1_IRQHandler 0x801'f535 Code Wk startup_stm32g431xx.o [1] +SPI2_IRQHandler 0x801'f539 Code Wk startup_stm32g431xx.o [1] +SPI3_IRQHandler 0x801'f569 Code Wk startup_stm32g431xx.o [1] +SVC_Handler 0x801'f49d Code Wk startup_stm32g431xx.o [1] +Set_Motor_Individual 0x801'ec7d 0x10 Code Gb motors.o [1] +Set_Motors 0x801'ec6f 0xe Code Gb motors.o [1] +SysTick_Handler 0x801'f4a9 Code Wk startup_stm32g431xx.o [1] SystemClock_Config_160MHz - 0x1'e5a7 0x54 Code Gb main.o [1] -SystemCoreClock 0x2000'0010 0x4 Data Gb system_stm32g4xx.o [1] -SystemCoreClockUpdate 0x1'ea3d 0x78 Code Gb system_stm32g4xx.o [1] -SystemInit 0x1'ea31 0xc Code Gb system_stm32g4xx.o [1] + 0x801'eaa1 0x4c Code Gb main.o [1] +SystemCoreClock 0x2000'0014 0x4 Data Gb system_stm32g4xx.o [1] +SystemCoreClockUpdate 0x801'eca9 0x6c Code Gb system_stm32g4xx.o [1] +SystemInit 0x801'ec9d 0xc Code Gb system_stm32g4xx.o [1] TIM1_BRK_TIM15_IRQHandler - 0x1'fd7d Code Wk startup_stm32g431xx.o [1] -TIM1_CC_IRQHandler 0x1'fd89 Code Wk startup_stm32g431xx.o [1] + 0x801'f509 Code Wk startup_stm32g431xx.o [1] +TIM1_CC_IRQHandler 0x801'f515 Code Wk startup_stm32g431xx.o [1] TIM1_TRG_COM_TIM17_IRQHandler - 0x1'fd85 Code Wk startup_stm32g431xx.o [1] + 0x801'f511 Code Wk startup_stm32g431xx.o [1] TIM1_UP_TIM16_IRQHandler - 0x1'fd81 Code Wk startup_stm32g431xx.o [1] -TIM2_IRQHandler 0x1'fd8d Code Wk startup_stm32g431xx.o [1] -TIM3_IRQHandler 0x1'fd91 Code Wk startup_stm32g431xx.o [1] -TIM4_IRQHandler 0x1'fd95 Code Wk startup_stm32g431xx.o [1] -TIM6_DAC_IRQHandler 0x1'e6a3 0x14 Code Gb main.o [1] -TIM6_Init_1000Hz 0x1'e66d 0x36 Code Gb main.o [1] -TIM7_IRQHandler 0x1'fde5 Code Wk startup_stm32g431xx.o [1] -TIM8_BRK_IRQHandler 0x1'fdc9 Code Wk startup_stm32g431xx.o [1] -TIM8_CC_IRQHandler 0x1'fdd5 Code Wk startup_stm32g431xx.o [1] + 0x801'f50d Code Wk startup_stm32g431xx.o [1] +TIM2_IRQHandler 0x801'f519 Code Wk startup_stm32g431xx.o [1] +TIM3_IRQHandler 0x801'f51d Code Wk startup_stm32g431xx.o [1] +TIM4_IRQHandler 0x801'f521 Code Wk startup_stm32g431xx.o [1] +TIM6_DAC_IRQHandler 0x801'eb81 0x14 Code Gb main.o [1] +TIM6_Init_1000Hz 0x801'eb51 0x30 Code Gb main.o [1] +TIM7_IRQHandler 0x801'f571 Code Wk startup_stm32g431xx.o [1] +TIM8_BRK_IRQHandler 0x801'f555 Code Wk startup_stm32g431xx.o [1] +TIM8_CC_IRQHandler 0x801'f561 Code Wk startup_stm32g431xx.o [1] TIM8_TRG_COM_IRQHandler - 0x1'fdd1 Code Wk startup_stm32g431xx.o [1] -TIM8_UP_IRQHandler 0x1'fdcd Code Wk startup_stm32g431xx.o [1] -UART2_Init_921600 0x1'e5fb 0x50 Code Gb main.o [1] -UART4_IRQHandler 0x1'fde1 Code Wk startup_stm32g431xx.o [1] -UART_SendPacket 0x1'e64b 0x22 Code Gb main.o [1] -UCPD1_IRQHandler 0x1'fdfd Code Wk startup_stm32g431xx.o [1] -USART1_IRQHandler 0x1'fdb1 Code Wk startup_stm32g431xx.o [1] -USART2_IRQHandler 0x1'fdb5 Code Wk startup_stm32g431xx.o [1] -USART3_IRQHandler 0x1'fdb9 Code Wk startup_stm32g431xx.o [1] -USBWakeUp_IRQHandler 0x1'fdc5 Code Wk startup_stm32g431xx.o [1] -USB_HP_IRQHandler 0x1'fd69 Code Wk startup_stm32g431xx.o [1] -USB_LP_IRQHandler 0x1'fd6d Code Wk startup_stm32g431xx.o [1] -UsageFault_Handler 0x1'fd0d Code Wk startup_stm32g431xx.o [1] -WWDG_IRQHandler 0x1'fd21 Code Wk startup_stm32g431xx.o [1] -__NVIC_EnableIRQ 0x1'e4e1 0x1c Code Lc main.o [1] -__aeabi_llsr 0x1'e4c1 Code Gb U64Shr.o [5] -__cmain 0x1'fbb9 Code Gb cmain.o [5] -__exit 0x1'fbf5 0x14 Code Gb exit.o [6] -__iar_Sin_accurate32 0x1'e2ad 0x1c8 Code Lc cos_sin_tan_32.o [4] -__iar_copy_init3 0x1'cfeb 0x2a Code Gb copy_init3.o [5] -__iar_cos_accurate32 0x1'e49d 0x4 Code Gb cos_sin_tan_32.o [4] -__iar_cos_accuratef 0x1'e49d 0x4 Code Gb cos_sin_tan_32.o [4] -__iar_cos_medium32 0x1'e49d 0x4 Code Gb cos_sin_tan_32.o [4] -__iar_cos_mediumf 0x1'e49d 0x4 Code Gb cos_sin_tan_32.o [4] -__iar_cos_small32 0x1'e49d 0x4 Code Gb cos_sin_tan_32.o [4] -__iar_cos_smallf 0x1'e49d 0x4 Code Gb cos_sin_tan_32.o [4] -__iar_cosf 0x1'e49d 0x4 Code Gb cos_sin_tan_32.o [4] -__iar_data_init3 0x1'fb6d 0x28 Code Gb data_init.o [5] -__iar_init_vfp 0x1'fb95 Code Gb fpinit_M.o [4] -__iar_program_start 0x1'fc2d Code Gb cstartup_M.o [5] -__iar_sin_accurate32 0x1'e4a1 0x4 Code Gb cos_sin_tan_32.o [4] -__iar_sin_accuratef 0x1'e4a1 0x4 Code Gb cos_sin_tan_32.o [4] -__iar_sin_medium32 0x1'e4a1 0x4 Code Gb cos_sin_tan_32.o [4] -__iar_sin_mediumf 0x1'e4a1 0x4 Code Gb cos_sin_tan_32.o [4] -__iar_sin_small32 0x1'e4a1 0x4 Code Gb cos_sin_tan_32.o [4] -__iar_sin_smallf 0x1'e4a1 0x4 Code Gb cos_sin_tan_32.o [4] -__iar_sinf 0x1'e4a1 0x4 Code Gb cos_sin_tan_32.o [4] -__iar_zero_init3 0x1'fb0d 0x38 Code Gb zero_init3.o [5] -__low_level_init 0x1'fbdb 0x4 Code Gb low_level_init.o [2] + 0x801'f55d Code Wk startup_stm32g431xx.o [1] +TIM8_UP_IRQHandler 0x801'f559 Code Wk startup_stm32g431xx.o [1] +UART2_Init_921600 0x801'eaed 0x48 Code Gb main.o [1] +UART4_IRQHandler 0x801'f56d Code Wk startup_stm32g431xx.o [1] +UART_SendPacket 0x801'eb35 0x1c Code Gb main.o [1] +UCPD1_IRQHandler 0x801'f589 Code Wk startup_stm32g431xx.o [1] +USART1_IRQHandler 0x801'f53d Code Wk startup_stm32g431xx.o [1] +USART2_IRQHandler 0x801'f541 Code Wk startup_stm32g431xx.o [1] +USART3_IRQHandler 0x801'f545 Code Wk startup_stm32g431xx.o [1] +USBWakeUp_IRQHandler 0x801'f551 Code Wk startup_stm32g431xx.o [1] +USB_HP_IRQHandler 0x801'f4f5 Code Wk startup_stm32g431xx.o [1] +USB_LP_IRQHandler 0x801'f4f9 Code Wk startup_stm32g431xx.o [1] +UsageFault_Handler 0x801'f499 Code Wk startup_stm32g431xx.o [1] +WWDG_IRQHandler 0x801'f4ad Code Wk startup_stm32g431xx.o [1] +__cmain 0x801'f355 Code Gb cmain.o [5] +__exit 0x801'f391 0x14 Code Gb exit.o [6] +__iar_copy_init3 0x801'c9bf 0x2a Code Gb copy_init3.o [5] +__iar_data_init3 0x801'f309 0x28 Code Gb data_init.o [5] +__iar_init_vfp 0x801'f331 Code Gb fpinit_M.o [4] +__iar_program_start 0x801'f3c9 Code Gb cstartup_M.o [5] +__iar_zero_init3 0x801'f2a9 0x38 Code Gb zero_init3.o [5] +__low_level_init 0x801'f377 0x4 Code Gb low_level_init.o [2] __vector_table 0x800'0000 Data Gb startup_stm32g431xx.o [1] -_call_main 0x1'fbc5 Code Gb cmain.o [5] -_exit 0x1'fbe5 Code Gb cexit.o [5] -_exit_2 0x1'fbe9 Code Gb cexit_2.o [5] +_call_main 0x801'f361 Code Gb cmain.o [5] +_exit 0x801'f381 Code Gb cexit.o [5] +_exit_2 0x801'f385 Code Gb cexit_2.o [5] armBitRevIndexTable1024 - 0x1'9d40 0xe10 Data Gb arm_common_tables.o [3] -armBitRevIndexTable128 0x1'f59c 0x1a0 Data Gb arm_common_tables.o [3] -armBitRevIndexTable16 0x1'fb44 0x28 Data Gb arm_common_tables.o [3] + 0x801'9f18 0xe10 Data Gb arm_common_tables.o [3] +armBitRevIndexTable128 0x801'ed38 0x1a0 Data Gb arm_common_tables.o [3] +armBitRevIndexTable16 0x801'f2e0 0x28 Data Gb arm_common_tables.o [3] armBitRevIndexTable2048 - 0x1'5f80 0x1dc0 Data Gb arm_common_tables.o [3] -armBitRevIndexTable256 0x1'dbdc 0x370 Data Gb arm_common_tables.o [3] -armBitRevIndexTable32 0x1'faac 0x60 Data Gb arm_common_tables.o [3] + 0x801'6158 0x1dc0 Data Gb arm_common_tables.o [3] +armBitRevIndexTable256 0x801'd5b0 0x370 Data Gb arm_common_tables.o [3] +armBitRevIndexTable32 0x801'f248 0x60 Data Gb arm_common_tables.o [3] armBitRevIndexTable4096 - 0x1'4000 0x1f80 Data Gb arm_common_tables.o [3] -armBitRevIndexTable512 0x1'd85c 0x380 Data Gb arm_common_tables.o [3] -armBitRevIndexTable64 0x1'fa3c 0x70 Data Gb arm_common_tables.o [3] -arm_bitreversal_32 0x1'd015 0x46 Code Gb arm_bitreversal2.o [3] -arm_cfft_f32 0x1'c8d5 0x184 Code Gb arm_cfft_f32.o [3] -arm_cfft_init_f32 0x1'f105 0x98 Code Gb arm_cfft_init_f32.o [3] -arm_cfft_radix8by2_f32 0x1'c355 0x16a Code Gb arm_cfft_f32.o [3] -arm_cfft_radix8by4_f32 0x1'c4c1 0x412 Code Gb arm_cfft_f32.o [3] + 0x801'41d8 0x1f80 Data Gb arm_common_tables.o [3] +armBitRevIndexTable512 0x801'd230 0x380 Data Gb arm_common_tables.o [3] +armBitRevIndexTable64 0x801'f1d8 0x70 Data Gb arm_common_tables.o [3] +arm_bitreversal_32 0x801'c9e9 0x46 Code Gb arm_bitreversal2.o [3] +arm_cfft_f32 0x801'c2a9 0x184 Code Gb arm_cfft_f32.o [3] +arm_cfft_init_f32 0x801'e54d 0x98 Code Gb arm_cfft_init_f32.o [3] +arm_cfft_radix8by2_f32 0x801'bd29 0x16a Code Gb arm_cfft_f32.o [3] +arm_cfft_radix8by4_f32 0x801'be95 0x412 Code Gb arm_cfft_f32.o [3] arm_cfft_sR_f32_len1024 - 0x1'fcbc 0x10 Data Gb arm_const_structs.o [3] -arm_cfft_sR_f32_len128 0x1'fc8c 0x10 Data Gb arm_const_structs.o [3] -arm_cfft_sR_f32_len16 0x1'fc5c 0x10 Data Gb arm_const_structs.o [3] + 0x801'f448 0x10 Data Gb arm_const_structs.o [3] +arm_cfft_sR_f32_len128 0x801'f418 0x10 Data Gb arm_const_structs.o [3] +arm_cfft_sR_f32_len16 0x801'f3e8 0x10 Data Gb arm_const_structs.o [3] arm_cfft_sR_f32_len2048 - 0x1'fccc 0x10 Data Gb arm_const_structs.o [3] -arm_cfft_sR_f32_len256 0x1'fc9c 0x10 Data Gb arm_const_structs.o [3] -arm_cfft_sR_f32_len32 0x1'fc6c 0x10 Data Gb arm_const_structs.o [3] + 0x801'f458 0x10 Data Gb arm_const_structs.o [3] +arm_cfft_sR_f32_len256 0x801'f428 0x10 Data Gb arm_const_structs.o [3] +arm_cfft_sR_f32_len32 0x801'f3f8 0x10 Data Gb arm_const_structs.o [3] arm_cfft_sR_f32_len4096 - 0x1'fcdc 0x10 Data Gb arm_const_structs.o [3] -arm_cfft_sR_f32_len512 0x1'fcac 0x10 Data Gb arm_const_structs.o [3] -arm_cfft_sR_f32_len64 0x1'fc7c 0x10 Data Gb arm_const_structs.o [3] -arm_cmplx_mag_f32 0x1'efb1 0x154 Code Gb arm_cmplx_mag_f32.o [3] -arm_cos_f32 0x1'ec8d 0x90 Code Gb arm_cos_f32.o [3] -arm_mult_f32 0x1'ed1d 0x10e Code Gb arm_mult_f32.o [3] + 0x801'f468 0x10 Data Gb arm_const_structs.o [3] +arm_cfft_sR_f32_len512 0x801'f438 0x10 Data Gb arm_const_structs.o [3] +arm_cfft_sR_f32_len64 0x801'f408 0x10 Data Gb arm_const_structs.o [3] +arm_cmplx_mag_f32 0x801'e0d1 0x154 Code Gb arm_cmplx_mag_f32.o [3] +arm_mult_f32 0x801'de3d 0x10e Code Gb arm_mult_f32.o [3] arm_radix8_butterfly_f32 - 0x1'ca59 0x592 Code Gb arm_cfft_radix8_f32.o [3] + 0x801'c42d 0x592 Code Gb arm_cfft_radix8_f32.o [3] arm_rfft_1024_fast_init_f32 - 0x1'eb81 0x26 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'dd31 0x26 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_128_fast_init_f32 - 0x1'eb15 0x22 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'dcc5 0x22 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_2048_fast_init_f32 - 0x1'eba7 0x26 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'dd57 0x26 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_256_fast_init_f32 - 0x1'eb37 0x24 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'dce7 0x24 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_32_fast_init_f32 - 0x1'ead1 0x22 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'dc81 0x22 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_4096_fast_init_f32 - 0x1'ebcd 0x26 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'dd7d 0x26 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_512_fast_init_f32 - 0x1'eb5b 0x26 Code Lc arm_rfft_fast_init_f32.o [3] + 0x801'dd0b 0x26 Code Lc arm_rfft_fast_init_f32.o [3] arm_rfft_64_fast_init_f32 - 0x1'eaf3 0x22 Code Lc arm_rfft_fast_init_f32.o [3] -arm_rfft_fast_f32 0x1'ef75 0x3a Code Gb arm_rfft_fast_f32.o [3] -arm_rfft_fast_init_f32 0x1'ebf3 0x5a Code Gb arm_rfft_fast_init_f32.o [3] -biquad_apply 0x1'df4d 0x42 Code Gb imu.o [1] -biquad_init_notch 0x1'df91 0x8e Code Gb imu.o [1] -cosf 0x1'e49d 0x4 Code Gb cos_sin_tan_32.o [4] -exit 0x1'fbdf 0x4 Code Gb exit.o [2] -fft_handler 0x2000'1c68 0x18 Data Lc dsp_manager.o [1] -fft_input 0x2000'0014 0x800 Data Lc dsp_manager.o [1] -fft_output 0x2000'0814 0x800 Data Lc dsp_manager.o [1] -filt_gx 0x2000'1c80 0x4 Data Gb imu.o [1] -gyro_bias_x 0x2000'1c84 0x4 Data Gb imu.o [1] -hann_window 0x2000'1014 0x800 Data Lc dsp_manager.o [1] -imu_flag 0x2000'1c8c 0x1 Data Gb main.o [1] -m1_speed 0x2000'0000 0x4 Data Gb main.o [1] -m2_speed 0x2000'0004 0x4 Data Gb main.o [1] -m3_speed 0x2000'0008 0x4 Data Gb main.o [1] -m4_speed 0x2000'000c 0x4 Data Gb main.o [1] -magnitudes 0x2000'1814 0x400 Data Lc dsp_manager.o [1] -main 0x1'e4fd 0xaa Code Gb main.o [1] -merge_rfft_f32 0x1'eed5 0xa0 Code Gb arm_rfft_fast_f32.o [3] -notch1 0x2000'1c14 0x1c Data Gb imu.o [1] -notch2 0x2000'1c30 0x1c Data Gb imu.o [1] -notch3 0x2000'1c4c 0x1c Data Gb imu.o [1] -raw_gx 0x2000'1c8a 0x2 Data Gb imu.o [1] -sample_count 0x2000'1c88 0x2 Data Lc dsp_manager.o [1] -sinTable_f32 0x1'ab50 0x804 Data Gb arm_common_tables.o [3] -sinf 0x1'e4a1 0x4 Code Gb cos_sin_tan_32.o [4] -stage_rfft_f32 0x1'ee2d 0xa8 Code Gb arm_rfft_fast_f32.o [3] -twiddleCoef_1024 0x1'0000 0x2000 Data Gb arm_common_tables.o [3] -twiddleCoef_128 0x1'd05c 0x400 Data Gb arm_common_tables.o [3] -twiddleCoef_16 0x1'f93c 0x80 Data Gb arm_common_tables.o [3] -twiddleCoef_2048 0x8000 0x4000 Data Gb arm_common_tables.o [3] -twiddleCoef_256 0x1'b354 0x800 Data Gb arm_common_tables.o [3] -twiddleCoef_32 0x1'f73c 0x100 Data Gb arm_common_tables.o [3] -twiddleCoef_4096 0x0 0x8000 Data Gb arm_common_tables.o [3] -twiddleCoef_512 0x1'7d40 0x1000 Data Gb arm_common_tables.o [3] -twiddleCoef_64 0x1'f19c 0x200 Data Gb arm_common_tables.o [3] -twiddleCoef_rfft_1024 0x1'8d40 0x1000 Data Gb arm_common_tables.o [3] -twiddleCoef_rfft_128 0x1'f39c 0x200 Data Gb arm_common_tables.o [3] -twiddleCoef_rfft_2048 0x1'2000 0x2000 Data Gb arm_common_tables.o [3] -twiddleCoef_rfft_256 0x1'd45c 0x400 Data Gb arm_common_tables.o [3] -twiddleCoef_rfft_32 0x1'f9bc 0x80 Data Gb arm_common_tables.o [3] -twiddleCoef_rfft_4096 0xc000 0x4000 Data Gb arm_common_tables.o [3] -twiddleCoef_rfft_512 0x1'bb54 0x800 Data Gb arm_common_tables.o [3] -twiddleCoef_rfft_64 0x1'f83c 0x100 Data Gb arm_common_tables.o [3] + 0x801'dca3 0x22 Code Lc arm_rfft_fast_init_f32.o [3] +arm_rfft_fast_f32 0x801'e095 0x3a Code Gb arm_rfft_fast_f32.o [3] +arm_rfft_fast_init_f32 0x801'dda3 0x5a Code Gb arm_rfft_fast_init_f32.o [3] +biquad_apply 0x801'e225 0x42 Code Gb imu.o [1] +biquad_init_notch 0x801'e269 0xbc Code Gb imu.o [1] +dsp_buffer_ready 0x2000'0e78 0x1 Data Gb dsp_manager.o [1] +dsp_notch_freqs 0x2000'0e84 0x8 Data Gb dsp_manager.o [1] +exit 0x801'f37b 0x4 Code Gb exit.o [2] +fft_handler 0x2000'0e9c 0x18 Data Lc dsp_manager.o [1] +fft_input 0x2000'0618 0x400 Data Lc dsp_manager.o [1] +fft_output 0x2000'0218 0x400 Data Lc dsp_manager.o [1] +filt_gx 0x2000'0e1c 0x4 Data Gb imu.o [1] +filtered_freqs 0x2000'0e90 0xc Data Lc dsp_manager.o [1] +freq_missing_frames 0x2000'0e80 0x4 Data Lc dsp_manager.o [1] +freq_seen_frames 0x2000'0e7c 0x4 Data Lc dsp_manager.o [1] +gyro_bias_x 0x2000'0e20 0x4 Data Gb imu.o [1] +hann_window 0x2000'0a18 0x400 Data Lc dsp_manager.o [1] +imu_flag 0x2000'0000 0x1 Data Gb main.o [1] +m1_speed 0x2000'0004 0x4 Data Gb main.o [1] +m2_speed 0x2000'0008 0x4 Data Gb main.o [1] +m3_speed 0x2000'000c 0x4 Data Gb main.o [1] +m4_speed 0x2000'0010 0x4 Data Gb main.o [1] +magnitudes 0x2000'0018 0x200 Data Lc dsp_manager.o [1] +main 0x801'e9e5 0xbc Code Gb main.o [1] +merge_rfft_f32 0x801'dff5 0xa0 Code Gb arm_rfft_fast_f32.o [3] +notch1 0x2000'0e24 0x1c Data Gb imu.o [1] +notch2 0x2000'0e40 0x1c Data Gb imu.o [1] +notch3 0x2000'0e5c 0x1c Data Gb imu.o [1] +raw_gx 0x2000'0e18 0x2 Data Gb imu.o [1] +sample_count 0x2000'0e8c 0x2 Data Gb dsp_manager.o [1] +stage_rfft_f32 0x801'df4d 0xa8 Code Gb arm_rfft_fast_f32.o [3] +twiddleCoef_1024 0x801'01d8 0x2000 Data Gb arm_common_tables.o [3] +twiddleCoef_128 0x801'ca30 0x400 Data Gb arm_common_tables.o [3] +twiddleCoef_16 0x801'f0d8 0x80 Data Gb arm_common_tables.o [3] +twiddleCoef_2048 0x800'81d8 0x4000 Data Gb arm_common_tables.o [3] +twiddleCoef_256 0x801'ad28 0x800 Data Gb arm_common_tables.o [3] +twiddleCoef_32 0x801'eed8 0x100 Data Gb arm_common_tables.o [3] +twiddleCoef_4096 0x800'01d8 0x8000 Data Gb arm_common_tables.o [3] +twiddleCoef_512 0x801'7f18 0x1000 Data Gb arm_common_tables.o [3] +twiddleCoef_64 0x801'e5e4 0x200 Data Gb arm_common_tables.o [3] +twiddleCoef_rfft_1024 0x801'8f18 0x1000 Data Gb arm_common_tables.o [3] +twiddleCoef_rfft_128 0x801'e7e4 0x200 Data Gb arm_common_tables.o [3] +twiddleCoef_rfft_2048 0x801'21d8 0x2000 Data Gb arm_common_tables.o [3] +twiddleCoef_rfft_256 0x801'ce30 0x400 Data Gb arm_common_tables.o [3] +twiddleCoef_rfft_32 0x801'f158 0x80 Data Gb arm_common_tables.o [3] +twiddleCoef_rfft_4096 0x800'c1d8 0x4000 Data Gb arm_common_tables.o [3] +twiddleCoef_rfft_512 0x801'b528 0x800 Data Gb arm_common_tables.o [3] +twiddleCoef_rfft_64 0x801'efd8 0x100 Data Gb arm_common_tables.o [3] [1] = C:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj @@ -638,9 +587,9 @@ twiddleCoef_rfft_64 0x1'f83c 0x100 Data Gb arm_common_tables.o [3] [5] = rt7M_tl.a [6] = shb_l.a - 9'064 bytes of readonly code memory - 122'028 bytes of readonly data memory - 9'357 bytes of readwrite data memory + 8'496 bytes of readonly code memory + 119'976 bytes of readonly data memory + 5'812 bytes of readwrite data memory -Errors: 3 +Errors: none Warnings: none diff --git a/Debug/Obj/dsp_manager.o b/Debug/Obj/dsp_manager.o index a4626bc69cb82d2189db36c25b8683c9503c869f..246574710b8e9533134135f82045e3aac44dfc1e 100644 GIT binary patch literal 27633 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 Nz(oE&Yf-qr{|{-IH&Orq literal 14844 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 diff --git a/Debug/Obj/main.o b/Debug/Obj/main.o index 2d449365727d95daf6117f0760ac41ec11ca2e40..876964d591ffc602acd9f55c32bc52cb10b6f5cd 100644 GIT binary patch literal 20631 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 literal 19689 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 diff --git a/Debug/Obj/system_stm32g4xx.o b/Debug/Obj/system_stm32g4xx.o index 9e8df9776b02189fad6b58ee41be7aabaf2b8d5a..710a29407ccdf9767fb98ca7729ca267fe680695 100644 GIT binary patch literal 13596 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 diff --git a/Debug/compile_commands.json b/Debug/compile_commands.json index a865953..6b0b909 100644 --- a/Debug/compile_commands.json +++ b/Debug/compile_commands.json @@ -596,8 +596,6 @@ "-D", "__MULTIPLE_INHERITANCE__=1", "-D", - "__FOR_DEBUG__=", - "-D", "__AAPCS_VFP__=1", "-D", "__ARM4TM__=4", @@ -1549,8 +1547,6 @@ "-D", "__MULTIPLE_INHERITANCE__=1", "-D", - "__FOR_DEBUG__=", - "-D", "__AAPCS_VFP__=1", "-D", "__ARM4TM__=4", @@ -2502,8 +2498,6 @@ "-D", "__MULTIPLE_INHERITANCE__=1", "-D", - "__FOR_DEBUG__=", - "-D", "__AAPCS_VFP__=1", "-D", "__ARM4TM__=4", @@ -3455,8 +3449,6 @@ "-D", "__MULTIPLE_INHERITANCE__=1", "-D", - "__FOR_DEBUG__=", - "-D", "__AAPCS_VFP__=1", "-D", "__ARM4TM__=4", @@ -4408,8 +4400,6 @@ "-D", "__MULTIPLE_INHERITANCE__=1", "-D", - "__FOR_DEBUG__=", - "-D", "__AAPCS_VFP__=1", "-D", "__ARM4TM__=4", diff --git a/dsp_manager.c b/dsp_manager.c index 57f7f70..5f172d6 100644 --- a/dsp_manager.c +++ b/dsp_manager.c @@ -3,34 +3,56 @@ #include // Буферы для расчета -static float32_t fft_input[FFT_SIZE]; -static float32_t fft_output[FFT_SIZE]; -static float32_t magnitudes[FFT_SIZE / 2]; - -// Буфер для окна Ханна (чтобы убрать шумы по краям выборки) -static float32_t hann_window[FFT_SIZE]; +static float32_t fft_input[FFT_SIZE] __attribute__((section(".sram2"))); +static float32_t fft_output[FFT_SIZE] __attribute__((section(".sram2"))); +static float32_t magnitudes[FFT_SIZE / 2] __attribute__((section(".sram2"))); +static float32_t hann_window[FFT_SIZE] __attribute__((section(".sram2"))); // Коэффициенты биквадратного фильтра -static float32_t b[3] = {1.0f, -2.0f, 1.0f}; // Примерные значения -static float32_t a[3] = {1.0f, -1.8f, 0.81f}; +float32_t b[3] = {1.0f, -2.0f, 1.0f}; // Примерные значения +float32_t a[3] = {1.0f, -1.8f, 0.81f}; // Буфер состояния фильтра -static float32_t x[3] = {0}; -static float32_t y[3] = {0}; +float32_t x[3] = {0}; +float32_t y[3] = {0}; // Структура БПФ из библиотеки static arm_rfft_fast_instance_f32 fft_handler; -// Уточнение области видимости переменной sample_count -static uint16_t sample_count = 0; +// Определение переменных +uint8_t dsp_buffer_ready = 0; +uint16_t sample_count = 0; +volatile uint16_t dsp_notch_freqs[3] = {0, 0, 0}; + +// Переменные для сглаживания частоты (чтобы не прыгала) +static float32_t filtered_freqs[3] = {0.0f, 0.0f, 0.0f}; +const float32_t SMOOTH_ALPHA = 0.2f; // Коэффициент плавности (0.1 - очень медленно, 0.9 - мгновенно) +const float32_t FAST_TRACK_ALPHA = 0.55f; +const float32_t PEAK_THRESHOLD = 2200.0f; +const float32_t FAST_TRACK_DELTA_HZ = 25.0f; +const float32_t TRACK_WINDOW_HZ = 35.0f; +static uint8_t freq_seen_frames[3] = {0, 0, 0}; +static uint8_t freq_missing_frames[3] = {0, 0, 0}; +const uint8_t REQUIRED_STABLE_FRAMES = 2; +const uint8_t DISABLE_AFTER_MISSING_FRAMES = 5; void DSP_Init(void) { // Инициализируем структуру БПФ arm_rfft_fast_init_f32(&fft_handler, FFT_SIZE); // Генерируем окно Ханна (делается один раз) + const float32_t sin_delta = 0.0246374509f; + const float32_t cos_delta = 0.9996964600f; + float32_t sin_angle = 0.0f; + float32_t cos_angle = 1.0f; + for (int i = 0; i < FFT_SIZE; i++) { - hann_window[i] = 0.5f * (1.0f - arm_cos_f32(2.0f * PI * i / (FFT_SIZE - 1))); + hann_window[i] = 0.5f * (1.0f - cos_angle); + + float32_t next_cos = (cos_angle * cos_delta) - (sin_angle * sin_delta); + float32_t next_sin = (sin_angle * cos_delta) + (cos_angle * sin_delta); + cos_angle = next_cos; + sin_angle = next_sin; } } @@ -46,45 +68,146 @@ void DSP_AddSample(float32_t sample) { } void DSP_Process(void) { - // 1. Применяем окно Ханна (умножаем входные данные на "колокол") + // 1. Окно Ханна arm_mult_f32(fft_input, hann_window, fft_input, FFT_SIZE); - // 2. САМО БПФ (Быстрое преобразование Фурье) + // 2. БПФ arm_rfft_fast_f32(&fft_handler, fft_input, fft_output, 0); - // 3. Считаем амплитуды (Magnitudes) + // 3. Амплитуды arm_cmplx_mag_f32(fft_output, magnitudes, FFT_SIZE / 2); - // 4. Поиск 3-х самых мощных пиков - float32_t top_freqs[3] = {0}; - float32_t top_mags[3] = {0}; + // 4. Поиск 3-х режекторных частот. + // Активные фильтры трекаем локально вокруг уже захваченной частоты, + // а глобальный поиск используем только для первичного захвата. + float32_t current_iteration_freqs[3] = {0.0f, 0.0f, 0.0f}; + const uint32_t start_bin = (uint32_t)((50.0f * FFT_SIZE) / DSP_SAMPLE_RATE_HZ); + const float32_t freq_per_bin = DSP_SAMPLE_RATE_HZ / FFT_SIZE; + const uint32_t track_window_bins = (uint32_t)(TRACK_WINDOW_HZ / freq_per_bin); - // Ищем в диапазоне от 50 Гц до 450 Гц (чтобы не задеть полезный сигнал наклона) - // Т.к. частота опроса 1000 Гц, а точек 1024, индекс массива почти равен частоте в Гц - for (uint32_t i = 50; i < 450; i++) { - if (magnitudes[i] > top_mags[0]) { - // Сдвигаем старые значения - top_mags[2] = top_mags[1]; top_freqs[2] = top_freqs[1]; - top_mags[1] = top_mags[0]; top_freqs[1] = top_freqs[0]; - // Записываем новый топ-1 - top_mags[0] = magnitudes[i]; - top_freqs[0] = (float32_t)i; + for (int k = 0; k < 3; k++) { + float32_t max_val = 0.0f; + int32_t max_idx = -1; + + uint32_t search_start_bin = start_bin; + uint32_t search_end_bin = (FFT_SIZE / 2); + + if (filtered_freqs[k] > 1.0f) { + int32_t center_bin = (int32_t)(filtered_freqs[k] / freq_per_bin); + + if (center_bin < (int32_t)track_window_bins) { + search_start_bin = start_bin; + } else { + search_start_bin = (uint32_t)(center_bin - (int32_t)track_window_bins); + } + + search_end_bin = (uint32_t)(center_bin + (int32_t)track_window_bins); + if (search_end_bin > (FFT_SIZE / 2)) { + search_end_bin = (FFT_SIZE / 2); + } + } + + for (uint32_t i = search_start_bin; i < search_end_bin; i++) { + float32_t freq_hz = ((float32_t)i * DSP_SAMPLE_RATE_HZ) / FFT_SIZE; + + if (filtered_freqs[k] <= 1.0f) { + uint8_t too_close_to_locked = 0; + for (int locked = 0; locked < k; locked++) { + if (filtered_freqs[locked] > 1.0f && fabsf(freq_hz - filtered_freqs[locked]) < 40.0f) { + too_close_to_locked = 1; + break; + } + } + + if (too_close_to_locked) { + continue; + } + } + + uint8_t too_close = 0; + for (int j = 0; j < k; j++) { + if (current_iteration_freqs[j] > 1.0f && fabsf(freq_hz - current_iteration_freqs[j]) < 40.0f) { // Разнос 40Гц + too_close = 1; + break; + } + } + + if (!too_close && magnitudes[i] > max_val) { + max_val = magnitudes[i]; + max_idx = i; + } + } + + // Если нашли пик выше порога + if (max_idx != -1 && max_val > PEAK_THRESHOLD) { + current_iteration_freqs[k] = ((float32_t)max_idx * DSP_SAMPLE_RATE_HZ) / FFT_SIZE; + } else if (filtered_freqs[k] > 1.0f) { + // Если активный notch не нашел точку в окне, удерживаем текущую частоту, + // а не переводим его в гонку за соседним пиком. + current_iteration_freqs[k] = filtered_freqs[k]; } } - // 5. ПЕРЕНАСТРОЙКА ФИЛЬТРОВ в imu.c "на лету" - // динамически меняем частоты notch1, notch2, notch3 - if (top_mags[0] > 10.0f) biquad_init_notch(¬ch1, top_freqs[0], 1.0f, 1000.0f); - if (top_mags[1] > 10.0f) biquad_init_notch(¬ch2, top_freqs[1], 1.0f, 1000.0f); - if (top_mags[2] > 10.0f) biquad_init_notch(¬ch3, top_freqs[2], 1.0f, 1000.0f); + // Применяем задержку подтверждения и сглаживание к частотам + for (int k = 0; k < 3; k++) { + if (current_iteration_freqs[k] > 1.0f) { + freq_missing_frames[k] = 0; - // 6. Применяем биквадратный фильтр к входным данным - for (int i = 0; i < FFT_SIZE; i++) { - fft_input[i] = Biquad_Filter(fft_input[i]); + if (freq_seen_frames[k] < 255) { + freq_seen_frames[k]++; + } + + if (filtered_freqs[k] < 1.0f) { + if (freq_seen_frames[k] >= REQUIRED_STABLE_FRAMES) { + filtered_freqs[k] = current_iteration_freqs[k]; + } + } else { + float32_t alpha = SMOOTH_ALPHA; + + if (fabsf(current_iteration_freqs[k] - filtered_freqs[k]) > FAST_TRACK_DELTA_HZ) { + alpha = FAST_TRACK_ALPHA; + } + + filtered_freqs[k] = (alpha * current_iteration_freqs[k]) + + ((1.0f - alpha) * filtered_freqs[k]); + } + } else { + freq_seen_frames[k] = 0; + + if (freq_missing_frames[k] < 255) { + freq_missing_frames[k]++; + } + + if (freq_missing_frames[k] >= DISABLE_AFTER_MISSING_FRAMES) { + filtered_freqs[k] = 0.0f; + } + } } - dsp_buffer_ready = 0; // Разрешаем новый сбор данных + // 5. ПЕРЕНАСТРОЙКА ФИЛЬТРОВ + float32_t Notch_Q = 2.5f; // Чуть шире яма, чтобы лучше удерживать пик и ловить дрейф + + // Вызываем инициализацию только если частота > 0 + biquad_init_notch(¬ch1, filtered_freqs[0], Notch_Q, 1000.0f); + biquad_init_notch(¬ch2, filtered_freqs[1], Notch_Q, 1000.0f); + biquad_init_notch(¬ch3, filtered_freqs[2], Notch_Q, 1000.0f); + + // В телеметрию + dsp_notch_freqs[0] = (uint16_t)filtered_freqs[0]; + dsp_notch_freqs[1] = (uint16_t)filtered_freqs[1]; + dsp_notch_freqs[2] = (uint16_t)filtered_freqs[2]; + + dsp_buffer_ready = 0; } -// Прототип функции Biquad_Filter -float32_t Biquad_Filter(float32_t input); \ No newline at end of file +// Реализация функции Biquad_Filter +float32_t Biquad_Filter(float32_t input) { + float32_t output = b[0] * input + b[1] * x[1] + b[2] * x[2] - a[1] * y[1] - a[2] * y[2]; + + x[2] = x[1]; + x[1] = input; + y[2] = y[1]; + y[1] = output; + + return output; +} \ No newline at end of file diff --git a/dsp_manager.h b/dsp_manager.h index c45081e..af86986 100644 --- a/dsp_manager.h +++ b/dsp_manager.h @@ -4,18 +4,21 @@ #include "arm_math.h" // Размер окна Фурье (степень двойки) -#define FFT_SIZE 512 +// Уменьшен для экономии памяти +#define FFT_SIZE 256 +#define DSP_SAMPLE_RATE_HZ 1000.0f // Прототипы void DSP_Init(void); void DSP_AddSample(float32_t sample); // Добавить одну точку в "копилку" -void DSP_Process(void); // Запустить расчет (когда накопили 1024) +void DSP_Process(void); // Запустить расчет (когда накопили FFT_SIZE) -// Флаг готовности данных (чтобы main знал, когда пора вызывать Process) +// Объявление переменных extern uint8_t dsp_buffer_ready; +extern uint16_t sample_count; +extern volatile uint16_t dsp_notch_freqs[3]; // Добавление объявления переменной и прототипа функции -extern uint16_t sample_count; float32_t Biquad_Filter(float32_t input); #endif \ No newline at end of file diff --git a/fft_az.ewp b/fft_az.ewp index 4c76e34..971eac6 100644 --- a/fft_az.ewp +++ b/fft_az.ewp @@ -297,7 +297,7 @@