HomeMade

Pełna wersja: STM32F4 Discovery
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2
Współczesne możliwości procesorów 8 bitowych zupełnie mi wystarczały do budowania nawet bardzo skomplikowanych urządzeń. Kilka procesorów oprogramowanych w assemblerze współpracujących ze sobą potrafi zrealizować naprawdę rozbudowany algorytm. Niestety tam gdzie potrzebne są setki MIPS-ów takie procesorki jak AVR czy Xmega są "za krótkie".

Z tego powodu coraz poważniej myślę o zabraniu się za najmocniejsze Cortexy. Ze względu na bardzo korzystny stosunek mocy obliczeniowej do ceny najbardziej interesuje mnie rdzeń M4. Na początek myślę o zabawie w oparciu o moduł STM32F4 Discovery. Stąd nowy wątek na forum i kilka pytań do Czytelników forum:

- czy macie jakieś doświadczenia z tym procesorem i modułem;
- jakiego środowiska używacie do pisania oprogramowania, interesują mnie tylko pełne wersje;
- jakieś ciekawe linki do stron ułatwiających start z tym procesorem;
- polecana literatura przydatna przy poznawaniu tego procesora;

STM32F4 Discovery - pierwsze wrażenie
Przykładowe aplikacje na STMF4Discovery
STM32F4 Discovery - wybrany moduł jako przykład z opisem, nie oferta kupna.
STM32F4Discovery na stronie ST
STM32F4xx Reference manual na stronie ST

Dlaczego ten moduł:
- bardzo dobra cena za procesor z programatorem STlink;
- dość popularny moduł w środowisku początkujących programistów pod ARM-y;
- możliwość testów funkcji pod DSP;

Może udałoby się stworzyć małą grupkę do nauki oprogramowania tego modułu. Kilka działających i dobrze opisanych aplikacji da więcej niż samodzielne studiowanie różnych publikacji.
Hej,

Ja już dosyć dawno nabyłem taki moduł właśnie z myślą o przećwiczeniu jakiegoś DSP do radia. Niestety z braku czasu głównie leży on w szufladzie.

Pierwsze próby z miganiem diodą przeprowadziłem używając środowiska CooCox. Jest to darmowe IDE współpracujące z toolchainem opartym o gcc. Jak dla mnie wydaje się całkiem fajne, instalacja i konfiguracja jest dużo łatwiejsza niż często używane Eclipse.

Dostępna jest darmowa książka http://www.cs.indiana.edu/~geobrown/book.pdf. Co prawda dotyczy ona rodziny STM32 F1, ale dość jasno opisuje progarmowanie ARMów z rdzeniami Cortex M. Czytając ją razem z dokumentacją od producenta (a jest jej baaardzo dużo) nie powinno być trudno przenieść przykłady na rodzinę F4.

Bardzo chętnie przyłączę się do grupowej nauki Smile

Przemek
Dla mnie priorytetem jest brak ograniczeń kodu oraz łatwość instalacji i konfiguracji środowiska pod Windows-y. Ograniczenie kodu do 32kB kiedy używamy procesora z pamięcią 512kB jest nieporozumieniem. Nie chciałbym również po wykonaniu kilku prostych ćwiczeń zmieniać środowiska pod większy projekt.
Po zapoznaniu się różnymi opiniami zdecydowałem się również na CooCox-a póki jeszcze jest bezpłatny.

CooCox CoIDE i STM32F4Discovery – jak zacząć?

Największym problemem dla mnie jest przestawienie się na pisanie softu bazującego na bibliotekach. Być może plusem takiego podejścia jest łatwiejszy start z nowym procesorem bez potrzeby rzetelnego przestudiowania dokumentacji procesora.

