Skocz do zawartości

Problem z kompilacją programu na F0


lelo

Pomocna odpowiedź

@lelo witam na forum 🙂 Chętnie pomożemy, ale przydałby się jakieś szczegóły. Jak dokładnie wygląda Twój program, z której wersji środowiska korzystasz, czy wszystko przebiegło tak jak w kursie? Jak sam widzisz nikt inny nie zgłaszał ostatnio takich problemów, więc to musi być jakiś problem związany konkretnie Twoją instalacją.

Link do komentarza
Share on other sites

(edytowany)
Dnia 6.01.2021 o 15:58, Treker napisał:

@lelo witam na forum 🙂 Chętnie pomożemy, ale przydałby się jakieś szczegóły. Jak dokładnie wygląda Twój program, z której wersji środowiska korzystasz, czy wszystko przebiegło tak jak w kursie? Jak sam widzisz nikt inny nie zgłaszał ostatnio takich problemów, więc to musi być jakiś problem związany konkretnie Twoją instalacją.

@Treker

wersja programu to:

Eclipse IDE for C/C++ Developers

Version: Neon.3 Release (4.6.3)
Build id: 20170314-1500
program wygląda jak w kursie 

wszystko przebiegało tak jak w kursie

ps zmieniam bibliotekę "stm32f1xx.h" na "stm32f0xx.h" ponieważ posiadam inną płytkę (F091RC)

Edytowano przez lelo
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

Właśnie niedawno rozpocząłem swoją przygodę z STM32 Cube.Zacząłem od sławetnego blinka. Programowanie STM32 w Arduino ma swoje ograniczenia.Mam płytkę stm32f103CBTx  i na początku nie mogłem skonfigurować  CLK na częstotliwość 72MHz tylko 64MHz do czasu kiedy to doczytałem,że w RCC należy ustawić Crystal/Ceramic resonator.Jestem na etapie poznawania timerów i w związku  z tym przetłumaczyłem sobie plik STM-a AN 4013.Przy okazji wyszło,że dokumentacja STM32 to kilkanaście a kto wie czy nie kilkadziesiąt tysięcy stron.W tym pliku STM zachęca do korzystania z przykładów,które trzeba odnaleźć zainstalować i przeanalizować.Pozwól,ze zacytuję wstęp tego dokumentu

Wprowadzenie
Celem tego dokumentu jest:
• Przedstawienie przeglądu urządzeń peryferyjnych z zegarem dla serii produktów STM32
wyszczególnionych w Tabeli 1 .
• Opis różnych trybów i specyficznych funkcji timera, takie jak źródła zegara.
• Wyjaśnienie, jak korzystać z dostępnych trybów i funkcji.
• Wyjaśnienie, jak obliczyć podstawę czasu w każdej konfiguracji.
• Opis sekwencji synchronizacji timera i zaawansowanych funkcji silnika,
aplikacje sterujące, oprócz trybów timera ogólnego przeznaczenia.
Dokument zawiera typowe konfiguracje i implementację dla każdego trybu - przykłady.W
pozostałej części tego dokumentu (o ile nie określono inaczej), używany jest termin seria
STM32xx aby odnieść się do serii produktów wymienionych w Tabeli 1 .

Na końcu tego dokumentu jest taki zapis:

"STMicroelectronics NV i jego spółki zależne („ST”) zastrzegają sobie prawo do wprowadzania zmian, poprawek, ulepszeń, modyfikacji i ulepszenia produktów ST i / lub tego dokumentu w dowolnym momencie bez powiadomienia. Nabywcy powinni uzyskać aktualne informacje na temat produktów ST przed złożeniem zamówienia."  Oznacza to,że dokładnie należy przeczytać to co jest nadrukowane na mikrokontrolerze.Z mojej praktyki wynika,że kupując stm32f103C8T6 otrzymałem stm32f103CBTx czyli zamiast 64kB pamięci otrzymałem produkt lepszy i nowszy  z rozmiarem pamięci 128kB

Następnym dokumentem z którym się zapoznam jest UM1725   Description of STM32F4 HAL and low-layer drivers bo dobrze jest wiedzieć jak używać bibliotek HAL i jakie są w dyspozycji sterowniki(2173 stron) i niestety albo stety należy się temu przyjrzeć i to dokładnie.

Administratorzy tego forum zawsze proszą osoby piszące artykuły by posługiwali się prostymi zdaniami co powoduje,że wykład jest zrozumiały dla wszystkich.Proszą by nie było żadnych skrótów myślowych oraz tych wynikających z działania   praktycznego.

Reasumując nikt za Ciebie nie wykona tytanicznej pracy polegającej na zapoznaniu się z dokumentacją STM32 i zastosowaniu  przynajmniej w części w praktyce.Zawsze korzystaj z informacji  źródłowych a nie z drugiej ręki  bo może się okazać( a dzieje się tak często),że po transformacji wiedza jest niepełna a urządzenie nie działa jak należy a w głowie jest mętlik.

