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

Błędy kompilacji AVR GCC w AVR Studio po konfiguracji z książki Mikrokontrolery AVR

Lofiks1 26 Paź 2004 21:41 2778 11
REKLAMA
  • #1 939884
    Lofiks1
    Poziom 11  
    Posty: 9
    Witam.
    Czy ktokolwiek z Was miał może do czynienia z kompilatorem AVR GCC a ściślej chodzi mi o połączenie tegoż kompilatora z AVR Studio? Skonfigurowałem AVR Studio do współpracy z AVR GCC zgodnie z instrukchą zaqwartą w książce "Mikrokontrolery AVR w praktyce" i przy kompilacji wyskakuja błędy. Czy ktoś moze sie spotkał z podobna sytuacją?
    Dzięki za wszelką pomoc.
  • REKLAMA
  • #2 939980
    wisiena
    Poziom 18  
    Posty: 223
    Pomógł: 21
    Ocena: 5
    Witam !!
    Wyślij kod który kompilujesz no i błędy jakie Ci zwraca. No i jeszcze przydałby się makefile którego używasz.
    (M.)
  • #3 943894
    Lofiks1
    Poziom 11  
    Posty: 9
    Oto makefile


    # Simple Makefile by Volker Oth (c) 1999
    # edited by AVRfreaks.net nov.2001

    ########### change this lines according to your project ##################

    #put the name of the target mcu here (at90s8515, at90s8535, attiny22, atmega603 etc.)
    MCU = atmega128

    #put the name of the target file here (without extension)
    TRG = cwicz1

    #put your C sourcefiles here
    SRC = $(TRG).c

    #put additional assembler source file here
    ASRC =

    #additional libraries and object files to link
    LIB =

    #additional includes to compile
    INC =

    #compiler flags
    CPFLAGS = -g -Os -Wall -Wstrict-prototypes -Wa,-ahlms=$(<:.c=.lst)

    #linker flags
    LDFLAGS = -Wl,-Map=$(TRG).map,--cref

    ########### you should not need to change the following line #############
    include $(AVR)/avrfreaks/avr_make

    ###### dependecies, add any dependencies you need here ###################
    $(TRG).o : $(TRG).c



    KOd który kompiluje to przykładowy kod z książki:


    #include <io.h>

    int main(void)
    {
    unsigned char i,licznik;
    licznik=0x00;
    for(i=0;i<10;i++)
    {
    licznik++;
    }
    while(1);
    }


    Natomiast zwracane błędy :

    process_easy:DuplicateHandle(In) failed(e=6)
    make:Interrupt /Exceptioncaught (code=0xc0000005,addr=0x416454)

    Dzięki za zainteresowanie
  • REKLAMA
  • #4 1036363
    kopernik8
    Poziom 21  
    Posty: 631
    Pomógł: 10
    Ocena: 18
    Witam!
    Kurde mam to samo,i ta sama książka :lol:
    ludzie co z tym zrobic??
  • Pomocny post
    #6 1036432
    kopernik8
    Poziom 21  
    Posty: 631
    Pomógł: 10
    Ocena: 18
    Problem w tym że nie mam nawet lini include...nie w tym problem lesz w jakiejs zminnej....:?
    --------------------------------------
    Problem rozwiązałem w sumie....
    w katalogu "avrgcc\avrfreaks\win2000" sa dwa pliki:
    gcc_cmp.bat oraz gcc_cmp2.bat
    obydwa wgrywasz do katalogu który ma zadeklarowaną ścieżkę w autoexec.bat
    potem w AVR Studio
    zamast pełnej ścieżki do pliku bat wpisujesz jedyniegcc_cmp.batktóry z kolei sobie wywoła gcc_cmp2.bat i wszystko działa :D
    ---------------------------------------
    Ewentualnie obydwa pliki skopiować do katalogu swojego projektu
  • REKLAMA
  • Pomocny post
    #7 1038410
    Wojtek_P
    Poziom 15  
    Posty: 139
    Pomógł: 7
    Ocena: 13
    Grzegorz Panasewicz napisał:
    Witam.
    Czy ktokolwiek z Was miał może do czynienia z kompilatorem AVR GCC a ściślej chodzi mi o połączenie tegoż kompilatora z AVR Studio? Skonfigurowałem AVR Studio do współpracy z AVR GCC zgodnie z instrukchą zaqwartą w książce "Mikrokontrolery AVR w praktyce" i przy kompilacji wyskakuja błędy. Czy ktoś moze się spotkał z podobna sytuacją?
    Dzięki za wszelką pomoc.

    Podam linki do opisu podobnych problemów może będzie to pomocne:
    http://www.elektronika.qs.pl/forum/viewtopic.php?t=795
    http://www.elektronika.qs.pl/forum/viewtopic.php?t=796
  • REKLAMA
  • #8 1039025
    kopernik8
    Poziom 21  
    Posty: 631
    Pomógł: 10
    Ocena: 18
    Przecie napisałem sposób konfiguracji AVR Studio 3.56 oraz AVR_GCC.
    Dotyczy tematu z ksiazki "Mikrokontrolery AVR w praktyce"

    jezeli ktos nie daje rady to na GG.
  • #9 1075676
    Lofiks1
    Poziom 11  
    Posty: 9
    Dzięki za zainteresowanie tematem. Spróbuje zrobic tak jak radzicie i dam znać czy coś wyszło :)
  • #10 1076689
    szaro
    Poziom 19  
    Posty: 411
    Pomógł: 10
    Ocena: 17
    polecam WinAVR tez jestem poczatkujacy i narazie wszystko dziala poprawnie mam tylko maly problem z printf ale juz jestem blisko :-) a w AVR Studio podgladam pliki hex (tzn. symulacja)
    Pozdrawiam
    Irek
  • #11 1079324
    GienekS
    Poziom 32  
    Posty: 1971
    Pomógł: 139
    Ocena: 15
    szaro napisał:
    polecam WinAVR tez jestem poczatkujacy i narazie wszystko dziala poprawnie mam tylko maly problem z printf ale juz jestem blisko :-) a w AVR Studio podgladam pliki hex (tzn. symulacja)
    Pozdrawiam
    Irek

    Dlaczego tylko HEX Przecież możesz śledzić kod w C. Wystarczy załadować plik *.cof. A dla tych którzy chcą symulować printf to niech o wersji AVRStudio 3,56 zapomną bo ta biblioteka robi w tej wersji błedy. Pewna jest wersja 4,09 bo 4,10 umnie coś nie chodzi.
  • #12 1300466
    LuznyTomasz
    Poziom 15  
    Posty: 204
    Pomógł: 13
    Ocena: 1
    Cytat:
    w katalogu "avrgcc\avrfreaks\win2000" sa dwa pliki:
    gcc_cmp.bat oraz gcc_cmp2.bat
    obydwa wgrywasz do katalogu który ma zadeklarowaną ścieżkę w autoexec.bat
    potem w AVR Studio
    zamast pełnej ścieżki do pliku bat wpisujesz jedyniegcc_cmp.batktóry z kolei sobie wywoła gcc_cmp2.bat i wszystko działa :D


    Działa!!! Wystarczyo wgrać te dwa pliki do katalogu "temp" i pominąć ścieżkę dostępu w polu "Command line"

Podsumowanie tematu

✨ Dyskusja dotyczy problemów z kompilacją kodu w środowisku AVR Studio przy użyciu kompilatora AVR GCC, zgodnie z konfiguracją opisaną w książce "Mikrokontrolery AVR w praktyce". Użytkownicy zgłaszają błędy kompilacji, które mogą wynikać z nieprawidłowej konfiguracji ścieżek lub plików wsadowych (batch). Rozwiązaniem okazało się umieszczenie plików gcc_cmp.bat i gcc_cmp2.bat w katalogu projektu lub w katalogu zdefiniowanym w zmiennej PATH systemu, a następnie wskazanie w AVR Studio jedynie nazwy pliku bat bez pełnej ścieżki. Dodatkowo zasugerowano poprawkę w kodzie źródłowym, polegającą na zamianie dyrektywy #include na #include . Wskazano także, że wersja AVR Studio 3.56 ma problemy z symulacją printf, a lepsza jest wersja 4.09. Podano linki do podobnych problemów i przykładowy makefile dla mikrokontrolera ATmega128. Użytkownicy polecają także środowisko WinAVR jako alternatywę działającą poprawnie.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA