Skocz do zawartości

Kurs STM32 F4 - #4 - Pierwszy projekt, GPIO, przerwania


Pomocna odpowiedź

html_mig_img
Stworzenie programu dla mikrokontrolera STM32, wymaga tylko kilkunastu kliknięć! W tej części kursu skonfigurujemy projekt wykorzystując do tego generator kodu CubeMX.Poznamy podstawowe funkcje do obsługi portów GPIO. Sprawdzimy też jak w praktyce wygląda obsługa przerwań zewnętrznych.

UWAGA, to tylko wstęp! Dalsza część artykułu dostępna jest na blogu.

Przeczytaj całość »

Poniżej znajdują się komentarze powiązane z tym wpisem.

Link to post
Share on other sites

jkarczew, a sprawdzałeś korzystając z innej sieci? U mnie, podczas wczorajszego sprawdzania instrukcji przed publikacją artykułu, pobieranie nie sprawiło żadnego kłopotu.

Link to post
Share on other sites

Sprawdziłem na innej sieci ale było to samo. Ale można ten plik sciągnąć bezpośrednio ze strony stm i zainstalować wybierając nierozpakowany plik w help/install new libraries i kliknąć na from local i wskazać plik .zip.

  • Lubię! 1
Link to post
Share on other sites
Pierwsze pytanie: Jak skonfigurować eclipse aby bezpośrednio programował układ, a nie przez ST-Linka?

Nie wiem czy dobrze zrozumiałem Twoje pytanie, ale to o czym mówisz nie jest możliwe (a przynajmniej ja nie wiem o żadnym przystępnym sposobie osiągnięcia tego).

Mikrokontrolery STM32 mogą być programowane na dwa sposoby: za pomocą programatora (to co robimy teraz), lub z wykorzystaniem bootloadera. Nie jest to kwestia konfiguracji środowiska programistycznego, ale napisania odpowiedniego programu startowego (bootloadera) i wprowadzenia mikrokontrolera w odpowiedni tryb. Zagadnienie bardziej złożone, które zostanie opisane w jednym z kolejnych artykułów.

Podsumowując: nie da się po prostu podłączyć mikrokontrolera bezpośrednio do komputera i zaprogramować "ot tak" z Eclipse bez użycia dodatkowego sprzętu, bootloadera czy zewnętrznego oprogramowania.

Link to post
Share on other sites

Jedno słowo, a wprowadziło nieporozumienie 😃

Chodziło mi o ST-Link Utility.

Zdecydowanie wygodniej byłoby uruchamiać programowanie z poziomu eclipse (przycisk Run albo Debug) zamiast używania osobnej aplikacji.

Da się to zrobić bo w kursie z bibliotekami STD jest to opisane ale przy projekcie z Cube metoda z tamtego kursu nie działa.

Link to post
Share on other sites
Jedno słowo, a wprowadziło nieporozumienie 😃

Chodziło mi o ST-Link Utility.

Zdecydowanie wygodniej byłoby uruchamiać programowanie z poziomu eclipse (przycisk Run albo Debug) zamiast używania osobnej aplikacji.

Da się to zrobić bo w kursie z bibliotekami STD jest to opisane ale przy projekcie z Cube metoda z tamtego kursu nie działa.

Ojej, no to faktycznie wprowadziłeś zamieszanie, bo nie dość że spytałeś nie o to co chciałeś, to jeszcze zapomniałeś dodać na końcu "Utility", przez co Twoje pytanie dotyczyło programowania procka BEZ programatora bezpośrednio z IDE.

Tak, z Eclipse jak najbardziej można wgrywać i debugować program na mikrokontroler z wykorzystaniem programatora ST-Link (bez użycia ST-Link Utilty). W jednym z najbliższych artykułów będzie do dokładnie opisane 🙂

[ Dodano: 27-04-2016, 21:20 ]

Sprawdziłem na innej sieci ale było to samo. Ale można ten plik sciągnąć bezpośrednio ze strony stm i zainstalować wybierając nierozpakowany plik w help/install new libraries i kliknąć na from local i wskazać plik .zip.

Dziwny problem, przetestowałem ten mechanizm na prawie 100 komputerach i akurat tego problemu nie spotkałem ani razu. Fajnie że znalazłeś obejście.

Jak to (podobno) mówią w CallCenter, "Przepraszam Pana bardzo, ale ja na prawdę muszę zadać to pytanie. Czy próbował Pan wyłączyć i włączyć ponownie? (W tym wypadku przeinstalować na nowo Cube'a?)"

