Skocz do zawartości

Biblioteka CMSIS (DSP) dla rodziny H7xx


DeadGeneratio

Pomocna odpowiedź

Dzień dobry forumowicze, dokładnie miesiąc temu męczyłem się z interfejsem SAI/I2S na rodzinie G4xx. Dla niewtajemniczonych tutaj link: 

Na początku napiszę, gdzie był problem w omawianym temacie. Płytka ta mogła pracować tylko w trybie Half Duplexu, co wymuszało wypuszczenie dwóch osobnych linii sygnału mastera MCKL, oraz dwóch osobnych linii serial clock SCKL. Dodatkowo nie były one zsynchronizowane między sobą, co oznacza, że przerwania także nie były i komunikacja potrafiła się rozjeżdżać. Rozwiązaniem problemu był zakup płytki umożliwiającej połączenie urządzeń za pośrednictwem I2S Full-Duplex. Padło akurat na rodzinę H7 z racji potężnej wydajności spośród wszystkich mikrokontrolerów. Zmiana ta pozwoliła na ustawienie transmisji ramki 24-bitowej z częstotliwością próbkowania do 192 kHz.

 

Poszukuję instrukcji, jak dodać bibliotekę CMSIS do projektu na płytkę STM32H723ZG. Chodzi mi konkretnie o CMSIS DSP - zamierzam używać wbudowanych funkcji filtrowania czy FFT. Natknąłem się na ogromną liczbę wersji biblioteki oraz poradników jak ją dodać, ale za każdym razem napotkałem jakieś problemy. Oficjalny plik z strony arm .pack po dodaniu do software manager wyrzuca błąd, natomiast próba wyszukania go w repozytoriach oferowanych przez STM32CubeIDE w tym samym miejscu nie pomaga - nie widać w ogóle takiej paczki. Próbowałem ręcznie dodać plik arm_math.h, core_cm7.h - tak mniemam, że dobry plik z racji posiadania cortex-m7, próbowałem z trzema różnymi wersjami bibliotek arm_cortex:M7l_math, M7lfsp_math, M7lfdp_math.lib. Z folderu DSP wyciągnąłem i dodawałem pliki od funkcji matematycznych o rozszerzeniu .c, i w ustawieniach projektu pododawałem odnośniki do folderów bibliotek oraz kompilatora GCC. Tracę pomału cierpliwość, spytałem się nawet ChatGPT, ale po tym jak podał pełną instrukcję jak wymienić płyn do kierunkowskazów w aucie, straciłem do niego zaufanie do końca. Czy ktoś mógłby poświęcić trochę czasu na opisanie krok po kroku co mam dodać, bądź posiada po polsku bądź angielsku instrukcję dla tej rodziny mikrokontrolerów? Zależy mi tylko na DSP, peryferiami będzie zarządzała biblioteka HAL - tak jak działa to normalnie.

  • Lubię! 1
Link do komentarza
Share on other sites

Spróbowałem dodać CMSIS DSP w najnowszej wersji  i chyba jednak wymaga ona cmake do poprawnej konfiguracji

Przynajmniej tak mi się wydaje, bo nie potrafiłem zintegrować tego z CubeIDE 1.9.0 bez "multiple definitions". Wydaje się, że nieźle tam nadźgali wielopoziomowych deklaracji.

Na szczęście miałem starsze wersje, która działa. 

W załączniku wersja na H750, którą wygenerowałem w CubeIDE i dodałem pliki CMSIS. Łatwo zauważysz co tam dodane.

Przejrzyj ustawienia projektu, sprawdź flagi i ścieżki, powinieneś bez problemu to zmodyfikować do swojego mikrokontrolera.

Gdyby były kłopoty to wygeneruję to dla właściwego procka.

CubeIDE_STM32H750.zip

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.