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 0000000..7eb12e8 Binary files /dev/null and b/Debug/.cache/clangd/index/DLib_Product_string.h.1DBAAC6022C26FBB.idx differ diff --git a/Debug/.cache/clangd/index/arm_math.h.3AAA648B3CFA8984.idx b/Debug/.cache/clangd/index/arm_math.h.3AAA648B3CFA8984.idx new file mode 100644 index 0000000..eaf3bd6 Binary files /dev/null and b/Debug/.cache/clangd/index/arm_math.h.3AAA648B3CFA8984.idx differ diff --git a/Debug/.cache/clangd/index/dsp_manager.c.6CC0D5AAAF07899B.idx b/Debug/.cache/clangd/index/dsp_manager.c.6CC0D5AAAF07899B.idx index b7e4b6a..60757aa 100644 Binary files a/Debug/.cache/clangd/index/dsp_manager.c.6CC0D5AAAF07899B.idx and b/Debug/.cache/clangd/index/dsp_manager.c.6CC0D5AAAF07899B.idx differ diff --git a/Debug/.cache/clangd/index/dsp_manager.h.0157A91E237F9ECC.idx b/Debug/.cache/clangd/index/dsp_manager.h.0157A91E237F9ECC.idx new file mode 100644 index 0000000..722a9be Binary files /dev/null and b/Debug/.cache/clangd/index/dsp_manager.h.0157A91E237F9ECC.idx differ 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 0000000..3874cf7 Binary files /dev/null and b/Debug/.cache/clangd/index/float.h.11777CB42F7D57DD.idx differ diff --git a/Debug/.cache/clangd/index/imu.c.B3AACC478BCE1474.idx b/Debug/.cache/clangd/index/imu.c.B3AACC478BCE1474.idx index dba894a..8dd7e7a 100644 Binary files a/Debug/.cache/clangd/index/imu.c.B3AACC478BCE1474.idx and b/Debug/.cache/clangd/index/imu.c.B3AACC478BCE1474.idx differ diff --git a/Debug/.cache/clangd/index/imu.h.C212CB2BB06D5AA4.idx b/Debug/.cache/clangd/index/imu.h.C212CB2BB06D5AA4.idx index 03b3893..0861a21 100644 Binary files a/Debug/.cache/clangd/index/imu.h.C212CB2BB06D5AA4.idx and b/Debug/.cache/clangd/index/imu.h.C212CB2BB06D5AA4.idx differ diff --git a/Debug/.cache/clangd/index/limits.h.33BF70061693AC4F.idx b/Debug/.cache/clangd/index/limits.h.33BF70061693AC4F.idx new file mode 100644 index 0000000..4b56f30 Binary files /dev/null and b/Debug/.cache/clangd/index/limits.h.33BF70061693AC4F.idx differ diff --git a/Debug/.cache/clangd/index/main.c.3730E6FA7C0A9185.idx b/Debug/.cache/clangd/index/main.c.3730E6FA7C0A9185.idx index 69c63df..f4b46bb 100644 Binary files a/Debug/.cache/clangd/index/main.c.3730E6FA7C0A9185.idx and b/Debug/.cache/clangd/index/main.c.3730E6FA7C0A9185.idx differ diff --git a/Debug/.cache/clangd/index/string.h.3A5B3B0F731D76B3.idx b/Debug/.cache/clangd/index/string.h.3A5B3B0F731D76B3.idx new file mode 100644 index 0000000..32a8807 Binary files /dev/null and b/Debug/.cache/clangd/index/string.h.3A5B3B0F731D76B3.idx differ diff --git a/Debug/.cache/clangd/index/ysizet.h.6D4D9B4B791F4083.idx b/Debug/.cache/clangd/index/ysizet.h.6D4D9B4B791F4083.idx new file mode 100644 index 0000000..83fd68c Binary files /dev/null and b/Debug/.cache/clangd/index/ysizet.h.6D4D9B4B791F4083.idx differ diff --git a/Debug/.ninja_deps b/Debug/.ninja_deps index 3ffa1ea..2850055 100644 Binary files a/Debug/.ninja_deps and b/Debug/.ninja_deps differ 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 0000000..1b46d8e Binary files /dev/null and b/Debug/Exe/fft_az.out differ 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 fb0b547..878e4ca 100644 Binary files a/Debug/Exe/fft_az.sim and b/Debug/Exe/fft_az.sim differ diff --git a/Debug/List/fft_az.map b/Debug/List/fft_az.map index c80f2e3..40c7205 100644 --- a/Debug/List/fft_az.map +++ b/Debug/List/fft_az.map @@ -1,6 +1,6 @@ ############################################################################### # -# IAR ELF Linker V9.70.1.475/W64 for ARM 19/May/2026 13:41:59 +# IAR ELF Linker V9.70.1.475/W64 for ARM 20/May/2026 18:19:37 # Copyright 2007-2025 IAR Systems AB. # # Output file = @@ -32,21 +32,6 @@ # ############################################################################### -******************************************************************************* -*** MESSAGES -*** - -Error[Li005]: no definition for "Biquad_Filter" [referenced from - C:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\dsp_manager.o] -Error[Li005]: no definition for "dsp_buffer_ready" [referenced from - C:\Users\vadychka\Documents\GitHub\leybl\fft\Debug\Obj\dsp_manager.o] -Error[Lp011]: section placement failed - unable to allocate space for sections/blocks with a total estimated - minimum size of 0x1'fe48 bytes (max align 0x4) in - <[0x800'0000-0x801'ffff]> (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 a4626bc..2465747 100644 Binary files a/Debug/Obj/dsp_manager.o and b/Debug/Obj/dsp_manager.o differ diff --git a/Debug/Obj/imu.o b/Debug/Obj/imu.o deleted file mode 100644 index f30c7ec..0000000 Binary files a/Debug/Obj/imu.o and /dev/null differ diff --git a/Debug/Obj/main.o b/Debug/Obj/main.o index 2d44936..876964d 100644 Binary files a/Debug/Obj/main.o and b/Debug/Obj/main.o differ diff --git a/Debug/Obj/motors.o b/Debug/Obj/motors.o index 8751ef5..a611f9b 100644 Binary files a/Debug/Obj/motors.o and b/Debug/Obj/motors.o differ diff --git a/Debug/Obj/system_stm32g4xx.o b/Debug/Obj/system_stm32g4xx.o index 9e8df97..710a294 100644 Binary files a/Debug/Obj/system_stm32g4xx.o and b/Debug/Obj/system_stm32g4xx.o differ 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 @@