Forum: Compiler & IDEs Neue AVR-Studio mit AVR-GCC Integration


von Peter F. (pfleury)


Lesenswert?

Ateml hat eine neue Version von AVR Studio veröffentlicht, die AVR-GCC
(WinAVR) voll integriert, d.h. editieren, compilieren und debuggen sind
unter der AVR Studio Oberfläche direkt möglich, ohne einen externen
Editor zu verwenden. Einzig WinAVR muss separat installiert werden.

Ist zwar eine Vorab-Version (RC1) funktioniert aber gut.

http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725
-> AVR Studio 4.12 RC1 (build 452) (45 MB, updated 10/05)

von Joline (Gast)


Lesenswert?

Klasse, endlich eine IDE, mit der man auch debuggen kann.
Muss ich gleich mal probieren.

P.S. an die Besserwisser: Ja, ich habe von Insight gehört.

von OldBug (Gast)


Lesenswert?

...gibt ja auch noch emacs flame ;-)

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


Lesenswert?

Ein Debugger, mit dem man sogar editieren kann. ;-)

von (geloescht) (Gast)


Lesenswert?

(Dieser Beitrag wurde geloescht)

von Antigamberos (Gast)


Lesenswert?

Hi,

hab mit grosser Freude diesen Thread gelesen, das Update aufgespielt
und nun leider festgestellt dass nix mehr geht. Folgende Fehlermeldung
beim starten der Debugging Session: "Could not connect to JTAGICE
mkII." Equipment: USB-Kabel, MCU = AT90Can128

Laut Help->Release Notes and known Issues->known Issues kann es
vorkommen, dass: "Some users can not select any devices for debugging,
and/or the debug session will never start." Dies sei aufgrund
fehlerhafter DLL's und man sollte den neuesten MSXML Parser
installieren. Gesagt getan, nix passiert. Hat jemand das gleiche
Problem und eine Lösung?

von Jens (Gast)


Lesenswert?

Ich habe mir die neue Version installiert und gestartet. Das Fenster
lies sich nicht automatisch maximieren, es blieb oben ein Streifen
übrig. Nur manuell durch ziehen des Fensters konnte man es maximieren.
Bei Aktivierung des LCD-Panels stürzte die ganze Anwendung ab ->
vollständige Deinstallation, kein Bock auf so Software. Habt ihr
ähnliche Erfahrungen damit gemacht?

Jens

P.S.: Benutze WinXP SP2

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


Lesenswert?

Bitte diskutiert das mal außerhalb des GCC-Forums weiter (am
besten mit Atmel Norwegen selbst).

von Jens (Gast)


Lesenswert?

Tschuldigung Herr Lehrer.

von Alex (Gast)


Lesenswert?

Da ich den avrgcc als Compiler im AVR Studio verwende kann ich ja hier
schreiben, dass in Zusammenarbeit mit dem avrisp von Atmel keinerlei
Probleme auftauchen. Alles lässt sich prima compilieren und das Flashen
der Controller klappt auch. Musste nur die Datenrate nach einem Update
der Firmware wieder hochstellen, da es sonst quälend langsam ging.
Endlich hat nun auch das Rumgemehre mit Makefiles ein Ende, diese
Arbeit nimmt einem das Studio ab.
Was ich noch nicht gefunden habe ist das Compiler Flag (CSTANDARD).
Genutzt wird glaube ich der C99 Mode, zumindest gibt die Fehlermeldung
vom avrgcc das so an, wenn ich folgendes Konstrukt nutzen möchte:

for (int i=0; i<2; i++);

So definiere ich mir die Laufvariablen halt außerhalb, auch kein
Beinbruch. Ich hoffe, dass er eher gnu99 nutzt, da der oben genannte
Mode zumindest laut makefile nicht komplett implementiert sein soll.

Dem Compileraufruf kann ich diese Info nicht direkt entnehmen:

avr-gcc  -mmcu=at90can128 -Wall -gdwarf-2 -O0 -funsigned-char -
funsigned-bitfields -fpack-struct -fshort-enums -Wp,-M,-MP,-MT,can.o,-
MF,dep/can.o.d  -c   ../can.c -o can.o

Die Option Export-Makefile erzeugt ein Makefile, dass diesen Eintrag
nicht enthält.

Positiv ist, dass das AVR Studio als Editor wesentlich besser geeignet
ist als das PN.

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


Lesenswert?

> Genutzt wird glaube ich der C99 Mode, zumindest gibt die
> Fehlermeldung vom avrgcc das so an, wenn ich folgendes Konstrukt
> nutzen möchte:

Er wird eben gerade nicht genutzt, daher eine Fehlermeldung dafür.
Im C99-Modus würde ein derartiger Konstrukt akzeptiert.

von Roland Schmidt (Gast)


Lesenswert?

Einfach zu den Custom-Options -std=gnu99 hinzufügen, dann wird auch
obiger Konstrukt akzeptiert.

von Alex (Gast)


Lesenswert?

Besten Dank :)

von remo (Gast)


Lesenswert?

Habe heute die beiden aktuellsten Versionen
AVR Studio 4.12.452 und
WINAVR 20050214 auf meinem neuen "blanken" XP-Rechner installiert.
C-Demoprograemmchen klappt auf anhieb, aber

beim Sourcecode Debuggen mit dem Simulator in der IDE kann ich die
Vaiablen nicht ansehen, er behaupet immer "out of Scope".

Wollte jetzt nicht in der neuen sauberen Installation rumfummeln.
Kennt einer die Lösung für mein Problem?
Hat das noch immer mit den .coff files zu tun. Mich wundert, daß dieses
Thema nicht automatisch mit dem neuen AVR Studio gelöst ist.

P.S.: hab mich bislang beim AVR mit Assembler rumgeschlagen und wollte
nun die gelegenheit ergreifen....

Danke für eure Hilfe
Remo

von OldBug (Gast)


Lesenswert?

"out of scope" sind meistens Wegoptimierte Variablen. Möglicherweise
hat der Compiler erkannt, daß er die Variable in einem Register halten
kann...

von Unbekannter (Gast)


Lesenswert?

Zum Debuggen unbedingt alle Optimierungen ausschalten. Sonst ist
debugging praktisch unmöglich, da das Kompilat praktisch nichts mehr
mit dem ursprünglichen Source-Code zu tun hat.

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


Lesenswert?

Danach dann komplett nochmal debuggen, weil der fertige Code
mit dem nichtoptimierten praktisch nix mehr zu tun hat...

von Alex (Gast)


Lesenswert?

Zumindest Logikfehler bekommt man so aus dem Code. Fehler des Compilers
bzw. syntaktische Fehler des Anwenders (dieses Gerammel mit volatile &
Co) kann man so halt nicht debuggen. Auf jeden Fall ist man so schon
mal auf dem halben Weg zum lauffähigen Programm.

von Remo (Gast)


Lesenswert?

Also zunächst werd ich mal ohne Optimizer compilieren, um überhaupt mal
die Logigfehler raus zu bekommen. Daß dann vor allem Timing Probleme
übrigbleiben, weil der Code nach dem Optimizer wieder ganz anders
aussieht ist mir klar.

Gibt es in der IDE irgendwie einen Switch für DEbug oder OPtimize, oder
muß man immer in den Compileroptionen in den Flags rumfummeln.
Da gibts doch bestimmt irgendwo einen Targetswitch, nur wo?

Danke und ciso
Remo

von Ithamar G. (antimon)


Lesenswert?

Auf den Tag hab ich seit Ewigkeiten gewartet - endlich mit dem AVR
Studio in C Programmieren - ausgezeichnet!

Gibts eine Möglichkeit, jetzt auch mit dem AVR Studio über einen
selbstgebauten ISP-Programmer den IC zu beschreiben? Oder muss das
immer noch umständlich per PonyProg gemacht werden?
WinAVR ist ja in AVR Studio eingebunden, kann man das dann auch zum
Programmieren nehmen?

Sorry, die Frage ist vielleicht ein bisserl blöd, aber ich bin mit den
ganzen Programmiermöglichkeiten noch nicht so durchgestiegen.

