Witam,
kompilacja projektu kończy się niepowodzeniem, proszę o pomoc
korzystam z NUCLEO-F411RE
STM32CubeMX Version 4.20.1 STM32Cube V1.0
System Workbench for STM32 Version: 1.1.0.201703061529
Pliki znajdują się w lokalizacjach jak poniżej:
/home/pio/workspace/1_HTS221_LIB
/home/pio/workspace/STM32_LIBRARIES
/home/pio/workspace/DispHum_01
Korzystam z narzędzi zarówno pod Windows jak i Linux, opisany problem z kompilacją jest identyczny na obydwu środowiskach. Same środowiska i ich konfiguracja nie są problemem, udało mi się skompilować i uruchomić jeden z kolejnych tutoriali z diodą RGB.
Pierwsza niejasność pojawia się podczas generowania projektu w STM32CubeMX
przy ustawianiu zegara, po wprowadzeniu opcji opisanych w artykule “ABP1 Prescaler” i “ABP1 peripheral clocks” zostają podświetlone na czerwono, tu dodatkowo przestawiam “ABP1 Prescaler” na wartość “/2”
Import do Workbencha i pierwsza kompilacja przechodzi bez problemu
następnie zgodnie z artykułem dodaje foldery i pliki
mały błąd w opisie przy dodawaniu “Includes”,
jest ”Properties->C/C++ Build->Tools Settings->Includes”, powinno być
”Properties->C/C++ Build->Settings->MCU GCC Compiler->Includes”
Do tego momentu wydaje się że wszystko jest ok, kompilacja nadal przechodzi.
Jednak po próbie wywołania
TM_SSD1306_Init();
podczas kompilacji pojawia się komunikat
Invoking: MCU GCC Linker
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -specs=nosys.specs -specs=nano.specs -T"../STM32F411RETx_FLASH.ld" -Wl,-Map=output.map -Wl,--gc-sections -lm -o "Hts221Sds1306.elf" @"objects.list"
Src/main.o: In function `main':
/home/pio/workspace/Hts221Sds1306/Debug/../Src/main.c:85: undefined reference to `TM_SSD1306_Init'
makefile:35: polecenia dla obiektu 'Hts221Sds1306.elf' nie powiodły się
collect2: error: ld returned 1 exit status
make: *** [Hts221Sds1306.elf] Błąd 1
Tu pojawia się cała seria problemów których nie potrafię rozwiązać.
Wydaje się że artykuł jest niepełny.
Include dla "tm_stm32_ssd1306.h" w “main.c” powoduje konieczność dodania “stm32fxxx_hal.h” i odkomentowanie odpowiedniego STMa
tylko po co wtedy “#include "stm32f4xx_hal.h" w “main.c”?
projekt do pobrania
https://drive.google.com/open?id=0B9y-e ... Es0NnZKR28
czy są dostępne źródła dla tego przykładu, gdzie można je pobrać? na ftp nie udało mi się ich znaleźć
pozdrawiam,
Piotr
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięEP 11/2016 - HTS221 mały czujnik o sporych możliwościach
Moderatorzy:Jacek Bogusz, procesorowiec, Moderatorzy
- Jacek Bogusz
- -
- Posty:470
- Rejestracja:12 maja 2010, o 17:37
- Lokalizacja:Poznań
- Kontaktowanie:
Re: EP 11/2016 - HTS221 mały czujnik o sporych możliwościach
W załączeniu plik źródłowy, który - zgodnie ze słowami autora - kompiluje się bezbłędnie.
https://www.dropbox.com/sh/xr6jzxddtxxk ... nGeya?dl=0
Plik właśnie się synchronizuje. Będzie ze 5 minut
https://www.dropbox.com/sh/xr6jzxddtxxk ... nGeya?dl=0
Plik właśnie się synchronizuje. Będzie ze 5 minut
Re: EP 11/2016 - HTS221 mały czujnik o sporych możliwościach
Witam,
dziękuję za odpowiedź
problemem było wyłączenie dodanych folderów z kompilacji, tzn.
TM_SSD1306 -> Properties -> C/C++ Build -> Exclude resource from build
domyślnie po dodaniu folderu opcja była zaznaczona przez co pliki nie były kompilowane
Pozdrawiam,
Piotr
dziękuję za odpowiedź
problemem było wyłączenie dodanych folderów z kompilacji, tzn.
TM_SSD1306 -> Properties -> C/C++ Build -> Exclude resource from build
domyślnie po dodaniu folderu opcja była zaznaczona przez co pliki nie były kompilowane
Pozdrawiam,
Piotr
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 11 gości