www.mikrocontroller.net

Forum: Compiler & IDEs Eclipse + WinAVR + AVR Plug-in für Eclipse


Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin Moin,
ich hab nen kleines Problem mit Eclipse.
ich hab eclipse,winavr und das avr plug-in runter geladen, hab dann 
winavr als erstes installiert und dann eclipseentpacktund das plug in in 
die richtigen ordner gepackt!
hab dann ein projekt angelegt wie es in der beschreibung beschrieben 
ist.
wenn ich jetzt auf build gehe haut das auch ohne fehler hin.
Console bringt dann das hier:
**** Build of configuration Release for project test2 ****

make all
Building file: ../main.c
Invoking: AVR Compiler
avr-gcc -funsigned-bitfields -mmcu=atmega32 -Wall -fshort-enums 
-DF_CPU=16000000UL -funsigned-char -Os -fpack-struct -MMD -MP 
-MF"main.d" -MT"main.d" -c -o"main.o" "../main.c"
Finished building: ../main.c

Building target: test2.elf
Invoking: AVR C Linker
avr-gcc -Wl,-Map,test2.map -mmcu=atmega32 -o"test2.elf"  ./main.o
Finished building target: test2.elf

Invoking: AVR Create Extended Listing
avr-objdump test2.elf -h -S  >"test2.lss"
Finished building: test2.lss

Create Flash image (ihex format)
avr-objcopy test2.elf -R .eeprom -O ihex  "test2.hex"
Finished building: test2.hex

Create eeprom image (ihex format)
avr-objcopy test2.elf -j .eeprom --no-change-warnings 
--change-section-lma .eeprom=0 -O ihex  "test2.eep"
Finished building: test2.eep

Invoking: Print Size
avr-size --format=avr test2.elf --mcu=atmega32
AVR Memory Usage
----------------
Device: atmega32

Program:     122 bytes (0.4% Full)
(.text + .data + .bootloader)

Data:          0 bytes (0.0% Full)
(.data + .bss + .noinit)


Finished building: sizedummy

aber wenn ich jetzt auf make target->build gehe meckert er rum:


**** Build of configuration Release for project test2 ****

make -k main
cc   main.o   -o main
process_begin: CreateProcess(NULL, cc main.o -o main, ...) failed.
make (e=2): Das System kann die angegebene Datei nicht finden.

make: *** [main] Error 2

diese fehler meldung bring er wenn ich bei make target->build als namen 
main angebe,wenn ich da einen anderen namen angebe sagt er:

**** Build of configuration Release for project test2 ****

make -k main1
make: *** No rule to make target `main1'.


so nun hab ich das problem schon seit ein paar tagen und hab mir auch 
schon sehrvieleforumsbeiträge dazu durch gelesen, aber bin bis jetzt auf 
keinen grünen zweig gekommen.
hat das evtl. was mit den makefile zu tun?
diewerden hier doch auchtomatisch erzeugt von eclipse(bzw. avr plug in) 
oder?

währe sehr nett wenn jemand mir weiter helfen könnte

gruss dennis

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aso als programm hab ich das aus dem avr-eclipstoturial genommen:


#include <avr/io.h>

#define running  1

// Unterprogramm mit Zeitschleife fuer ATMega16 ohne Quarz
void delay_ms( unsigned int ms )
{
    unsigned int  i;
    unsigned int  j;

    for ( i = ms;  i;  i-- )
    {
        for ( j = 255;  j;  j-- )
        {
        }
    }
}

int main( void )
{
    // PortD6 als Output konfigurieren
    DDRC |= _BV(PC6);

    // Hauptschleife des Programms
    while ( running )
    {
      // LED einschalten, und dann warten
        PORTC |= _BV(PC6);
        delay_ms( 1000 );

      // LED ausschalten, und dann warten
        PORTC &= ~_BV(PC6);
        delay_ms( 29000 );
    }
}


gruss dennis

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>make -k main
>cc   main.o   -o main
>process_begin: CreateProcess(NULL, cc main.o -o main, ...) failed.
>make (e=2): Das System kann die angegebene Datei nicht finden.

Die Fehlermeldung kenne ich, wenn ein "falsches" make aufgerufen wird 
(bei mir z.B. Borland-make), nicht das gnu-make aus dem WinAVR-Paket. 
Such mal auf deinem Rechner, ob da noch mehr make.exe existieren, und ob 
die im Suchpfad vorher auftauchen. Ein "which make.exe" sollte es auch 
tun.

Bleibt noch die Frage, wofür du "make target" brauchst. build 
funktioniert ja ohne Probleme.

Oliver

Autor: Thomas Holland (innot)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Dennis,

> ...
> aber wenn ich jetzt auf make target->build gehe meckert er rum:
> ...
> hat das evtl. was mit den makefile zu tun?
> diewerden hier doch auchtomatisch erzeugt von eclipse(bzw. avr plug in)
> oder?

'make targets' ist eine Funktionalität in Eclipse, um mit (händisch 
erzeugten) komplexen Makefiles zu arbeiten (z.B. bei nicht 
"Eclipsifizierten" Projekten).

Da Du für Deine AVR Projekte die automatisch erzeugten Makefiles benutzt 
brauchst Du 'make targets' nicht!

Wenn Du 'make targets' unbedingt benutzten möchtest, dann musst Du in 
dem 'Create a new Make target' Dialog als 'Make target' den Namen eines 
existierenden Targets in dem Makefile angeben, z.B. 'all', 'clean' oder 
'{projektname}.elf'.

Außerdem musst Du, wie Oliver schon geschrieben hat, den Pfad zu 
'make.exe' überprüfen, da er bei 'make targets' nicht mehr von 
'Preferences -> AVR -> Paths' kommt, sondern separat in 'Project 
Properties -> C/C++ Build -> Builder Settings' eingestellt werden muss.


LG

Thomas

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.