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

Eclipse - Jak ustawić kompilator gnurx dla istniejącego projektu?

piter2004 03 Mar 2013 11:00 2691 5
  • #1 12009989
    piter2004
    Poziom 17  
    Mam projekt zrobiony ale używa innego kompilatora. Jak zmienić, żeby używał gnurx.
    Bo widzę opcje jakie ma ustawione ale nie wiem jak zmienić. Czy muszę od podstaw stworzyć nowy projekt i wtedy dopiero ustawić kompilator.
  • #2 12010075
    mickpr
    Poziom 39  
    Najbezpieczniej będzie właśnie stworzyć projekt od podstaw, a pliki źródłowe skopiować.
    Wiem, że Eclipse robi czasem psikusy, jak się zmienia toolchain w istniejącym projekcie.
  • #3 12010091
    piter2004
    Poziom 17  
    Tak myślę ale chyba jest możliwość zmiany kompilatora.
  • #4 12014339
    piter2004
    Poziom 17  
    Czy ktoś wie co tu się dzieje co to za can_block_p?
    i co ten fragment robi.
    Ogólnie wiem że volatile powoduje ze to nie będzie optymizowane..


    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #5 12014418
    Electix
    Poziom 21  
    Linijka :
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    oznacza definicję wskaźnika o nazwie can_block_p, na strukturę typu st_can.

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


    inicjalizuje wskaźnik can_block_p adresem 0x90200 rzutowanym na typ struct st_can __evenaccess *.

    Modyfikator volatile, jak wspomniałeś wcześniej, nadaje się zmiennej, która może być modyfikowana przez różne funkcje, przerwania lub sprzęt. Volatile wyłącza stosowaną przez kompilator optymalizację w stosunku do zmiennej

    Modyfikator __evenaccess, nie za bardzo wiem do czego służy, musiałbyś zajrzeć do dokumentacji Twojego kompilatora.
  • #6 12018186
    piter2004
    Poziom 17  
    odp: ze strony kapitgnu jak zmienić __evenaccess


    >> The Renesas complier supports compiler directive _evenaccess.
    >> What are the equivalents in GNU?

    The _evenaccess keyword guarantees access in the size of the variable type.
    In the GNURX toolchain, you may use the "volatile" keyword to declare the
    variables. This will ensure that the variables are accessed using the exact
    size of the variable's type.
    Sample code using GNURX toolchain:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod





    ale mam jeszcze problem podczas kompilacji

    'Invoking: Library Generator'
    rx-elf-libgen --select-lib=optlib --header-files=stdio,stdlib,string --compiler-options=-mcpu=rx600,-mlittle-endian-data,-Os,-fdata-sections,-ffunction-sections,-falign-jumps,-fno-function-cse,-funit-at-a-time --assembler-options=--mlittle-endian-data -o "libsmart_can_2013.a"
    INFORMACJE: Nie moľna odnale«† plik˘w danych wzorc˘w.
    make: *** [libsmart_can_2013.a] Error 255


    co to jest i jak sobie z tym poradzić
    Jest to kwestia instalacji kompilatora chyba bo na innym kompie działa
REKLAMA