logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie

moscow18-1990 27 Gru 2016 17:59 4278 56
Najlepsze odpowiedzi

Jak zmodyfikować projekt Eclipse z Makefile dla STM32, aby kompilował kod w C++ co najmniej w standardzie C++11?

Aby używać C++11, wystarczy zmienić w Makefile flagę standardu kompilatora na C++11, np. zamiast `-std=gnu++98` ustawić `-std=gnu++11`; do samej kompilacji nie trzeba niczego zmieniać w Eclipse poza tym [#16156607] Jeśli chcesz też wygodne podpowiedzi i poprawne podświetlanie, ustaw indeksator Eclipse pod C++11, bo to wpływa na Ctrl+Spację, ale nie na sam proces budowania projektu [#16156607][#16157751] Projekt musi być utworzony jako C++ project, a nie C [#16157751] C++11 jest normalnie używalny na tych projektach, a autor wątku wskazał też, że można traktować Makefile z innych projektów jako wzór [#16153039]
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
  • #1 16152928
    moscow18-1990
    Poziom 8  
    Posty: 69
    Dzień Dobry,
    Mam pytanko odnośnie ewentualnego pisania programów w C++ i wykorzystania przy tym co najmniej standardu C++11. Posiadam "wzorcowe" projekty pod dwie płytki w Eclipse: STM32 F103RB i L053R8. Pytanie brzmi: czy należy podmienić coś w plikach makefile, żeby było możliwe korzystanie z samego języka C++ jak i co najmniej ze standardu C++11? Posiada ktoś jakieś doświadczenia w tej materii?
  • Pomocny post
    #2 16153039
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    Nie wiemy jakie są te Twoje projekty i co jest w Makefile które masz.

    C++11 na pewno da się używać. Nawet cały RTOS się da w tym napisać (; .

    http://distortos.org/

    W tym projekcie masz Makefile które możesz potraktować jako wzór, jednak zasadniczo w samych tych plikach zbyt dużo do samego standardu nie ma. Jakby co to pytaj konkretnie - sam używam C++11 odkąd jeszcze nazywał się C++0x (;
  • #3 16155416
    moscow18-1990
    Poziom 8  
    Posty: 69
    Ok. Przeprowadziłem eksperyment. Jeżeli chodzi o Cortex M3 to dodałem plik z rozszerzeniem cpp i kompilacja przebiegła bez błędów. Tylko nie działa standard C++11 tylko jakiś starszy. Sprawdziłem to dodając słowo kluczowe auto, które podobno jest elementem języka od chwili pojawienia pojawienia się standardu C++11. Poniżej zdjęcie ilustrujące pewne mankamenty: Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie

    Jest tam -std=gnu++98. Wydaje mi się, że tutaj musi nastąpić zmiana. Tylko pytanie - gdzie dokładnie? W indekserze, pliku makefile a może jeszcze w jakimś innym miejscu?

    Jeżeli chodzi o Cortex M0+ to dodanie takiego pliku z rozszerzeniem cpp powoduje zawieszenie się Eclipse podczas kompilacji i generalnie są błędy. Porównałem dwa pliki makefile z obydwu projektów. Są różnice. Poniżej zdjęcia z kompilacji projektu z Cortex M0+:

    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie

    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie

    Plik makefile z projektu Cortex M3:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Plik makefile z projektu Cortex M0+:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod



    Tutaj na obrazku przedstawiam różnice, które mogą mieć moim zdaniem jakieś znaczenie(chodzi o pola CXX_DEFS i C_DEFS):

    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie



    Podsumowując, pytanie brzmi co trzeba zrobić, żeby wykorzystać co najmniej standard C++11. Czy jest to kwestia ustawień w indekserze, pliku makefile? To dość skomplikowane i potrzebowałbym rady w tym zakresie. Będę wdzięczny za jakąkolwiek pomoc.
  • Pomocny post
    #4 16156607
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    Aby "używać" wystarczy zmienić standard w Makefile. Aby "używać wygodnie" warto również zmienić ustawienia indeksera w Eclipse, ponieważ bez tego Eclipse będzie się czepiał poprawnego kodu i będą problemy z generowanie podpowiedzi. Niemniej jednak na pewno nie ma znaczenia to czy zmienisz ustawienia indeksera dla kompilacji projektu.

    To że ten drugi projekt się nie kompiluje na 99% nie ma nic wspólnego z wyjątkowo nieistotnymi (na tym etapie) różnicami w Makefile. Na moje oko w tym drugim projekcie masz coś bardzo solidnie namieszane w systemowym PATH, albo po prostu toolchain którego używasz ma jakiś problem z działaniem przy takich opcjach (mało prawdopodobne). Aby zobaczyć co tam ciekawego jest w systemowym PATH, dodaj na samym początku Makefile'a coś takiego:

    $(info PATH: $(PATH))

    A następnie zrób clean + build i wrzuć tutaj pełny log z konsoli. Najlepiej zrób to dla obydwóch projektów, aby było widać różnice. No i spróbuj raczej nie używać dwóch Eclipse na raz, bo nikt nie wie co się wtedy będzie działo.
  • #5 16157559
    moscow18-1990
    Poziom 8  
    Posty: 69
    1. Dodałem linię w makefile i zrobiłem printscreen z konsoli zarówno dla projektu CortexM0+ jak i M3. Jeżeli chodzi o zmienną PATH to w sumie może być problem bo robiłem przywracanie systemu aczkolwiek mimo tego przywracania Eclipse skonfigurowany dla CortexM3 wydaje się działać normalnie. Próbowałem teraz dodać zmienną PATH w Eclipse w: Project->Properties->C/C++ -> build-> Environment a także
    w Window->Preferences->C/C++ -> build-> Environment uwzględniając niezmienione ścieżki do: gcc-arm-none-eabi-4_9-150324 i msys znajdujące się na moim dysku D, ale dalej jest ten sam problem. Być może to przywracanie systemu coś zrobiło. Poniżej zdjęcia:

    Console z projektu CortexM0+:

    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie

    Console z projektu CortexM3:

    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie

    2. Druga sprawa dotyczy samego standardu C++11. W projekcie, który mi się normalnie kompiluje zrobiłem zmiany w makefile. Próbowałem użyć słów kluczowych tego standardu i jest taki problem, że Ctrl+Spacja "nie reaguje" na niektóre słowa kluczowe po wpisaniu oczywiście ich kilku pierwszych liter. Pytanie brzmi czy po zmianach w makefile może być tak, że mimo wszytko niektóre słowa kluczowe nie będą dostępne z jakiś względów. Podobnie jest w atmel toolchain, niektóre słowa kluczowe działają a niektóre nie działają. Zmiany, które dokonałem w pliku makefile przedstawiam poniżej:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • Pomocny post
    #6 16157587
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    moscow18-1990 napisał:
    Dodałem linię w makefile i zrobiłem printscreen z konsoli

    Jak widzę ten printscreeny które ludzie z takim zapamiętaniem wrzucają, to po prostu ręce mi opadają... Nie zauważyłeś, że linia o którą się rozchodzi jest dużo dłuższa niż szerokość ekranu i dalej nic nie widać? Nie można po prostu wziąć i skopiować tekstu, żeby nie trzeba się było bawić w te durne obrazki? Zrozum - nam jest potrzebny TYLKO I WYŁĄCZNIE TEKST, a nie obrazki z Twojego pulpitu...

    Po co Ci "Eclipse skonfigurowany dla CortexM3"? Przecież w samym Eclipse nie ma ani jednego ustawienia które miałoby cokolwiek wspólnego z tym czy używasz ARM Cortex-M0 czy ARM Cortex-M3 (czy PC, czy MIPS, czy cokolwiek-byś-nie-chciał). Nawet w samym toolchainie dla M3 i M0 nie ma różnic, zakładając że masz jakiś normalny, w którym są wszystkie potrzebne biblioteki. Prosty test - skompiluj te dwa projekty z konsoli Windowsa - jeśli się kompilują, to znaczy że masz namieszane coś w Eclipse, a co dokładnie, to już nie wiem. Ja mam jedno Eclipse do wszystkiego i nie mam w nim ŻADNYCH opcji specyficznych dla danych układów. Na pewno też nie ustawiałbym w Eclipse zmiennych systemowych bez bardzo wyraźnej potrzeby, a wydaje się, że to właśnie zrobiłeś i to właśnie jest problemem.

    moscow18-1990 napisał:
    Druga sprawa dotyczy samego standardu C++11. W projekcie, który mi się normalnie kompiluje zrobiłem zmiany w makefile. Próbowałem użyć słów kluczowych tego standardu i jest taki problem, że Ctrl+Spacja "nie reaguje" na niektóre słowa kluczowe po wpisaniu oczywiście ich kilku pierwszych liter. Pytanie brzmi czy po zmianach w makefile może być tak, że mimo wszytko niektóre słowa kluczowe nie będą dostępne z jakiś względów.

    Przecież napisałem, że nie będzie działać bez poprawnej konfiguracji indeksera.

    http://stackoverflow.com/a/26094959/157344

    No i oczywiście projekt musi być typu C++, a nie C.
  • #7 16157616
    Konto nie istnieje
    Konto nie istnieje  
  • #8 16157632
    moscow18-1990
    Poziom 8  
    Posty: 69
    W sumie jest trochę zamieszania i to wynika z faktu, że sam nigdy nie robiłem template-u projektu tylko importowałem gotowy projekt. Pewnie stąd są problemy. Postaram się to uporządkować i zrobić projekty dla płytek ewaluacyjnych, które posiadam.
  • #9 16157643
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    Czyli dalej nie wiemy w czym dokładnie problem, bo nie wrzucasz wszystkich danych, nie odpowiadasz na pytania, a teraz zaś będziesz "robił projekty dla płytek ewaluacyjnych", choć jeden projekt który Ci nie działa i nie wiadomo czemu.

    EDIT: W tym Eclipse gdzie nie działa - albo w samym IDE, albo w projekcie - masz podefiniowane jeszcze inne zmienne środowiskowe. Musisz usunąć wszystkie definicje które dodałeś ręcznie - wejdź do odpowiednich zakładek w opcjach Eclipse i opcjach projektu i kliknij w "Restore Defaults".

    Inną rzeczą są spacje w ścieżkach, których należy się wystrzegać jak ognia, a u Ciebie w ścieżce jest "D:\eclipse mars stm32 F103\eclipse;" - akurat widać tym razem nie przeszkadza, ale i tak lepiej to zmienić. I naprawdę nie są Ci potrzebne dwa Eclipse do dwóch różnych rzeczy.
  • #10 16157720
    moscow18-1990
    Poziom 8  
    Posty: 69
    Ok. Działa ten projekt z M0+. Trzeba było zmienić "Replace native environment with specified one" na "Append variables to native enviroment" w C/C++ -> build i teraz kompilacja przebiega normalnie.

    Tylko teraz pytanie odnośnie tych słów kluczowych standardu. Jeżeli uporządkuje sobie wszystkie rzeczy związane Eclipse, wygeneruje sobie template w C++ wybierając makefile project i na końcu dokonam konfiguracji indexera w oparciu o ten link do stackoverflow podany wyżej to czy wtedy już np. Ctrl+Spacja "zareaguje" na wszystkie słowa kluczowe standardu C++11? Chciałbym jakoś sprawdzić czy mogę już używać tego standardu całkowicie.
  • #11 16157751
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    moscow18-1990 napisał:
    Tylko teraz pytanie odnośnie tych słów kluczowych standardu. Jeżeli uporządkuje sobie wszystkie rzeczy związane Eclipse, wygeneruje sobie template w C++ wybierając makefile project i na końcu dokonam konfiguracji indexera w oparciu o ten link do stackoverflow podany wyżej to czy wtedy już np. Ctrl+Spacja "zareaguje" na wszystkie słowa kluczowe standardu C++11?

    Tak, będzie działać. Choć akurat "auto" nie podpowiada tak czy siak, ale constexpr czy static_assert działają jak należy.

    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie

    Cytat:
    Chciałbym jakoś sprawdzić czy mogę już używać tego standardu całkowicie.

    Do używania tego standardu nie jest Ci potrzebne Eclipse, a już tym bardziej jego podpowiedzi.
  • #12 16256140
    moscow18-1990
    Poziom 8  
    Posty: 69
    Ok. Postawiłem eclipse już normalnie robiąc makefile project. Działa to, ale dwie sprawy.

    1. Pierwsza. Przy projekcie z STM32F103RB pojawiają się dziwne małe znaki przy plikach z rozszerzeniem .c lub .cpp. Chcę pisać w C++ i stworzyłem C++ project. Może to jest powód? Jeżeli chodzi o STM32L053R8 to takie znaki się nie pojawiają. W sumie kompilacja przebiega normalnie, ale chciałbym pozbyć się tych znaków. Zamieszczam je na rysunku.
    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie

    2. Druga związana z trzecią płytką. Posiadam STM32L476VG i chciałbym zrobić trzeci projekt. Pobrałem plik en.stm32cubel4 ze strony STM. Generalnie przeglądałem ten plik i znjadę tam skrypt linkera, plik startup, tablicę wektorów przerwań to przerobię z M3. Tylko problem jest taki, że nie mogę znaleźć odpowiedników folderów "hdr" i "inc" w których są pliki nagłówkowe umożliwiające m.in. korzystanie z rejestrów. Ktoś "składał" kiedyś taki projekt i wie gdzie można znaleźć takie pliki nagłówkowe?
    Załączniki:
    • Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie elektroda.png (202.09 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • Pomocny post
    #13 16256146
    tadzik85
    Poziom 38  
    Posty: 3404
    Pomógł: 415
    Ocena: 16
    1. to oznaczenia podczas kompilacji wystąpiły warningi.
    2. poszukaj głębiej w podkatalogu CMSIS
  • #14 16256158
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    1. Znaki "klucza sześciokątnego" oznaczają, że dla danego pliku indekser wykrył jego ustawienia kompilacji. Jest to 100% prawidłowy objaw, a jeśli w jakimś projekcie tych znaków nie masz, to znaczy, że tam indekser nie działa. Dokładnie chodzi o tzw. "build output parser"

    2. Pliki te są w folderze typu STM32Cube_FW_F0_V1.7.0/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h
  • #15 16258630
    moscow18-1990
    Poziom 8  
    Posty: 69
    Ok. W zasadzie projekty z M0+ i M3 działają. Mam mały problem z M4(zestaw STM32L476 Discovery) a mianowicie jest połączenie openocd z uC:
    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie

    Tylko problem jest jak chcę przejść do pracy krokowej. W poprzednich projektach automatycznie pojawia mi się breakpoint w mainie. Tutaj nie ma żadnego zatrzymania a jak postawię pułapkę to wyskakuje jakiś komunikat: "Breakpoint installation failed: Suspend operation timeout".
    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie

    Pierwszy raz się z czymś takim spotykam. O co tu chodzi?
  • #16 16258652
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    Podstawową sprawą - poza pokazaniem problemu - jest pokazanie konfiguracji która do tego problemu doprowadziła. Chodzi o ustawienia samego OpenOCD oraz o ustawienia debuggera z zakładki "Debugger".

    No i przy okazji upewnij się, że przypadkiem nie rozmawiamy o problemie o którym już wcześniej pisałem -> https://www.elektroda.pl/rtvforum/topic3289255.html
  • #17 16261082
    moscow18-1990
    Poziom 8  
    Posty: 69
    Odpaliłem to jeszcze w eclipse luna, który mam na innym dysku i dalej lipa . Teraz dodatkowo pojawił się taki komunikat po postawieniu breakpoint-a:"No symbol table is loaded. Use the "file" command."

    Pokażę jak to skonfigurowałem:

    1. External Tools Configuration

    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie

    2. Debug Configurations

    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie


    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie

    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie


    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie
  • Pomocny post
    #18 16261102
    Konto nie istnieje
    Konto nie istnieje  
  • #19 16261105
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    W ustawieniach debuggera, w zakładce Startup odznaczasz "Reset and Delay ...", a następnie w pole tekstowe znajdujące się poniżej wpisujesz "monitor reset halt".
  • #20 16261178
    moscow18-1990
    Poziom 8  
    Posty: 69
    Może coś z tą płytką jest coś nie tak? W sumie STM wysłał mi ją za darmo. Może to jakaś lipa? Generalnie tam był już "wgrany" jakiś program. Wyczytałem gdzieś w necie, że to demo wgrane od STM na tej płytce ewaluacyjnej ustawiało pin PB3 jako wejście co powodowało zwarcie debugera. Przez to nie mogłem się połączyć openocd z uC. Dałem VCC na Boot0, wgrałem swój program i dopiero po takim zabiegu była możliwa komunikacja na linii openocd i uC. Po dodaniu "monitor reset halt" i odznaczeniu "Reset and Delay ...", dalej nie działa. Odnośnie plugina to pomyślę, ale generalnie też chciałbym ogarniać takie trudniejsze rzeczy.
  • #21 16261192
    Konto nie istnieje
    Konto nie istnieje  
  • #22 16261456
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    moscow18-1990 napisał:
    Po dodaniu "monitor reset halt" i odznaczeniu "Reset and Delay ...", dalej nie działa.

    Mam nadzieję, że wszystko to robiłeś w starszej wersji Eclipse, bo najnowsza nie zadziała z GDB 7.12.

    Na liście w zakładce Debug jak klikasz w uruchomiony proces OpenOCD i GDB, to na dole - w zakładce Console - pojawi się log z danego programu. Powtórz ten problem który masz i wrzuć tutaj zawartość jednego i drugiego logu.
    Dodano po 2 [minuty]:
    Piotrus_999 napisał:
    Po prostu nie słuchaj ludzi z chorym ego że jak nie DIY, to jesteś lamer, tylko użyj gotowego środowiska.

    Liczę na to, że to nie o mnie, bo nie przypominam sobie, abym kiedyś coś takiego napisał poważnie (; (niepoważnie też nie, ale w żartach to akurat możliwe). Szczerze mówiąc to nie pamiętam aby ktokolwiek tutaj coś takiego pisał, więc nie przesadzaj...
  • Pomocny post
    #23 16261508
    Konto nie istnieje
    Poziom 1  
  • #24 16261593
    Konto nie istnieje
    Konto nie istnieje  
  • #25 16263853
    moscow18-1990
    Poziom 8  
    Posty: 69
    Z tymi innymi środowiskami to pomyślę. Chciałbym jeszcze mimo wszytko spróbować rozwiązać ten problem. Generalnie "monitor reset halt" dodałem w pierwszej kolejności dla najnowszego eclipse. Teraz spróbowałem dla starszej wersji. Jeżeli chodzi o starszą wersję to nie wchodzi automatycznie do main, ale jak postawię breakpoint to jest inny komunikat. Poniżej dwa zdjęcia:
    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie

    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie

    Eclipse Neon:

    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie
    Dodano po 3 [minuty]:
    np. Dla stm32F103RB normalnie wchodzi do main(w Eclipse Neon i bez "monitor reset halt"):
    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie


    Dla STM32L053R8 czyli CortexM0+ też działa i wchodzi do maina "z automatu" w najnowszym Eclipse, ale tylko dla plików z rozszerzeniem ".c":

    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie

    Generalnie jak main ma rozszerzenie ".cpp" w przypadku STM32L053R8 to jest mała lipka:
    Re: Nucleo F103RB/L053R8 - C++ 11 Eclipse makefile - pytanie

    Mimo wszytko dwie płytki działają i jest wejście do maina "z automatu" mimo wykorzystania najnowszej wersji Eclipse.
  • #26 16264132
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    Zaczynasz mieszać i zaczyna to być irytujące... Jak rozwiązujesz jakiś problem, to się sprawdza JEDNĄ rzecz na raz, a Ty sprawdzasz 10 na raz - różne wersje Eclipse, różne projekty, różne układy, różne opcje, różne rozszerzenia plików,... Tym sposobem możemy sobie tutaj pisać jeszcze bardzo długo, bo dopiero teraz dowiedziałem się, że problem jest w jakiś sposób związany z tym że plik ma rozszerzenie .cpp.

    Naprawdę możesz sobie darować próbowanie w Eclipse w wersji Neon.2, chyba że chcesz tracić czas, to proszę bardzo. Tam z pewnością nie zadziała Ci z GDB 7.12. Skoro Ci to działa, to znaczy że wcale nie używasz "najnowszej" wersji Neon.2, tylko np. Neon.1 albo Neon. Kolejny problem komunikacyjny, bo w efekcie rozmawiamy o dwóch różnych rzeczach i z pewnością się nie dogadamy.

    Skoro GDB chce poszukiwać pliku main.c zamiast main.cpp, to nawet nie wiadomo czy Twój projekt poprawnie się skompilował, bo nie wiem w jaki inny sposób do pliku .elf mogłoby trafić info o jakimś pliku main.c którego nie masz. Chyba że masz w projekcie plik main.c i main.cpp, to w ogóle niezły chaos...
  • #27 16264317
    Konto nie istnieje
    Konto nie istnieje  
  • #28 16265140
    moscow18-1990
    Poziom 8  
    Posty: 69
    Ok. Poprawiłem poprzednie projekty. Popełniłem mały błąd przy dodawaniu plików z rozszerzeniem ".cpp".Wywaliłem eclipse neon z dysku. Mam pytanko. Generalnie przejrzałem skrypty linkera dla tych trzech projektów. Nie wiem czy to może być powód złego działania debugera, ale dla tego trzeciego projektu zaimportowałem skrypt linkera z tej paczki "stm32cubel4". Generalnie pytanie brzmi czy ewentualnie niewłaściwy skrypt linkera może powodować takie problemy z debugowaniem?
  • #29 16265159
    Konto nie istnieje
    Konto nie istnieje  

Podsumowanie tematu

✨ Dyskusja dotyczy pisania programów w C++ z wykorzystaniem standardu C++11 na płytkach STM32 F103RB i L053R8 w środowisku Eclipse. Użytkownik pyta o konieczność modyfikacji plików makefile, aby umożliwić kompilację z użyciem C++11. Odpowiedzi wskazują, że wystarczy zmienić standard w makefile oraz dostosować ustawienia indeksera w Eclipse. Użytkownik doświadcza problemów z kompilacją i debugowaniem, które są związane z konfiguracją środowiska oraz skryptami linkera. Po kilku próbach i modyfikacjach, w tym dodaniu odpowiednich flag do makefile, udało się uruchomić projekt. Użytkownik rozważa również użycie CubeMX do generowania kodu dla peryferiów, co nie wymaga korzystania z Keila, a wygenerowany kod można zaimportować do Eclipse.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA