Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[STM32][FreeRTOS] - Eclipse nie widzi definicji

Piotr_pp 29 Kwi 2013 11:58 1506 5
  • #1 29 Kwi 2013 11:58
    Piotr_pp
    Poziom 12  

    Witam :)

    Pojawił mi się taki dość specyficzny problem w Eclipsie po podpięciu plików od FreeRTOS. Otóż przy pliku task.c pojawiają się błędy:

    Code:

    Description   Resource   Path   Location   Type
    Field 'listCURRENT_LIST_LENGTH( &( pxReadyTasksLists[ tskIDLE_PRIORITY ] ) )' could not be resolved   tasks.c   /yanosik_2/FreeRTOS   line 2127   Semantic Error
    Description   Resource   Path   Location   Type
    Field 'prvCheckDelayedTasks()' could not be resolved   tasks.c   /yanosik_2/FreeRTOS   line 1688   Semantic Error


    Są to dwa przypadkowe. Zupełnie jakby Eclipse nie widział pliku list.h, który oczywiście jest i jest "zaincludowany" w pliku "task.h". Co ciekawe prvCheckDelayedTasks() znajduje się w tym samym pliku - task.c.

    Cały projekt kompiluje się bez problemu... Tylko te błędy...

    Nie wiem na co jeszcze mam zwrócić uwagę... bo błędy w okienku "problems" są dość irytujące :/

    0 5
  • #2 29 Kwi 2013 12:19
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Na mojej stronce masz przykład dla LPC4330 - jest w nim wykonana prawidłowa konfiguracja indexera "po nowemu".

    4\/3!!

    0
  • #3 29 Kwi 2013 12:33
    Piotr_pp
    Poziom 12  

    Dzięki :)

    Choć problem rozwiązał się niemalże sam... powodem była linijka:

    #define portBASE_TYPE long

    w portmacro.h której eclipse "nie widział". Usunąłem ją, dodałem i problem zniknął.

    0
  • #4 29 Kwi 2013 20:24
    tadzik85
    Poziom 38  

    Odniosę się do twoich nowych ustawień.

    Piszesz o indexerze. ale twój project używa ustawień globalnych, wiec...
    Ale zapewne chodziło ci o discovery... tu fakt widzę ze masz je wyłączone a włączyłeś "Biuld output parser" w zakładce preprocesor include paths.

    Więc indexer ma pozostać włączony?

    Po "skopiowaniu" ręcznym tych ustawień do mojego projektu zauważam ze mam skądś zdefiniowanych kilka dziwnych symboli np. /C_FPU

    A a propos tych opcji:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Są zależne od wersji rdzenia i wykorzystania FPU??
    I zapewne wybór tego nie da się zautomatyzować jakimiś makrami (symbolami)?

    0
  • #5 29 Kwi 2013 20:50
    Freddie Chopin
    Specjalista - Mikrokontrolery

    tadzik85 napisał:
    Ale zapewne chodziło ci o discovery... tu fakt widzę ze masz je wyłączone a włączyłeś "Biuld output parser" w zakładce preprocesor include paths.

    output parser to tylko połowa sukcesu, poniżej zresztą piszesz o drugiej połowie czyli compiler built-in settings.

    tadzik85 napisał:
    Więc indexer ma pozostać włączony?

    Przecież nie pisałem nigdzie żeby go wyłączać (;

    tadzik85 napisał:
    Są zależne od wersji rdzenia i wykorzystania FPU??

    Tak - powinny być dostosowane do opcji z Makefile'a (czy tam konfiguracji projektu), wszystko co wpływa na kompilację, czyli np. też -std=...

    tadzik85 napisał:
    I zapewne wybór tego nie da się zautomatyzować jakimiś makrami (symbolami)?

    Nie sądzę. Tak czy siak ustawiasz to raz i zapominasz.

    4\/3!!

    0
  • #6 30 Kwi 2013 01:00
    alagner
    Poziom 25  

    Cytat:

    Nie sądzę. Tak czy siak ustawiasz to raz i zapominasz.


    Ew. piszesz uniwersalnego Makefile'a z masą ifeq zależnych od symboli a potem wrzucasz definicje tychże w odpowiednie miejsca w Eclipse'ie. Ale średni ma to sens imho, jedyne czego czasem używam to Build configu w wersji debug i release, mam wtedy -O0 i -Os przełączane z klika. Ale nadal zysk niewielki, bo większego Makefile'a trzeba wysmażyć.

    0