Skocz do zawartości

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


Pomocna odpowiedź

Napisano
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.

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ć?

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)?

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.

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 🙂

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ą.

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

Ok, trochę to trwało, ale dałem radę 😃, 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.

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.

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.

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!

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

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

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...