Forum: Mikrocontroller und Digitale Elektronik Atmel Studio 6 - Buildproblem


von No N. (edddg123)


Lesenswert?

Hallo Leute ich bin total neu hier, ich brauche dringende Hilfe.
ich bin umgestiegen von Eclipse auf Atmel Studio 6, ich habe folgendes
Problem, ich versuche mein Projekt per Jtagice mkii auf den µC Atmega64
zu flashen. leider geht das nicht.. wo mach ich was falsch??
Wenn ich auf Start klicke kriege ich folgende Meldung:

Build started.
Project "Testxx.cproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition;
('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files\Atmel\Atmel Studio
6.0\Vs\Compiler.targets" from project "C:\Atmel
Studio\Testxx\Testxx\Testxx.cproj" (target "Build" depends on it):
  Task "RunCompilerTask"
    C:\Program Files\Atmel\Atmel Studio 6.0\make\make.exe all
    make: Nothing to be done for `all'.
  Done executing task "RunCompilerTask".
  Task "RunOutputFileVerifyTask"
        Program Memory Usage   :  23474 bytes   35,8 % Full
        Data Memory Usage     :  2267 bytes   55,3 % Full
        EEPROM Memory Usage   :  917 bytes   44,8 % Full
  Done executing task "RunOutputFileVerifyTask".
Done building target "CoreBuild" in project "TestTW8832.cproj".
Target "PostBuildEvent" skipped, due to false condition;
('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "Build" in file "C:\Program Files\Atmel\Atmel Studio
6.0\Vs\Avr.common.targets" from project "C:\Atmel
Studio\Testxx\Testxx\Testxx.cproj" (entry point):
Done building target "Build" in project "Testxx.cproj".
Done building project "Testxx.cproj".

Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped
==========

Für jegliche hilfe bin ich sehr dankbar..

VG

von Kan a. (Firma: Basta) (kanasta)


Lesenswert?

No Name schrieb:
> Build: 1 succeeded

Das kompilen funktioniert. Falsche Ausgabe gepostet?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Wahrscheinlich funktioniert bereits alles, und du weißt es nur nicht?

von EGS_TI (Gast)


Lesenswert?

lol

von Kan a. (Firma: Basta) (kanasta)


Lesenswert?

No Name schrieb:
> ich brauche dringende Hilfe

Das glaube ich auch.

von No N. (edddg123)


Lesenswert?

was genau sollte ich posten? bin total neu in allem :((

von Dietrich L. (dietrichl)


Lesenswert?

Wenn das beim Studio 6 noch genauso ist (ich habe 4.x), musst Du nach 
den Compilieren das Programmieren separat starten.

Gruß Dietrich

von No N. (edddg123)


Lesenswert?

das hab ich auch schon ausprobiert, geht leider auch nicht, der jtag 
blinkt zunächst grün dann orange und dann blinkt er wieder rot und am 
ende wird nichts auf dem display angezeigt :(

von Ingo (Gast)


Lesenswert?

No Name schrieb:
> das hab ich auch schon ausprobiert, geht leider auch nicht, der jtag
> blinkt zunächst grün dann orange und dann blinkt er wieder rot und am
> ende wird nichts auf dem display angezeigt :(

1. Guck doch mal ob ein Hex-File erzeugt wurde.
2. Was machen die Fuse-Bits?
3. Funktionierte dein Programm schonmal?
4. F_CPU definiert?
5. Mach mal Werror an


Ingo

von Ingo (Gast)


Lesenswert?

Lass doch in deinem Programm örstmal eine LED blinken bevor du dich auf 
ein LCD stürzt...


Ingo

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

No Name schrieb:
> und am
> ende wird nichts auf dem display angezeigt

Dann funktioniert dein Programm noch nicht, aber alles andere
(vom Compilieren bis zum Hochladen des Programmcodes in den Flash)
sehr wohl.

Jetzt beginnt die eigentliche Arbeit …

von No N. (edddg123)


Lesenswert?

> 1. Guck doch mal ob ein Hex-File erzeugt wurde.
> 2. Was machen die Fuse-Bits?
> 3. Funktionierte dein Programm schonmal?
> 4. F_CPU definiert?
> 5. Mach mal Werror an
>
>
> Ingo

1. Hex-File wurde erzeugt
2. Fusebits sind gesetzt..
3. mein Programm funktioniert auf Eclipse ja nicht aber auf Atmel Studio 
6 :(
4. F_CPU ist auch definiert
5. Wie macht man ein Werror?

von holger (Gast)


Lesenswert?

>3. mein Programm funktioniert auf Eclipse ja nicht aber auf Atmel Studio
>6 :(

Dann hattest du bei Eclipse evtl. die Optimierung nicht
eingeschaltet, beim AVR STudio aber schon. Und bumm fliegen
einem Warteschleifen die für den Compiler keinen Sinn machen
um die Ohren.  Wegoptimiert.

Code zeigen!

von No N. (edddg123)


Lesenswert?

holger schrieb:
>>3. mein Programm funktioniert auf Eclipse ja nicht aber auf Atmel Studio
>>6 :(
>
> Dann hattest du bei Eclipse evtl. die Optimierung nicht
> eingeschaltet, beim AVR STudio aber schon. Und bumm fliegen
> einem Warteschleifen die für den Compiler keinen Sinn machen
> um die Ohren.  Wegoptimiert.
>
> Code zeigen!

das ist ein mega projekt, was genau soll ich denn zeigen?

von holger (Gast)


Lesenswert?

>> Code zeigen!
>
>das ist ein mega projekt, was genau soll ich denn zeigen?

ATMega64, da passt doch nix rein. Was ist daran mega?
Aber lass mal stecken, ich geh lieber schlafen.

von Transsisstorrr (Gast)


Lesenswert?

No Name schrieb:
> bin total neu in allem :((

No Name schrieb:
> das ist ein mega projekt

Wo hast du das Mega-Projekt denn kopiert? Vielleicht ein Link?

Ingo schrieb:
> Lass doch in deinem Programm örstmal eine LED blinken bevor du dich auf
> ein LCD stürzt...

Das mit der LED klappt doch längst:

No Name schrieb:
> der jtag
> blinkt zunächst grün dann orange und dann blinkt er wieder rot

von Umpa Lumpa (Gast)


Lesenswert?

Hast du auch den richtigen Pfad zu deinem HEX-File eingestellt?

von ich (Gast)


Lesenswert?

Hallo zusammen

Mir ist bewusst, dass dieser Tread schon alt ist, da jedoch noch niemand 
eine Lösung gepostet hat oder das Problem erkannt hat und bei der 
googlesuche nach "avr studio make: Nothing to be done for `all'." der 
erste Treffer hier ist, werde ich meine Lösung posten.

Lösungsweg: 1. unter "Project-projektname properties-Build" Use external 
Makfile aktivieren und bei dem Pfad der Pfad zum Automatisch generierten 
Hex-File eingeben.
           2. Neues Projekt anlegen, welches einen kurzen Pfad hat*.



Das Problem liegt am Makefile, oder besser gesagt der Pfad dahin.
Wenn du das Projekt zum ersten mal kompilierst oder neu kompilierst nach 
dem du eine weitere Datei zum Projekt hinzugefügt hast, wird das 
Makefile neu erstellt, und wird am make.exe (Atmel Studio 
6.0\make\make.exe) korrekt übergeben. Somit kann make.exe gcc-avr die 
korrekten befehle geben.
Danach wird allerdings der Pfad zum Makefile nicht korrekt gespeichert 
(vermutlich wegen der Pfadlänge).

Die Meldung "make: Nothing to be done for `all'." bedeutet, das make.exe 
nichts gegeben wird, da er dass Makefile nicht findet. Somit wird auch 
nichts Kompilierst und das HEX-File wird nicht neu erstellt.

> 1. Hex-File wurde erzeugt
Nur das erste mal, danch wird es nicht aktualisiert.
(Zum testen kannst du das HEX-File löschen)


Ob dein code Compiliert wird, kannst du z.b. testen, in dem du eine 
unbenutzte lokale variable erstellst. Kommt eine Warnung wird er 
Compiliert. eine andere möglichkeit gibt es mit "#error".





No Name schrieb:
> das hab ich auch schon ausprobiert, geht leider auch nicht, der jtag
> blinkt zunächst grün dann orange und dann blinkt er wieder rot...
Da hast du villeicht ein weiteres Problem, was jedoch nichts mit dem 
anderen zu tun hat.
Die LED sollte nicht rot sein, ausser du hast z.b. nicht die richtige 
Spannung auf dem uC.




*Bei mir tauchte dieses Problem auf, sobald der Pfad zulannge wird 
(inklusive Sourcefiles).

Freundliche Grüsse

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.