Link do komentarza
Share on other sites

@szymonw próg wejścia w STMy jest naprawdę duży, ST robi podejścia do ułatwienia tego i moim zdaniem coś się udało, bo porównując jak to wyglądało kilka lat temu to teraz przynajmniej są darmowe oficjalne środowiska programistyczne, a nie jakiś Coocox od chińczyka 😉 

Pomimo to temat dalej jest trudny, próg wejścia kosmiczny - w przypadku AVR bez problemu da się kupić mikrokontroler, wgrać i będzie działać - sam zaczynałem od AVR, a później z lenistwa i szybkości tworzenia kodu poszedłem w Arduino. Z STM nie wiem jaki odsetek dotknął kiedyś własnoręcznie zmontowaną płytkę z osobno zakupionym scalakiem. Porównując z Arduino to jest niebo a ziemia, ale też możliwości są nieporównywalne.

Kursy Forbota na pewno dają możliwość spróbowania tematu, potestowania tego i tamtego i wyciągnięcia wniosków. Dalsza podróż to jak piszesz: studiowanie budowy konkretnego układu, z którym spędzi się wiele bolesnych i radosnych godzin. 😄 

Link do komentarza
Share on other sites

Dnia 6.01.2021 o 02:03, lelo napisał:

jak próbuje zkompilować to wywala mi errora nic nie edytowałem

ygh.PNG

Cześć,

tryb   "GPIO_MODE_AF_iNPUT" nie jest zdefiniowany w bibliotekach HAL dla STM32F0. Pokaż gdzie w kursie dla STM32F1  HAL jest użyty ten tryb bo też nie mogę znaleźć?

Pozdrawiam

Link do komentarza
Share on other sites

Zainstaluj sobie STM32CUBEIDE zamiast Eclipse. W Eclipse miałem niedawno problem z dołączeniem pliku(biblioteki do OLED)pomimo "poprawnego" dołączania. Zainstalowałem STM32CUBEIDE problem zniknął od razu. 

Używałem Eclipse razem z STM32CUBEMX. Napisałem jakiś, program było ok. Potem skonfigurowałem sobie peryferia(DAC) na STM32CUBEMX, wygenerowałem kod do Eclipse i środowisko wyrzucało błędy dotyczące DAC, pomimo ich automatycznego wygenerowania przez STM32CUBEMX.

Zainstalowałem sobie STM32CUBEIDE, zrobiłem to samo, i fajnie się wszystko skompilowało.

  • Nie zgadzam się! 1
Link do komentarza
Share on other sites

Jakiś czas temu,nieodległy,STM przejął Eclipse i ten Eclipse jest w łańcuchu narzędzi STM32Cube.Przeczytaj  plik UM1718.Źle zainstalowane narzędzia prowadzą donikąd.W tym pliku jest rozdział poświęcony instalacji programu i radzę zapoznać się z nim by wszystko było jasne.

Link do komentarza
Share on other sites

Dnia 18.01.2021 o 23:07, Feynman napisał:

Zainstaluj sobie STM32CUBEIDE zamiast Eclipse. W Eclipse miałem niedawno problem z dołączeniem pliku(biblioteki do OLED)pomimo "poprawnego" dołączania. Zainstalowałem STM32CUBEIDE problem zniknął od razu.

Zainstalowałem sobie STM32CUBEIDE, zrobiłem to samo, i fajnie się wszystko skompilowało.

Cześć,

obawiam się, że jeśli definicji "GPIO_MODE_AF_iNPUT" nie ma w bibliotekach HAL (źródła) dla STM32F0, to zainstalowanie innego narzędzia nie rozwiąże problemu kompilacji.

BTW: STM32CubeIDE jest tak samo oparte na Eclipse jak "System Workbench For STM32"

Pozdrawiam

Edytowano przez FlyingDutch
dodanie treści
  • Lubię! 1
Link do komentarza
Share on other sites

3 godziny temu, szymonw napisał:

Jakiś czas temu,nieodległy,STM przejął Eclipse i ten Eclipse jest w łańcuchu narzędzi STM32Cube

Chyba się jednak trochę zagalopowałeś, co najwyżej kupił Atolica z ich TrueStudio, które było bazą na CubeIDE. Eclipse to inna bajka.

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

Cześć,

@szymonw popatrz sobie na perspektywy i układ menu oraz  funkcje IDE. Bardzo łatwo da się rozpoznać, że "STMCubeIDE" jest oparty na Eclipse. "TrueStudio" także było oparte na Eclipse. Za długo używałem Eclipse (gdzieś od roku 2003), aby nie rozpoznać układu perspektyw i okien aplikacji.

Eclipse było napisane przez firmę IBM, a potem jego kod został uwolniony (Open Source). Na dzień dzisiejszy Eclipse jest nadal projektem "Open Source". Patrz linki:

https://pl.wikipedia.org/wiki/Eclipse

https://www.eclipse.org/