Übrigens: AVR Studio kann einen Chip aber nicht in Echtzeit simulieren
oder? Wenn ich z.B. einen Ausgang mit 1 Hz an-/ausschalte (z.B. für
eine blinkende Lampe), wird das nicht als "Blinken" bei den Ports
dargestellt - eine Zustandsänderung wird nur angezeigt, wenn ich die
Simulation pausiere. Ist das normal so, oder liegt es an meinen
Einstellungen? Bei anderen µC-Umgebungen bin ich es gewohnt, das Ganze
in "Echtzeit" angezeigt zu bekommen...

von mthomas (Gast)


Lesenswert?

AVR-Studio unterstuetzt nicht direkt Selbstbaudongels, man kann aber
relativ einfach Aufrufe von avrdude in das "Tools-Menue" einbinden
und diese an "Keyboard-Shortcuts" binden. Ist dann auch recht bequem.
Hatte das in den "vor STK500-Zeiten" so gemacht. Beispiele vgl.
cmd-Dateien im Sourcecode-Archiv zu "Eversmith":
http://www.siwawi.arubi.uni-kl.de/avr_projects/eversmith/index.html

Soweit erinnert, kann man Zustaende loggen (bisher selbst aber nicht
genutzt). Eine so schicke Darstellung wie sie Keil in uVision bietet,
habe ich bisher auch nicht gefunden. Wenn es ums "ausmessen" von ein
paar Laufzeiten geht: Es gibt eine Stopuhr. Breakpoints setzen und
verstrichende Zeit an der Stopuhr ablesen. Simulatortakt so einstellen
wie bei Zielhardware nicht vergessen. Simulation ist nicht
"Echtzeit", aber der Zeitberechnung liegt die Taktrate und Anzahl der
Zyklen/Befehl des "realen" Systems zugrunde.

von Ithamar G. (antimon)


Lesenswert?

Ah okay... weil grad das Stichwort µVision fällt - mit dem programmiere
ich nämlich gerade an einem C164 für ein Praktikum - dort kann man ja
eigene Testroutinen schreiben, z.B. simuliert man einen an die serielle
Schnittstelle angeschlossenen PC, der gewisse Daten sendet. Geht das mit
AVR-Studio auch irgendwie?

Zum Debuggen wäre das nicht praktisch, z.B. zu sagen ich drück nen
Taster für 1s, dann schalte ich nach 5s einen Schalter ein, ... so wie
wenn ich das Programm über reale Schalter steuern würde...

von edvdoctor (Gast)


Lesenswert?

Hier kann man noch eine etwas neuere Version herunterladen.

http://www.atmel.no/beta_ware/

von Florian S. (schwerflo)


Lesenswert?

Im AvrStudio lassen sich Plugins einbinden (z.B. für das STK und LCD)
Ich würde gern selbst was dafür schreiben. Kennt jemand die API, gibt
es darüber Informationen? Wenn ja, wo finde ich das, hat ATMEL das
veröffentlicht?

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


Lesenswert?

> Kennt jemand die API, gibt
> es darüber Informationen?

Frage am besten bei avr at atmel.com nach.

von pebisoft (Gast)


Lesenswert?

hallo, wie wird denn die make erstellt mit dem neuen avrstudio.
mfg pebisoft

von Matthias (Gast)


Lesenswert?

Hallo,
ich habe mir gerade das neue AVR Studio installiert. Es funktioniert
alles klasse. compilieren in gcc..usw.

kann ich irgendwo nach dem compilieren sehen wie viel speicher im Flash
belegt wird? so wie das bei assembler ist?
oder muss ich jedes mal erst ins Hex file gucken

Gruß Matthias

von Peter Fleury (Gast)


Lesenswert?

"kann ich irgendwo nach dem compilieren sehen wie viel speicher im
Flash
belegt wird?"

In der neuesten AVR Studio Version Build 456 funktioniert das:
http://www.atmel.no/beta_ware/

von Patrick D. (oldbug) Benutzerseite


Lesenswert?

Einrücken kann das Studio aber nicht...

