PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AVR Studio 5



Achim S.
08.05.2011, 12:23
Hallo Freunde
Auf der Seite von Atmel kann man sich die neuste Version vom AVR Studio holen. Zur Zeit ist es die 5. Habe mir das Paket geholt und versuche damit klar zu kommen. Hat jemand schon Erfahrung damit? Gibt es auch eine deutsche Sprache dazu und wo finde ich die? Gibt es schon in Wiki was dazu? Oder eine kurze Anweisung zum arbeiten damit?
Achim

askazo
08.05.2011, 14:23
Hi,
ich verwende die 5er-Version schon seit ein paar Wochen und komme eigentlich ganz gut damit klar.
Eine komplette Anleitung zu schreiben würde hier jetzt allerdings den Rahmen sprengen.
Einfacher wäre es, wenn Du konkrete Fragen stellst oder beschreibst, womit Du nicht klarkommst.
Eine "eingedeutschte" Version gibt es soweit ich weiß (noch?) nicht.

Gruß,
askazo

Achim S.
08.05.2011, 14:49
Hallo
mit den Fragen ist es nicht so leicht. Im Prinzip müsste ich alles Fragen. Fangen wir mal an. Wie starte ich Programm oder lade es? wie kann ich die libs angeben oder einbinden? Wie Prommer angeben? Hat es ähnlichkeit zu Version 2008? (Habe da ein Buch zu) Wie starte ich Compiler? Wie schicke ich Daten zum Bot?
Auf die schnelle ein paar Fragen. Danke für deine Hlfe
Achim