To jedna kwestia, a druga to fakt iż zmiana narzędzia nie usunie błędów kompilacji ponieważ opisywany tryb pinów GPIO nie jest zadeklarowany w bibliotece HAL dl STM32F0.

Pozdrawiam

Dnia 18.01.2021 o 23:07, Feynman napisał:

Zainstaluj sobie STM32CUBEIDE zamiast Eclipse. W Eclipse miałem niedawno problem z dołączeniem pliku(biblioteki do OLED)pomimo "poprawnego" dołączania. Zainstalowałem STM32CUBEIDE problem zniknął od razu. 

Używałem Eclipse razem z STM32CUBEMX. Napisałem jakiś, program było ok. Potem skonfigurowałem sobie peryferia(DAC) na STM32CUBEMX, wygenerowałem kod do Eclipse i środowisko wyrzucało błędy dotyczące DAC, pomimo ich automatycznego wygenerowania przez STM32CUBEMX.

Zainstalowałem sobie STM32CUBEIDE, zrobiłem to samo, i fajnie się wszystko skompilowało.

Cześć,

piszę komercyjnie aplikacje embedded od kilku ładnych lat, większość właśnie opartych na STM32 i moje doświadczenia są całkowicie odmienne od twoich. Wolę wykorzystywać dwie osobne aplikacje "STMCubeMx" oraz "System Workbench for STM32. Dlaczego:

1) Ponieważ do niedawna w "STM32CubeIDE" nie było bibliotek HAL dla serii STM32MP1xx" (i dla kilku innych serii STM32)

2) Ponieważ "STM32CubeIDE" miało mnóstwo błędów uniemożliwiających jego komercyjnego używania

3) Ponieważ używanie dwóch aplikacji dawało mi dużo większą elastyczność w  generowania kodu (nigdy nie spotkałem się z błędami podobnymi do tych które opisujesz)

Komuś coś się nie kompiluje (bo nie zauważył że definicji której używa nie ma w bibliotece HAL dla danego typu MCU, a Ty mu piszesz: zmień kompilator bo ten którego używasz jest "Be", Rozpowszechnianie takich informacji wprowadza wielu ludzi w błąd.

Pozdrawiam

 

 

Edytowano przez FlyingDutch
  • Lubię! 1
  • Nie zgadzam się! 1
  • Pomogłeś! 1
Link do komentarza
Share on other sites

Napisałem, że jest "Be", bo jak wspomniałem coś co powinno było działać i było opisywane w kursie np. zwykłe dołączenie bilbioteki nie zadziałało mi na eclipse + stm32cubemx, zaś na stm32cubeide "poszło od strzała" mimo, że rozwiązanie na kursie było pod eclipsa.

Ziomeczek który jest bardzo ogarnięty jeżeli chodzi o programowanie elektroniki polecił mi to IDE. 

Cytat

1) Ponieważ do niedawna w "STM32CubeIDE" nie było bibliotek HAL dla serii STM32MP1xx" (i dla kilku innych serii STM32)

Czyli wychodzi na to, że teraz są, więc argument jest bez sensu.

Cytat

2) Ponieważ "STM32CubeIDE" miało mnóstwo błędów uniemożliwiających jego komercyjnego używania

Słowo klucz "miało".

W czasie pisania kursu na stm32f4discovery nie było problemu, który opisałem wyżej, natomiast teraz jest.

Cytat

3) Ponieważ używanie dwóch aplikacji dawało mi dużo większą elastyczność w  generowania kodu (nigdy nie spotkałem się z błędami podobnymi do tych które opisujesz)

Czyli elastyczniejsze jest używanie 2 programów zamiast 1? -,-

Cytat

(nigdy nie spotkałem się z błędami podobnymi do tych które opisujesz)

 to zobacz sobie na kurs o SPI OLED na stm32f4discovery i pokaż czy nie wyświetlą się błędy przy dołączaniu biblioteki. W komentarzach widać było, że inny użytkownik też miał z tym problem. 

 

Edytowano przez Feynman
-
Link do komentarza
Share on other sites

15 godzin temu, Feynman napisał:

Napisałem, że jest "Be", bo jak wspomniałem coś co powinno było działać i było opisywane w kursie np. zwykłe dołączenie bilbioteki nie zadziałało mi na eclipse + stm32cubemx, zaś na stm32cubeide "poszło od strzała" mimo, że rozwiązanie na kursie było pod eclipsa.

Ziomeczek który jest bardzo ogarnięty jeżeli chodzi o programowanie elektroniki polecił mi to IDE.

Cześć,

co rozumiesz przez eclipse, bo nawet to nie jest jasne w twoim poście? Jak twój pierwszy post ma się do rozwiązania problemów z kompilacją opisanych przez kolegę wątkotwórcę.?

A mnie misiu Yogi polecił używanie Vim'a do programowania STM32, a jak wszyscy wiedzą misiu Yogi jest najbardziej ogarnięty jeśli chodzi o programowanie elektroniki.

Pozdrawiam

Edytowano przez FlyingDutch
update
Link do komentarza
Share on other sites

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.