Problem z kompilacją po aktualizacji - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Instalacja i rozwiązywanie problemów (https://forum.arduinopolska.pl/dzial-instalacja-i-rozwi%C4%85zywanie-problem%C3%B3w) +--- Wątek: Problem z kompilacją po aktualizacji (/watek-problem-z-kompilacj%C4%85-po-aktualizacji) |
Problem z kompilacją po aktualizacji - oscarX - 11-12-2023 Witajcie, Robiłem projekcik pod BlackPill (STM32). Zainstalowałem odpowiednią płytke itp. Wszystko zadziałało. Kilka dni temu Arduino IDE poinformowało, że jest dostępna aktualizacja softu do płytki, zgodziłem się na update i oczywiście przestało działać. Kompilacja wykłada się z błedem. Widziałem, że w podobnych sytuacjach zwykle proponuje się przeinstalowanie całości - i to zwykle działa, jednak najpierw chciałbym spytać, czy istnieje jakieś krótsze rozwiązanie. Mam następujący log z kompilacji przykładu Blink (poskracałem ścieżki i wywaliłem większość katalogów do -I bo oryginalne linie mają po 3,5KB długości): Kod: "bin/arm-none-eabi-g++" -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -DVECT_TAB_OFFSET=0x0 -DUSE_FULL_LL_DRIVER -mthumb "@/tmp/arduino_build_26903/sketch/build.opt" -c -w -std=gnu++17 -ffunction-sections -fdata-sections -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -fno-use-cxa-atexit "-I/usr/share/arduino/examples/01.Basics/Blink" "-I.arduino15/packages/STMicroelectronics/hardware/stm32/2.7.1/cores/arduino/avr" "-I.arduino15/packages/STMicroelectronics/hardware/stm32/2.7.1/cores/arduino/stm32" "-I.arduino15/packages/STMicroelectronics/hardware/stm32/2.7.1/cores/arduino/stm32/LL" ".arduino15/packages/STMicroelectronics/hardware/stm32/2.7.1/libraries/SrcWrapper/src/stm32/uart.c" -o "/dev/null" W ostatniej linii kompilacji pojawia się tekst {compiler.optimization_flags} - podejrzewam że to miało być podmienione na jakieś opcje przez IDE ale coś nie wyszło. PS. Dziwi mnie też końcówka tych polecen kompilacji -o /dev/null ? Przecież to bez sensu - wynik kompilacji do wyrzucenia? Czy któs próbował używać bibliotek Arduino bez całego systemu Arduino - po prostu makefile? RE: Problem z kompilacją po aktualizacji - Irvin - 11-12-2023 Trzeba wyłączyć silnik, wysiąść, trzasnąć drzwiami i potem próbować odpalić auto na nowo. Przeinstalowanie to jednak jest ta krótsza droga, bo skoro powinno się kompilować, to coś z instalacją nie pykło. Czasami nie można zrobić updatu bez modyfikacji swoich programów, niektóre funkcje są wyrzucane z core, albo zaczynają działać inaczej, wtedy downgrade jest szybszą opcją. Najgorzej jak nowa wersja dodaje uC, którego akurat Ci brakowało, obsługę wymarzonego programatora, a przy okazji coś znika i istniejące programy przestają działać, wtedy warto walczyć. RE: Problem z kompilacją po aktualizacji - oscarX - 19-12-2023 Bład powodowało przekazanie dziwnego tekstu {compiler.optimization_flags} jako argumentu do kompilacji, więc postanowiłem poszukać napisu optimization_flags w plikach arduino. W ukrytym podkatalogu ".arduino15", w katalogu domowym, poleceniem grep -rn optimization_flags * znalazłem plik packages/STMicroelectronics/hardware/stm32/2.7.1/platform.txt, który kilkukrotnie zawierał poszukiwany ciąg znaków. Plik jest nieduży i tekstowy. W okolicy linii 23 znajdowała się następująca treść: Kod: # EXPERIMENTAL feature: optimization flags Kod: # EXPERIMENTAL feature: optimization flags Kompiluje przykład Blink i ... działa! Oczywiście edytowany plik należy do pakietu opisującego procki STM, ma również adnotacje, że to wersja eksperymentalna, więc może jakiś kolejny update poprawi problem. Jak ktoś się jeszcze nie zorientował - używam Linuxa, stąd takie ścieżki i polecenia. RE: Problem z kompilacją po aktualizacji - kaczakat - 19-12-2023 Dzięki za podzielenie się rozwiązaniem. |