Skocz do zawartości
Ważne ogłoszenie » Kliknij i sprawdź informacje o nowym forum! Czytaj dalej... ×
Komentator

Kurs STM32 - #3 - Płytka Nucleo, konfiguracja środowiska

Recommended Posts

html_mig_img
W poprzedniej części kursu zapoznaliśmy się z mikrokontrolerem STM32F103, na którym będą bazowały nasze przykłady.W tej części zajmiemy się instalacją środowiska oraz poznaniem płytki Nucleo. Wgramy również pierwszy program.

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.

Udostępnij ten post


Link to post
Share on other sites

Coś u mnie nie działa, mam płytkę STM32 NUCLEO-F303RE, podczas kompilacji pojawia się problem, że nie zlokalizował pliku: "stm32f30x.h" a on znajduje się przecież w CMSIS/device, jak to naprawić?

Udostępnij ten post


Link to post
Share on other sites

Witam,

czy do nauki mogę wykorzystywać NUCLEO-L053R8, gdyż takim dysponuję, czy mam zakupić NUCLEO-F103RB?

Udostępnij ten post


Link to post
Share on other sites

yh1198, jeśli chcesz uczyć się z naszego kursu i ominąć wszelkie problemy, to najlepiej byłoby się wyposażyć w odpowiednią płytkę lub przygotowany zestaw. Listę dostępnych opcji znajdziesz w pierwszej części: Kurs STM32 – #1 – Zaczynamy! Spis Treści

Udostępnij ten post


Link to post
Share on other sites

kost, sprawdziłem i dla F303RE projekt kompiluje się bez problemu. Czy wybrałeś dokładnie takie opcje jak w przykładach (poza płytką oczywiście)?

Udostępnij ten post


Link to post
Share on other sites

Tak, krok po kroku, różnica u mnie była taka, że nie miałem folderu Utilities.

Udostępnij ten post


Link to post
Share on other sites

Ja wybrałem płytkę NUCLE F303RE, bibliotekę StdPeriph, dołączaną jako źródła - projekt został wygenerowany poprawnie, kompiluje się bez problemu.

Fakt, w wersji dla F3 nie ma katalogu Utilities.

Udostępnij ten post


Link to post
Share on other sites

To jest kopia z konsoli:

20:21:39 **** Build of configuration Debug for project STM32_jeden ****
make all 
'Building file: ../startup/startup_stm32.s'
'Invoking: MCU GCC Assembler'
C:\Users\ťukasz\workspace\STM32_jeden\Debug
arm-none-eabi-as -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -I"C:/Users/Łukasz/workspace/STM32_jeden/inc" -I"C:/Users/Łukasz/workspace/STM32_jeden/CMSIS/core" -I"C:/Users/Łukasz/workspace/STM32_jeden/CMSIS/device" -I"C:/Users/Łukasz/workspace/STM32_jeden/StdPeriph_Driver/inc" -g -o "startup/startup_stm32.o" "../startup/startup_stm32.s"
'Finished building: ../startup/startup_stm32.s'
' '
'Building file: ../src/main.c'
'Invoking: MCU GCC Compiler'
C:\Users\ťukasz\workspace\STM32_jeden\Debug
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -DSTM32F30 -DNUCLEO_F303RE -DSTM32F3 -DSTM32F303RETx -DSTM32 -DDEBUG -DUSE_STDPERIPH_DRIVER -DSTM32F303xE -I"C:/Users/Łukasz/workspace/STM32_jeden/inc" -I"C:/Users/Łukasz/workspace/STM32_jeden/CMSIS/core" -I"C:/Users/Łukasz/workspace/STM32_jeden/CMSIS/device" -I"C:/Users/Łukasz/workspace/STM32_jeden/StdPeriph_Driver/inc" -O0 -g3 -Wall -fmessage-length=0 -ffunction-sections -c -MMD -MP -MF"src/main.d" -MT"src/main.o" -o "src/main.o" "../src/main.c"
../src/main.c:12:23: fatal error: stm32f30x.h: No such file or directory
#include "stm32f30x.h"
                      ^
compilation terminated.
make: *** [src/main.o] Error 1

20:21:40 Build Finished (took 372ms)

Jest to bardzo dziwne ponieważ on w pierwszej części szuka ścieżki z użytkownikiem t'ukasz, a jak widać później ja mam Łukasz, nie czyta polskich znaków?

__________

Komentarz dodany przez: Treker

Pamiętaj o używaniu tagów , tym razem poprawiłem :)

Udostępnij ten post


Link to post
Share on other sites
yh1198, jeśli chcesz uczyć się z naszego kursu i ominąć wszelkie problemy, to najlepiej byłoby się wyposażyć w odpowiednią płytkę lub przygotowany zestaw. ...

Ok, dziękuję, zrobię zgodnie z sugestią.

Udostępnij ten post


Link to post
Share on other sites

kost, a mógłbyś spróbować utworzyć projekt jako inny użytkownik - już bez polskich literek w nazwie?

Albo może jeszcze prościej - zostań jako użytkownik Łukasz, ale utwórz katalog z nazwą bez polskich literek, np. c:\stm32 i użyj go do utworzenia projektu (trzeba go wybrać jako workspace).

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Ok, trochę to trwało, ale dałem radę :-D, przeinstalowałem Eclipse, usuwając wszystkie pliki przy temu. W nowej instalacji wybrałem inną ścieżkę dla Workspace, bez polskich liter i się udało, kompilacja przeszła prawidłowo.

O, dopiero teraz zauważyłem, że sugerowałeś to co pomogło, zmiana katalogu Workspace ze ścieżką bez polskich liter.

Udostępnij ten post


Link to post
Share on other sites

Tak jak w zadaniu wrzucam w komentarz screeny:

Gdy licznik ładnie stoi na 0

oraz po puszczeniu na chwilę programu

Podoba mi się że zaczynacie kurs od debugera, dużo osób jednak omija tą kwestie i jest wtedy znaczny problem dla młodych.

Tak jak pisałem będę zmieniał kod pod Nucleo F401RE i każdą zamianę którą napotkam podeślę do twórcy lub wrzucę w komentarz.

Udostępnij ten post


Link to post
Share on other sites

Czy można używać tą płytkę z innymi systemami niż Windows? Konkretnie chodzi mi o Debiana. Skąd wziąć sterowniki?

Udostępnij ten post


Link to post
Share on other sites

Dziobak94, akurat lepiej debbuger się przydaje, gdy program wykonujemy krok po kroku, a Ty chyba puściłeś go "w obieg", ale grunt, że jest efekt widoczny 🙂 Ewentualne różnice w kodzie możesz wrzucać w komentarzach albo w jakimś innym temacie, aby jednak nie wprowadzać zbyt dużo zamieszania w kursie. Większość osób będzie działało na 103RBT6 inne kody mogą trochę komplikować sprawę i generować niepotrzebne błędy.

Udostępnij ten post


Link to post
Share on other sites

Uruchomiłem wszystko bez problemu na płytce Discovery z mikrokontrolerem STM32L152. W końcu mogę zabrać się za ARM-y :) Proponuję w opcjach wyłączyć sprawdzanie pisowni, aby nie denerwowały czerwone podkreślenia oraz włączyć opcję auto zapisu po naciśnięciu przycisku BUILD. W przeciwnym razie IDE będzie próbowało skompilować tylko to, co było wcześniej zapisane. Często o tym zapominałem po dodaniu kilku linii kodu, a później robiła się kaszana. Miłego kodzenia!

Udostępnij ten post


Link to post
Share on other sites

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

×