Forum: Mikrocontroller und Digitale Elektronik Probleme beim hochladen des Codes mit Atmel Studio 7


von Dirk -. (dirkschn2014)


Lesenswert?

Hey Leute,

Bin gerade dabei mich mit dem Atmel Studio 7 zu befassen.
Zuvor habe ich mit der Arduino IDE gearbeitet.

Vorweg mit dem Arduino Mega2560 hat das hochladen des Sketches wunderbar 
geklappt.

Aber beim hochladen auf dem Arduino UNO bekomme ich selbst bei den 
kleinsten Sketch(Blinken einer LED) Probleme.

Hier der Sketch:
1
 /*
2
 * GccApplication9.cpp
3
 *
4
 * Created: 09.03.2017 12:38:51
5
 * Author : Dirk
6
 */ 
7
8
#define F_CPU 16000000L
9
#include <avr/io.h>
10
#include <util/delay.h>
11
12
int main(void)
13
{
14
  DDRB |= (1 << PB5);
15
  
16
  while(1)
17
  {
18
    PORTB |= (1 << PB5);
19
    _delay_ms(500);
20
    PORTB &= ~(1 << PB5);
21
    _delay_ms(500);
22
  }
23
}
Und hier die Fehlermeldung:

1
avrdude.exe: AVR device initialized and ready to accept instructions
2
3
Reading | ################################################## | 100% 0.00s
4
5
avrdude.exe: Device signature = 0x1e950f (probably m328p)
6
avrdude.exe: NOTE: "flash" memory has been specified, an erase cycle will be performed
7
             To disable this feature, specify the -D option.
8
avrdude.exe: erasing chip
9
avrdude.exe: reading input file "c:\users\dirk\Documents\Atmel Studio\7.0\GccApplication9\GccApplication9\Debug\main.hex"
10
avrdude.exe: can't open input file c:\users\dirk\Documents\Atmel Studio\7.0\GccApplication9\GccApplication9\Debug\main.hex: No such file or directory
11
avrdude.exe: read from file 'c:\users\dirk\Documents\Atmel Studio\7.0\GccApplication9\GccApplication9\Debug\main.hex' failed
12
13
avrdude.exe: safemode: Fuses OK (E:00, H:00, L:00)
14
15
avrdude.exe done.  Thank you.

Den Sketch an sich ist der selbe wie beim Atmega2560.

Für euch ist das bestimmt eine Leichtigkeit.
Ich finde den Fehler aber nicht.

Vielen Dank

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Die interessante Fehlermeldung ist die hier:
1
avrdude.exe: can't open input file c:\...\main.hex: No such file or directory

von BlaBla (Gast)


Lesenswert?

Könnte hier am Leerzeichen liegen: \Atmel Studio\

von Dirk -. (dirkschn2014)


Lesenswert?

BlaBla schrieb:
> Könnte hier am Leerzeichen liegen: \Atmel Studio\


Am Leerzeichen liegt es nicht. Habe den Ordner mal abgeändert aber das 
Problem besteht weiterhin.
1
Reading | ################################################## | 100% 0.00s
2
3
avrdude.exe: Device signature = 0x1e950f (probably m328p)
4
avrdude.exe: NOTE: "flash" memory has been specified, an erase cycle will be performed
5
             To disable this feature, specify the -D option.
6
avrdude.exe: erasing chip
7
avrdude.exe: reading input file "C:\Users\Dirk\Documents\AtmelStudio\GccApplication1\GccApplication1\Debug\main.hex"
8
avrdude.exe: can't open input file C:\Users\Dirk\Documents\AtmelStudio\GccApplication1\GccApplication1\Debug\main.hex: No such file or directory
9
avrdude.exe: read from file 'C:\Users\Dirk\Documents\AtmelStudio\GccApplication1\GccApplication1\Debug\main.hex' failed
10
11
avrdude.exe: safemode: Fuses OK (E:00, H:00, L:00)
12
13
avrdude.exe done.  Thank you.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Und, existiert denn die Datei überhaupt? Hast Du das geprüft?

von Marco H. (damarco)


Lesenswert?

Ich vermute das der linker kein hex File erzeugt weil dies standardmäßig 
so eingestellt ist. Unter Toolchain ganz oben "OutputFiles" schauen ob 
der Haken beim .hex drin ist.

Ich gehe davon aus das dass Projekt ohne Fehler übersetzt wurde ?

von Dirk -. (dirkschn2014)


Angehängte Dateien:

Lesenswert?

Rufus Τ. F. schrieb:
> Und, existiert denn die Datei überhaupt? Hast Du das geprüft?

Also die .hex datei ist komischer weise nicht erstellt worden siehe 
Bild.

Marco H. schrieb:
> Ich vermute das der linker kein hex File erzeugt weil dies standardmäßig
> so eingestellt ist. Unter Toolchain ganz oben "OutputFiles" schauen ob
> der Haken beim .hex drin ist.

Die Einstellung ist aktiv (siehe Bild) wie gesagt beim 2560 hat alles 
ohne Probleme funktioniert.

Marco H. schrieb:
> Ich gehe davon aus das dass Projekt ohne Fehler übersetzt wurde ?

Was meinst du damit?

von Bastian W. (jackfrost)


Lesenswert?

Die Datei ist doch da nur nicht als Main.hex sondern unter dem Namen 
deines Projektes

Gruß JackFrost

von Dirk -. (dirkschn2014)


Lesenswert?

Bastian W. schrieb:
> Die Datei ist doch da nur nicht als Main.hex sondern unter dem Namen
> deines Projektes
>
> Gruß JackFrost

Ja das stimmt aber laut Fehlermeldung möchte er die Main.hex haben. Und 
die ist nicht da?!

von Marco H. (damarco)


Lesenswert?

Das ist doch ein script da fehlt der korrekte Eintrag das *.hex aus dem 
Projektnamen erzeugt wird. Schau mal in das script das avrdude 
anschiebt.

von Jochen R. (Firma: Herr) (jotterby)


Lesenswert?

Auch wenn die Frage schon älter ist, das Problem lässt sich relativ 
einfach lösen. (warum es dann funktioniert ist mir aber noch 
rätselhaft.)

Man muss vor der Übertragung mit dem externen Tool (AVR Dude), welches 
durch Anklicken des "Arduino Uno" oder "Arduino Mega" Buttons geschieht, 
das

 "Device und debug window"

geöffnet und aktiv haben. Öffnen kann man dieses Fenster durch Klicken 
auf den Device Button z.B. ATMEGA328P.

Dies hat zur Folge, dass AVRDude plötzlich die Datei "projektname.hex" 
sucht und findet und nicht mehr nach der "main.hex" sucht!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.