von Peter Fleury (Gast)


Lesenswert?

"Einrücken kann das Studio aber nicht..."

TAB rückt ein, <shift>TAB nach links

Text markieren + TAB -> markierter Text eingerückt.

Ueber Tools -> Options -> Editor  kann man einstellen wieviel ein TAB
einrücken soll und ob TABs durch Space ersetzt werden sollen.

von Patrick D. (oldbug) Benutzerseite


Lesenswert?

Das bestätigt ja nur meine Aussage: das Studio kann nicht einrücken.
Wenn ich auf die Tabulatortaste drücke, dann mache ich das ja, und ich
bestimme auch, wie weit eingerückt wird (1 x Tab, 2 x Tab?)...

von Alexander (Gast)


Lesenswert?

Vielleicht hat er automatisches einrücken gemeint, das sollte jeder gute
Editor können ...

von Helmut Scholz (Gast)


Lesenswert?

Programm-Crash bei Debugging im Simulator von AVR-Studio bei
gcc-Projekten.

Zugegeben ich bin relativ neu hier. Habe das problem, daß mein
AVRStudio crashed mit einem Speicherfehler, wenn ich versuche WinAVR
(gcc)-Projekte zu deubggen.

Kann da jemand helfen?

Vielen Dank und viele Grüße

von mthomas (Gast)


Lesenswert?

Irgend eine Fehlermeldung?
dwarf-2 oder coff?
Simulator und gcc-Parameter auf Controller eingestellt?

von halmut (Gast)


Lesenswert?

Ich denke ich habe alles richtig eingestellt,

D. Watson meldet: Dr. Watson konnte keine Verbindung mit dem Prozess
herstellen. Möglicherweise wurde der Prozess beendet
Von Windows2000 zurückgegebener Fehlercode=87
Falsche Parameter

Ich verwende dwarf-2

Vielen Dank

von markus (Gast)


Lesenswert?

Lässt sich mit der neuen Software auch der AT91SAM7S64 programmieren?

von 123 (Gast)


Lesenswert?

ich denke nicht. ist kein avr sonder amr7

von Markus Rudolf (Gast)


Lesenswert?

Weiß jemand ob bei der 4.12er final (Build 460) eine neue Firmware für
den JTAG ICE mit bei ist ? In den Release Notes steht nur was vom JTAG
ICE MKII, ich hab so ein geclontes JTAG ICE und muss zum Updaten
jedesmal löten. Ich hab aktuell die Firmware 0x7E auf dem ICE. Das
Studio jammert aber die sei veraltet.

Hat jemand schon upgedated und kann mal gucken welche Revision da jetzt
aktuell mit bei ist ? Würde mir evtl. Löterei sparen.

Danke

Markus

von Asterix-007 (Gast)


Lesenswert?

Hallo
@Markus: bei mir scheint die 0x7f drauf zu sein.

wieso must du löten? Bei meinem OLIMEX ging das a) automatisch und b)
ohne löten!!!

Schau mal in die Hilfe, unter diesem Punkt "JTAG ICE Manual Firmware
Upgrade" werden sie geholfen..

Viel Glück!!

Asterix-007

von Markus Rudolf (Gast)


Lesenswert?

@Asterix-007: Danke fürs Nachsehen. Ich hab eine noch ältere Version als
den Olimex, und da ist noch kein geänderter Bootloader drin. Updates
muss ich da immer in 2 Schritten machen und dazu temporär den JTAG
Anschluss in einen STK200 Anschluss umlöten damit ich den Mega16 vom
ICE neu proggen kann. Ich bastel dann mal...

Markus

von Markus Rudolf (Gast)


Lesenswert?

Mit dem geupdateten JTAG ICE geht's dann auch.

Danke nochmal

Markus

von mgiaco (Gast)


Lesenswert?

Kann man beim neuen AVR-Studio auch irgendwie das Ponyprog als
Programmer einbauen? oder geht das auch irgendwie anders? Ich habe halt
diese Parallel-Kabel.

Ich kenne bis jetzt nur Ponyprog.

mfg mathias

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.