askazo
09.05.2011, 14:27
Ok - am einfachsten fängst Du an, indem Du ein existierendes Projekt aus AVRStudio 4 importierst. Dazu klickst Du in der Menüleiste aus "File -> Import AVR Studio 4 Projekt". Daraufhin öffnet sich ein Fenster, in dem Du den Pfad zu der aps-Datei des Projektes angeben kannst sowie den Pfad, unter dem das Projekt in der Studio 5 Version gespeichert werden soll (default ist Eigene Dateien/AVRStudio/*Projektname*).
Damit hast Du schon mal ein fertiges Projekt, mit dem Du arbeiten kannst. Die im Projekt beinhalteten Dateien findest Du nun im "Solution Explorer" am rechten Bildrand. (Die Fenster kann man sich auch so zurechtschieben, wie mal es gerne hätte. Ich habe den Solution Explorer z.B. lieber auf der Linken Seite). Wundere Dich nicht, dass es nun übergeordnet zum Projekt auch noch die Solution gibt. Eine Solution kann mehrere Projekte enthalten - das ist ganz nützlich, wenn man z.B. einen Bootloader schreiben möchte. Muss Dich aber erst mal nicht weiter stören.

Um Libraries einzubinden, klickst zu zunächst mal im Solution Manager mit der rechten Maustaste auf das Projekt und dann auf "Properties". Im Hauptfenster öffnen sich jetzt die Projekteigenschaften. Wenn Du links auf den Reiter "Toolchain" klickst, kommst Du zu den Compiler-Einstellungen (quasi das Makefile). Dort kannst Du unter dem Punkt Libraries die Libs angeben, die Du einbinden willst. AVR Studio 5 bietet hier leider keine Liste der existierenden Libs an, daher musst Du den Namen bzw. den Pfad der Lib kennen. Ich hoffe, das wird noch nachgebessert. Die AVR Toolchain (also das frühere WinAVR) findest Du nun unter C:\Programme\Atmel\AVR Studio 5.0\extensions\Application\Avr ToolChain
Im Reiter "Build" musst Du unbedingt noch ein Häkchen bei Generate Files: .hex (ganz unten links) machen, sonst bekommst Du beim Kompilieren kein hex-File, das Du auf den Contoller übertragen kannst.

Um das Projekt zu kompilieren, wählst Du in der Menüleiste "Build -> Build Solution" aus. Alternativ kannst Du auch "Build *Projektname*" wählen, macht aber genau dasselbe, wenn Du nur ein Projekt in der Solution hast.

Um das Programm jetzt auf den Bot zu bekommen, wählst Du in der Menüleiste "Tools -> AVR Programming". Das Symbol findest Du auch in der Befehlsleiste. Es öffnet sich ein Fenster, in dem Du oben links den Programmer (Tool), den verwendeten Controller und die Programmierschnittstelle (ISP, JTAG...) auswählen kannst. Bei Tools werden nur die Programmer angezeigt, die gerade am PC angeschlossen sind und vom Studio 5 unterstützt werden.
Dann "Apply" klicken. Der Rest ist eigentlich relativ selbsterklärend, wenn man Studio 4 kennt.

Das Studio 5 ist durch die Verwendung von MS Visual Studio als Oberfläche ziemlich komplex und mächtig geworden. Es hat auch absolut keine Ähnlichkeit mehr zur Version 4. Von daher kannst Du Dein Buch wohl leider vergessen. Ich habe auch bei weitem noch nicht alle Features ausprobiert, die geboten werden. Einiges ist auch komplizierter geworden bzw. nicht mehr so schön, wie beim Vorgänger. Aber alleine die intelligente Unterstützung beim Programmieren im Editor ist schon den Umstieg wert.

Gruß,
askazo

Achim S.
09.05.2011, 16:43
Hallo erst mal danke für deine Antwort. Werde nach her mal alles was du geschrieben hast ausprobieren. Zum Anfang wunderbar. Sicher gibt es nach her noch viele andere achen zu entdecken. Wieder hast du was neues gesagt was ich nicht kenne "interlegente Unterstützung beim Programmieren". Sorry, kenneich nicht in dieser Art.
Danke für deine Hilfe. Werde auch berichten was ich gefunden habe.
Achim

BurningWave
17.05.2011, 17:22
Wie muss eigentlich ein neues GCC Projekt richtig konfigurieren, um es compilieren zu können? Ich bekomme bei allen neu erstellen Projekten einen Compilerfehler:


------ Erstellen gestartet: Projekt: Test, Konfiguration: Release AVR ------
Der Buildvorgang wurde gestartet.
Projekt "Test.avrgccproj" (Standardziele):
Erstellung mit der Toolsversion 2.0.
Das Ziel "PreBuildEvent" wurde übersprungen, da die Bedingung "false" war . ('$(PreBuildEvent)'!='') wurde als (''!='') ausgewertet.
Ziel "CoreBuild" in Datei "C:\Program Files (x86)\Atmel\AVR Studio 5.0\Vs\AvrGCC.targets" aus Projekt "D:\Eigene Programme und Dateien\ATMEL\Eigene Projekte\Test\Test.avrgccproj" (Ziel "Build" ist davon abhängig):
Die RunAvrGCC-Aufgabe aus der C:\Program Files (x86)\Atmel\AVR Studio 5.0\Vs\AvrGCCLib.dll-Assembly wird verwendet.
RunAvrGCC-Aufgabe
make all
make: *** Keine Regel vorhanden, um das Target Test.o½,
ben÷tigt von ╗Test.elf½, zu erstellen. Schluss.
Die Ausführung der RunAvrGCC-Aufgabe ist abgeschlossen -- FEHLER.
Die Erstellung des Ziels "CoreBuild" im Projekt "Test.avrgccproj" ist abgeschlossen -- FEHLER.
Die Erstellung des Projekts "Test.avrgccproj" ist abgeschlossen -- FEHLER.
Fehler beim Erstellen
========== Build: 0 erfolgreich oder aktuell, Fehler bei 1, 0 übersprungen ==========


Importierte Projekte aus AVR Studio 4 kann ich problemlos compilieren.

vnrobot1
31.07.2011, 22:41
hallo
ich suche zur Zeit verzweifelt nach eine lösung um das nibobeelib in avr studio 5 einzubinden und ein Programm zu compilieren

Aber jedes mal kam die fehlermeldung, dass kein lib (<nibobee/iodefs.h> ,...) gefunden wurden???

Hier sind ein paar Bilder von meine Einstellungen:

19487

19488

Und hier die Fehlermeldung nach Compilieren:

------ Build started: Project: nibo, Configuration: Debug AVR ------
Build started.
Project "nibo.avrgccproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files\Atmel\AVR Studio 5.0\Vs\AvrGCC.targets" from project "C:\Users\AVATAR\Documents\AVRStudio\nibo\nibo\nibo .avrgccproj" (target "Build" depends on it):
Task "RunAvrGCC"
C:\Program Files\Atmel\AVR Studio 5.0\AVR ToolChain\bin\make.exe all
nibo.c
C:\Users\AVATAR\Documents\AVRStudio\nibo\nibo\nibo .c(8,28 ) : nibobee/iodefs.h: No such file or directory
compilation terminated.
make: *** [nibo.o] Fehler 1
Invoking: AVR/GNU C Compiler
"C:/Program Files/Atmel/AVR Studio 5.0/AVR ToolChain/bin/avr-gcc.exe" -mcall-prologues -funsigned-char -funsigned-bitfields -I"C:\Program Files\NIBObeeLib\include\nibobee" -Os -fpack-struct -fshort-enums -g2 -Wall -c -std=gnu99 -mmcu=atmega16 -MD -MP -MF"nibo.d" -MT"nibo.d" -o"nibo.o" ".././nibo.c"
Done executing task "RunAvrGCC" -- FAILED.
Done building target "CoreBuild" in project "nibo.avrgccproj" -- FAILED.
Done building project "nibo.avrgccproj" -- FAILED.

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


Was habe ich den falsch gemacht bzw. wie muss ich es richtig einstellen???

mfg

BurningWave
31.07.2011, 23:36
Lass mal das "\nibobee" aus dem in den Projekteinstellungen angegebenen Includepfad weg. Dieses Verzeichnis öffnest du doch schon durch die Pfadangabe im Include: #include <nibobee/iodefs.h>

vnrobot1
01.08.2011, 07:39
danke für den schnellen Antwort
leider hat des gar nicht geholfen, es erschient immer noch die gleiche fehlermeldung sie von vorher:

------ Build started: Project: nibo, Configuration: Debug AVR ------
Build started.
Project "nibo.avrgccproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files\Atmel\AVR Studio 5.0\Vs\AvrGCC.targets" from project "C:\Users\AVATAR\Documents\AVRStudio\nibo\nibo\nibo .avrgccproj" (target "Build" depends on it):
Using "RunAvrGCC" task from assembly "C:\Program Files\Atmel\AVR Studio 5.0\Vs\AvrGCCLib.dll".
Task "RunAvrGCC"
C:\Program Files\Atmel\AVR Studio 5.0\AVR ToolChain\bin\make.exe all
nibo.c
Invoking: AVR/GNU C Compiler
"C:/Program Files/Atmel/AVR Studio 5.0/AVR ToolChain/bin/avr-gcc.exe" -mcall-prologues -funsigned-char -funsigned-bitfields -Os -fpack-struct -fshort-enums -g2 -Wall -c -std=gnu99 -mmcu=atmega16 -MD -MP -MF"nibo.d" -MT"nibo.d" -o"nibo.o" ".././nibo.c"
C:\Users\AVATAR\Documents\AVRStudio\nibo\nibo\nibo .c(8,28 ) : nibobee/iodefs.h: No such file or directory
compilation terminated.
make: *** [nibo.o] Fehler 1
Done executing task "RunAvrGCC" -- FAILED.
Done building target "CoreBuild" in project "nibo.avrgccproj" -- FAILED.
Done building project "nibo.avrgccproj" -- FAILED.

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

hat jemand vielleicht noch ein andere Idee wie es gehen soll?

mfg

BurningWave
01.08.2011, 19:34
Bist du dir sicher, dass der angegebene Pfad stimmt?
Hast du bzw. AVR Studio die Berechtigungen, um auf den Ordner zuzugreifen? Kannst es ja mal als Admin starten.

vnrobot1
01.08.2011, 20:18
hab auch schon gemacht: AVR Studio als Administrator ausführen -> dann nochmals compiliert und es kam die gleiche fehler meldung

gibt es vielleicht noch andere Lösung???:confused:


mfg

BurningWave
01.08.2011, 20:21
Er findet die Datei nicht. Die einzige Lösung ist, einen gültigen Pfad anzugeben. Du kannst die Includes und Libs ja mal wo anders speichern und dementsprechend einen anderen Pfad angeben,

vnrobot1
01.08.2011, 22:01
ich hab alles versucht:
neue projekt erstellt und lib+include in andere ordner kopiert dann nur die lib eingebunden und auch versucht zu compilieren
aber alles hilf leider immer noch nicht weiter:(:(:(

oder soll ich vielleicht lib+include direkt in das projekt ordner kopieren, geht das???

mfg

BurningWave
02.08.2011, 10:30
Ja, wenn du dann die Datei mittels #include "xyz.h" einbindest, geht das. Du könntest die Header auch einfach direkt in das Includeverzeichnis deines Compilers verschieben.

vnrobot1
02.08.2011, 13:46
ich hab schon alles probiert was mir einfällt, auch include+lib in das projektordner kopiert
alles funktioniert nicht :(:(:(

hat vielleicht jemand noch andere Vorschlag???

mfg

BurningWave
02.08.2011, 14:06
Es gibt keine andere Lösung. Das Problem ist, dass dein Pfad nicht stimmt oder AVR Studio keine Berechtigungen hat, den angegebenen Pfad zu öffnen (was unwahrscheinlich ist).
Dir ist hoffentlich klar, dass der resultierente Pfad, unter dem nach den Headern gesucht wird, der in den Directories angegebene Pfad + der Pfad der #include-Direktive ist. Also in deinem Fall ...\include\nibobee\nibobee\iodefs.h
Ist es korrekt, dass die Datei in 2 gleichnamigen verschachtelten Verzeichnissen liegt oder sollte der Pfad ...\include\nibobee\iodefs.h lauten?!

vnrobot1
02.08.2011, 16:47
der Pfad lautet in avr studio 5 so: ../../../../../../Program Files/NIBObeeLib/include/nibobee
muss ich den genauen Pfad des Datei angeben, also :../../../../../../Program Files/NIBObeeLib/include/nibobee und noch dazu /iodefs.h ???
da das Pfadsuchen in Avr Studio5 nur bis zu den Ordner führt und nicht zu den Datei!!!

Und was ist mit den Libraries? wie muss ich da angeben?

Hast du auch nibobee? Kannst du mir vielleicht zeigen was du so alles eingstellt hast?

Danke im Voraus

mfg

BurningWave
02.08.2011, 17:05
bindest die Datei doch mittels #include <nibobee\iodefs.h> ein. Das heißt, in den Projekteinstellungen muss "X:/../../../../../../Program Files/NIBObeeLib/include/" stehen, wenn der absolute Pfad "X:/../../../../../../Program Files/NIBObeeLib/include/nibobee/iodefs.h" lautet. Der Lib-Pfad muss "X:/../../../../../../Program Files/NIBObeeLib/Lib/" heißen.
Nein, ich habe den Nibobee nicht.

vnrobot1
02.08.2011, 17:09
hallo nochmals :),
danke für dein schnelle Antwort BurningWave
ich glaube ich komme die Sache jetzt ein Schritt näher.
und zwar habe ich jetzt in includepath C:\Program Files\NIBObeeLib\include so eingegeben, also nur bis "include"
und avr studio5 kann den Pfad finden

Aber leider ein Problem gelöst und schon kommt die nächste :( :( :(

Und zwar erscheint bei mir folgende fehlermeldung:
19537

des hat irgendwie mit den bibliothek von nibobee zu tun, daher weiß ich nicht was ich da verändern soll bzw. ich traue mich nicht da etwas zu verändern:

19538

19539

19540

Mein code sieht so aus:

#include <nibobee/iodefs_nibobee.h>
#include <nibobee/led.h>
#include <nibobee/delay.h>

int main ()
{
led_init ();
while(1==1)
{
led_set (LED_L_RD, 1);
delay(500);
led_set (LED_L_RD, 0);
delay(500);
}
return 0;
}


Und hier ist die fehlermeldung:


------ Build started: Project: nibo, Configuration: Debug AVR ------
Build started.
Project "nibo.avrgccproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files\Atmel\AVR Studio 5.0\Vs\AvrGCC.targets" from project "C:\Users\AVATAR\Documents\AVRStudio\nibo\nibo\nibo .avrgccproj" (target "Build" depends on it):
Task "RunAvrGCC"
C:\Program Files\Atmel\AVR Studio 5.0\AVR ToolChain\bin\make.exe all
nibo.c
Invoking: AVR/GNU C Compiler
"C:/Program Files/Atmel/AVR Studio 5.0/AVR ToolChain/bin/avr-gcc.exe" -mcall-prologues -funsigned-char -funsigned-bitfields -I"C:\Program Files\NIBObeeLib\include" -Os -fpack-struct -fshort-enums -g2 -Wall -c -std=gnu99 -mmcu=atmega16 -MD -MP -MF"nibo.d" -MT"nibo.d" -o"nibo.o" ".././nibo.c"
In file included from .././nibo.c:9:0:
C:\Program Files\NIBObeeLib\include/nibobee/led.h(83,22): expected ')' before 'led'
In file included from C:\Program Files\NIBObeeLib\include/nibobee/delay.h:42:0,
from .././nibo.c:10:
c:\program files\atmel\avr studio 5.0\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h(89,3): #warning "F_CPU not defined for <util/delay.h>"
.././nibo.c: In function 'main':
C:\Users\AVATAR\Documents\AVRStudio\nibo\nibo\nibo .c(17,3): implicit declaration of function 'led_set'
make: *** [nibo.o] Fehler 1
Done executing task "RunAvrGCC" -- FAILED.
Done building target "CoreBuild" in project "nibo.avrgccproj" -- FAILED.
Done building project "nibo.avrgccproj" -- FAILED.

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



Ich hoffe Ihr könnt mir dabei weiter helfen


Danke im voraus


mfg

BurningWave
02.08.2011, 17:48
Ja, ich habe ja schon am Anfang gesagt, dass der Ordner \nibobee doppelt angegeben ist ;)

Anhand dieser kurzen Ausschnitte kann ich unmöglich sagen, woran der Fehler liegt. Könntest aber mal noch
#define F_CPU __FREQUENZ_DEINER_SCHALTUNG_IN_HZ__
#include <util\delay.h>
#include <avr\io.h>
an den Programmanfang setzen (also vor alles andere!).

vnrobot1
02.08.2011, 18:30
jetzt sieht mein code so aus:

#define F_CPU 15000000 Hz

#include <util/delay.h>
#include <avr/io.h>
#include <nibobee/iodefs_nibobee.h>
#include <nibobee/led.h>
#include <nibobee/delay.h>

int main ()
{
led_init ();
while(1==1)
{
led_set (LED_L_RD, 1);
delay(500);
led_set (LED_L_RD, 0);
delay(500);
}
return 0;
}

und es erschien diese fehler:

Error 1 expected ')' before 'Hz' c:\program files\atmel\avr studio 5.0\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h 139 12 nibo

Aber muss man nicht die Frequenz irgendwo bei den Einstellung eingeben?
Da in den nibobee tutorial so gezeigt wird(avr studio4)? leider kann ich in avr studio5 nirgendwo finden!!?

BurningWave
02.08.2011, 21:52
Beschäftige dich mal ein bisschen mit den Grundlagen ;)
Dieses #define braucht keine Maßeinheit...

vnrobot1
02.08.2011, 22:04
ok danke,
ich habe jetzt irgendwie geschafft avr studio4 auf vista zu installieren
und es funktioniert alles wunderbar:)

ich glaube ich benutze lieber avr studio 4, da ich auch erst mal C und so lernen will :)

avr studio 5 lasse ich lieber erst mal :)

Vielen vielen Dank, dass du mir geholfen hast BurningWave

mfg