Zainteresowania tematem nie widzę, szkoda bo moduł Discovery do nauiki a nawet pierwszych projektów jest fajny a procesory ARM są coraz popularniejsze i mają szansę zdominować ten obszar na wiele lat.
(25-04-2014 10:41)SP5FCS napisał(a): [ -> ]Największym problemem dla mnie jest przestawienie się na pisanie softu bazującego na bibliotekach. Być może plusem takiego podejścia jest łatwiejszy start z nowym procesorem bez potrzeby rzetelnego przestudiowania dokumentacji procesora.
Nie musisz tego robić na bibliotekach. Całej dokumentacji nie musisz od razu studiować - ja zaglądam tylko do działu odnoszącego się do danego problemu. Nie da się ogarnąć naraz instrukcji , która ma około 1500 stron Smile
(25-04-2014 10:41)SP5FCS napisał(a): [ -> ]... a procesory ARM są coraz popularniejsze i mają szansę zdominować ten obszar na wiele lat.
Moim skromnym zdaniem już jakiś czas temu zdominowały ...
Zwracam uwagę na firmę Kamami/BTC. Wydali dwie książki o STM32 (jedna jest w sieci) i maja dużo różnych modułów i procesorów. Pod tym linkiem są ćwiczenia do jednej z tych książek (pod Keil uVison):
http://www.mikrokontroler.pl/system/file...ewski.zip. Zwróćcie szczególnie uwagę na katalog "wzorzec" - są tam początkowe ustawienia procesora. A tak w ogóle, to interesował się ktoś procesorami DSP f-my Analog Devices? Do takiego np. ADAU1701 jest graficzny system programowania (Sigma Studio) i symulator. AVT nawet ma kit w swojej ofercie.

Dodane sp5fcs:
- link do książek z BTC

Na samym dole strony jest plik z przykładami.
Zacząłem się zajmować STM32 z wykorzystaniem STM32CubeMX oraz Ide Atolic TrueSTUDIO. Przypadła mnie do gustu pozycja z 2019 "STM32 dla początkujących" Aleksandra Kurczyka. Są tam fajne przykłady, ale mam problem z przekładem #7 (str.110). Są tam ewidentne błędy w plikach *.C i *.H. Czy komuś udało się opanować ten przykład?
Jakiś link do tych przykładów. Nie posiadam w/w książki, ale mogę spróbować pomóc. Czym się objawiają te błędy ?
Witam i z góry bardzo dziękuję za gotowość do pomocy.
Jest to przykład z wyświetlaczem 2.8" TFT z ekranem dotykowym z nakładką Arduino, bo pasuje do zestawu z STM32F411CEUx, który posiadam.
Podaję link do przykładów, jest to przykład "r7-01": [attachment=15868]
Załączam też plik konfiguracyjny "IOC" dla STM32CubeMX z tego przykładu: [attachment=15869]
Niestety w książce pliki mają często zupełnie inne zawartości ale nie tylko. Ale jeśli uda się uruchomić przykład "r7" z samego ZIP-a to będzie super.
73 Bogdan SP3IQ.
Bogdanie, u mnie przykład r7-01 z zip-a kompiluje się poprawnie.
Jest jeden warning mówiący o tym, że zmienna chTemp może nie być nigdy zainicjalizowana - plik LCD.c, linia 124. Należy ją poprawić na
Kod:
uint8_t i, j, chTemp = FONT_1608;
aby nie miała przypadkowej wartości i aby kompilator nie pluł warningiem.

Przypisanie pinów LCD można ręcznie zmienić w definicjach w pliku main.h, jeżeli LCD Ci nie chce ruszyć, aby były zgodne z Twoją nakładką arduino.

Nie podałeś, jakie masz niezgodności w plikach *.c i *.h - za mało informacji opisałeś.

Jako, że nie mam obecnie możliwości wgrać przykładu do stm32F411, przesyłam skompilowany plik *.bin do sprawdzenia.
[attachment=15873]
[attachment=15874]
Bogdanie,
przykład się kompiluje pod Atollic'iem bez błędów, jedynie z pomijalnym warningiem o którym Paweł wspomniał.

[attachment=15877]

Projekt powinien być zaimportowany do Workspace'a za pomocą polecenia File->Import->Existing Project into Workspace:

[attachment=15878]
Stron: 1 2
Przekierowanie