Link to post
Share on other sites
Dziwny problem, przetestowałem ten mechanizm na prawie 100 komputerach i akurat tego problemu nie spotkałem ani razu. Fajnie że znalazłeś obejście.

Jak to (podobno) mówią w CallCenter, "Przepraszam Pana bardzo, ale ja na prawdę muszę zadać to pytanie. Czy próbował Pan wyłączyć i włączyć ponownie? (W tym wypadku przeinstalować na nowo Cube'a?)"

Czasami są problemy których inni nie doświadczają, ale bardzo rzadko trafia na mnie 🙂 tym razem trafiło. A zawsze się dziwie jak ludzie opisują problemy które im się przytrafiają w trakcie prostej instalacji, myśle sobie "to chyba niemożliwe- u mnie było dobrze" 🙂.

Chyba wiem dlaczego- plik jest już w trakcie ściągania rozpakowywany i instalowany i tu mógł zawieść winrar. Odinstalować nie próbowałem bo problem był na dwóch kompach dokładnie taki sam.

Link to post
Share on other sites

Witam,

Po generacji kodu w Cube i zaimportowaniu go do Eclipe mam od razu 3 błędy. Załączam zrzut ekranu. Czy ktoś miał podobny problem? Jak go rozwiązać? Jedynym sposobem który do tej pory znalazłem jest wpisanie wartości na sztywno (SysTick_IRQn: -1, EXTI4_15_IRQn: 7).

Link to post
Share on other sites

U mnie to samo z błędem

Symbol 'SysTick_IRQn' could not be resolved main.c /01_GPIO/Src line 129

ale o dziwo program da się skompilować i po wgraniu do procka działa.

Gdy wcisnę Ctrl+ lewy p. myszy na 'SysTick_IRQn' to pojawia się poniższa ramka.

Ale dlaczego mamy błąd i jak się go pozbyć??

Link to post
Share on other sites
U mnie to samo z błędem

Symbol 'SysTick_IRQn' could not be resolved main.c /01_GPIO/Src line 129

Proponuje w Cube w "Project settings" Toolchain/IDE i wyborze SW4STM32 ODZNACZYĆ opcje "generate under root".

Link to post
Share on other sites
Czasami są problemy których inni nie doświadczają, ale bardzo rzadko trafia na mnie 🙂 tym razem trafiło. A zawsze się dziwie jak ludzie opisują problemy które im się przytrafiają w trakcie prostej instalacji, myśle sobie "to chyba niemożliwe- u mnie było dobrze" 🙂.

Chyba wiem dlaczego- plik jest już w trakcie ściągania rozpakowywany i instalowany i tu mógł zawieść winrar. Odinstalować nie próbowałem bo problem był na dwóch kompach dokładnie taki sam.

Miałam ten sam problem, 39.1MB i stop, odinstalowanie Cube'a nic nie dało, ale sposób z samodzielną instalacją pliku .zip zadziałał 🙂 Dzięki!

Link to post
Share on other sites

Co zrobić, żeby pod 'młotkiem' działała opcja Release? Ustawiam preset dla release z predefiniowanych dla AC6 ale mam błędy (to dla płytki discovery, dla gołego uC jest to samo):

19:08:04 **** Incremental Build of configuration rel_1 for project disco_1 ****
make all 
'Building file: C:/work_swstm/disco_1/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c'
'Invoking: MCU GCC Compiler'
C:\work_swstm\disco_1\SW4STM32\disco_1\rel_1
arm-none-eabi-gcc -mthumb -mfloat-abi=soft -O3 -Wall -fmessage-length=0 -ffunction-sections -c -MMD -MP -MF"Drivers/STM32F4xx_HAL_Driver/stm32f4xx_hal.d" -MT"Drivers/STM32F4xx_HAL_Driver/stm32f4xx_hal.o" -o "Drivers/STM32F4xx_HAL_Driver/stm32f4xx_hal.o" "C:/work_swstm/disco_1/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c"
C:/work_swstm/disco_1/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c:54:27: fatal error: stm32f4xx_hal.h: No such file or directory
compilation terminated.
make: *** [Drivers/STM32F4xx_HAL_Driver/stm32f4xx_hal.o] Error 1

19:08:05 Build Finished (took 343ms)
Link to post
Share on other sites

Witam.

Mnie przy pierwszej części

(zaświecenie diody) pojawia się błąd w linijce

HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);

jak zakomentuję to dalej leci ok i kompiluje się.

Problem znika kiedy przechodzę do części związanej z przerwaniami.

Mam wrażenie, że w pierwszej części jakiegoś kroku konfiguracyjnego brakuje,
który ustawi ten SysTick w NVIC.

Pozdrawiam

Zuk

Link to post
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.