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łąd kompilacji w AVR Studio4 z WinAVR: undefined reference to `main`

squall0 20 Maj 2006 20:35 1611 2
REKLAMA
  • #1 2646299
    squall0
    Poziom 11  
    Posty: 66
    Ocena: 1
    A więc mój problem jest taki zainstalowałem w następującej kolejności pakiety:

    *AVR Studio4
    *AvrLcd
    *WinAVR

    Czy przypadkiem niema jakiejś specjalnej procedury kompilacji programów zapisanych w c? Bo WinAVR się scala z Studio4 i nie trzeba chyba kompilować w jednym a potem plik wczytywać do drugiego w celu symulacji, bo to o nią mi głównie chodzi.

    I przy kompilacji wyskakuje błąd:

    ../../../../../avr-libc-1.4.4/crt1/gcrt1.S:51: undefined reference to `main'

    Mam Winde XP
  • REKLAMA
  • #2 2646590
    Darekg
    Poziom 17  
    Posty: 210
    Pomógł: 27
    Ocena: 11
    Najnowsze wersje AVRStudio mają już"wbudowaną" obsługę WinAVR. Przy tworzeniu nowego projekty w AVRStudio zaznaczamy opcję AVRGCC. Później wskazujemy procesor, i miejsce zapisania projektu. Wszystko bardzo ładnie się robi. Później w opcjach projektu możemy zmodyfikowac ustawienia co do kompilatora. Domyślnie ma on ustawioną ścieżkę dostępu do AVRGCC na c:\WinAVR.

    Ja pracuję właśnie w takiej konfiguracji i wszystko jest OK.

    A co do tego błędu to w programie masz wpisane:
    • int main(void)
      {
      // tutaj kod programu
      }

    ?
  • #3 2647468
    squall0
    Poziom 11  
    Posty: 66
    Ocena: 1
    Program jest przykładowy bo chce na razie sprawdzić czy to w ogóle żyje :)

    Ale już mniej więcej rozumie tylko teraz daje taki program i mam:
    ../testowy_c.c:14: error: `DDRD' undeclared (first use in this function)
    i niewiem co jest jak by nie widział plików include (chyba w opcjach musze pogrzebać i ustawić ścieżki ale to powinno się przy instalacji poustawiać) :(

    Jeszcze w Message jest komunikat:
    Object file does not exist:
    i
    AVR Simulator: MCUCR register missing in XML partdescription

    To sa wszystko przykładowe programy chce sprawdzić czy działa symulator.

    #include <avr/io.h>
    #define F_CPU (7372800)
    #include <util/delay.h>

    // Program zapala i gasi diodę LED co 1/2 sekundy.
    //
    // (C) Paweł Klimczewski, 29 listopada 2003.
    //
    // Częstotliwość zegara w układzie modelowym wynosiła 7.3728 MHz.

    int main()
    {
    // Bit 1 portu D konfiguruję jako wyjściowy.
    DDRD |= 1 << PD1;

    while ( true )
    {
    PORTD ^= 1 << PD1;
    _delay_ms( 500 );
    }
    }

    Wiem że to śmieszne może problemy ale jednak sa :)
REKLAMA