PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Software-Entwicklung in C für den ASURO nur mit AVRSTudio!!!



Ronny10
02.06.2006, 09:29
Hallo Asuro's,

vielen von euch ist glaube ich nicht bekannt, dass man mit dem neuen AVRStudio von ATMEL, jetzt auch C-Programme ohne make und Programmers Notepad entwickeln kann. Man benötigt nur noch eine Programmoberfläche und die Projektverwaltung wird vollständig vom AVRStudio übernommen. ATMEL hat den GCC (GNU-C-Copiler aus WINAVR) voll in AVRStudio integriert. Neue Source-Dateinen (*.s oder *.c) werden einfach mit einem Rechtsklick der Maus in das aktuelle Projekt übernommen. Ihr müsst nur noch im Menü-Punkt [Project][Configuration Options] die Parameter für den von euch verwendeten Mikrocontroller wie System-CLK usw. eintragen. Zusätzlich können auch Include-Dateien und Libraries die sich in einem anderen Datei-Ordner befinden, einfach in das Projekt aufgenommen werden. Das mühselige Editieren der make-Projektdatei gehört der Vergangenheit an! Für neue Projekte in C oder Assembler verwendet ihr einfach die Auswahl [Project][New Project][ AVR GCC]. Die Startdatei (*.c) wird automatisch mit dem Projektnamen erzeugt. Ihr könnt natürlich C-Dateien und Assembler-Dateien gleichzeitig im Projekt verwenden. Wenn ihr ein Assembler-Projekt eröffnen wollt, könnt ihr das mit einem kleinen Trick sehr einfach durchführen. Wenn ihr ein neues GCC-Projekt beginnt, erzeugt das AVRStudio automatisch die Startdatei mit der Extension *.c. In diesem Source File gebt ihr dann einfach die folgenden Programmzeilen ein:

#include <avr/io.h>

int main(void)
{
asm("rjmp asm_main");
return(0);
}

Die Assembler-Datei, z.B. start.s, sieht dann wie folgt aus:

#include <avr/io.h>

.section .text
. global asm_main

asm_main:

// hier beginnt jetzt das Assemblerprogramm

Der Vorteil dieser Vorgehensweise ist der: Der C-Compiler ezeugt automatisch eine Startprozedur in der der Stackpointer und die Interruptvektoren-Tabelle initialisiert wird. Strings werden aus dem Flash ins RAM kopiert und der verwendete RAM-Bereich für Variable wird auch automatisch initialisiert.

Was ihr benötigt, ist natürlich die neuste Version von WINAVR (GCC) und dem AVRStudio. Für das neue AVRStudio benötigt ihr 3 Dateien:

1. AVRStudio 4.12 (built 460)
2. AVRStudio 4.12 Service Pack2 03/06
3. avrgccplugin.exe

Die Dateien müssen in der angegebenen Reihenfolge installiert werden!
Die Dateien 1 und 2 könnt ihr euch von ATMEL's Homepage downloaden
(Achtung: 1x45MB und 1x18MB).

http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725

Der Plug-In-Patch (3.) wird auf der Homepage von Arexx in Kürze downloadbar sein.

Die neuste Version von WINAVR gibts hier:

http://sourceforge.net/projects/winavr/

ACHTUNG!!!!
Wenn ihr eine ältere Version von WINAVR oder AVRStudio auf eurem Rechner installiert habt, müsst ihr diese erst deinstallieren! Sicherheitshalber entfernt ihr nach der Deinstallation auch die alten Programmordner in c:\Programme\ da sich die alten Programme evtl. nicht vollständig deinstallieren!

So, jetzt viel Spass mit dem neuen AVRStudio und tolle neue Programme für unseren ASURO!

Viele asurorische Grüße
Peter (Ronny10 / peli51)

stochri
04.06.2006, 09:36
Hallo Ronny,
den Verdacht, dass die meisten ASURO-Programmierer AVR-Studio nicht kennen, hatte ich auch schon.
Bei mir hat es auch ein Weile gedauert, bis ich darauf gestoßen bin. Der eingebaute Simulator erleichtert die Feherlsuche in einem Programm erheblich. Aus diesem Grund kann ich den Einsatz von AVR-Studio beim ASURO nur empfehlen.

Gruss,
stochri

Geimel
04.06.2006, 18:06
Ich habe auch das AVR Studio 4 mit SP2 installiert, komme aber irgendwie noch nicht damit klar. Kann mir mal jemand erklären wie genau ich das einrichten muss, damit ich einfach meine Programme dort schreiben kann. THX@all,
MfG
Geimel

stochri
04.06.2006, 20:26
Kann mir mal jemand erklären wie genau ich das einrichten muss, damit ich einfach meine Programme dort schreiben kann.

Das steht ja wohl ziemlich ausführlich beschrieben im ersten Post.

Gruss,
stochri

Mucki
07.06.2006, 14:29
Halo Ronny,

sag mal, wenn 3. erforderlich ist, wo bekomme ich es her wenn nicht von Arexx ? Habe nichts auf der HP gefunden oder habe ich etwas falsch verstanden ?

Have fun,

Mucki

Geimel
07.06.2006, 16:54
Hallo,
ich habe folgendes Problemn mit dem Studio 4
Wenn ich das Programm compiliere kommt folgende Meldung:
"Your installed WinAVR Version,(0) , does not support the Dwarf2 debugging Information format. Debugging will not work."
Dann wird die Dateo ohne Fehler und Warnungen compiliert. Es ist ein einfaches Programm zur Linienverfolgung.-->


#include "asuro.h"
unsigned int data[2];
int main(void)
{ #include "asuro.h"
unsigned int data[2];
int main(void)
{
Init();

FrontLED(ON);
MotorDir(FWD,FWD);
while(1){
LineData(data);
if (data[0] >50) {MotorSpeed(150,80);BackLED(ON,OFF);} else {MotorSpeed(80,150);BackLED(OFF,ON);}
};
return 0;
}}

Wenn ich jetzt die Hex Datei flashen will ist die aber 89 Seiten also Pages lang. Das kann ja eigentlich nicht sein.

Wie kann ich das anstellen das die Hex Datei mit 24 Seiten Gespeichert wird, wie mit dem normalen Texteditor?? Ist ja im Prinzip unnützer Speicherplatz der vergeudet wird.
Der Asuro funktionier tübrigens mit diesem Programm, egal ob Texteditor oder AVR Studio das compiliert hat. Lediglicht geht beim Editor die FrontLED an, beim Studio nicht.
thx@all
Geimel

Arexx-Henk
10.06.2006, 13:58
Hallo,

Ich hab nur den AVR Studio 4 installiert ohne Servicepack und ohne avrgccplugin.
Dass Servipack und die plugin lassen sich nicht installieren.
Vermutlich da ich kein WindowsXP Servicepack 2 installiert habe. (Sollte Netzwerk probleme geben und ich hatte kein lust alles wieder aufsneu zu konfigurieren...)

Ich hab ein kleines downloadable PowerPoint Show dargestellt um das 'FirstTry' verzeichnis vom Asuro met AVR Studio 4 kompilieren zu konnen.

Siehe:
http://home.planet.nl/~winko001/index.htm

Gruss

Henk

Ronny10
10.06.2006, 21:23
Endlich habe ich den Link zu dem letzten AVRStudio-Update wiedergefunden:

http://www.atmel.no/beta_ware/as4/avrgccplugin/avrgccplugin.exe

Hier könnt ihr euch die für das AVRStudio benötigte dritte Datei avrgccplugin.exe downloaden!

Ich möchte an dieser Stelle noch einmal darauf hinweisen, dass es unbedingt erforderlich ist, vor der Neuinstallation die alten Versionen von AVRStudio und WINAVR zu deinstallieren und auch die dazugehörenden Programm-Ordner (c:\Programme\...) zu löschen, da diese bei der Deinstallation nicht entfernt werden! Danach in der oben beschriebenen Reihenfolge die drei Dateien für AVRStudio und WINAVR neu installieren.

Gruß, Peter (Ronny10)

Klaus_K
11.06.2006, 21:43
Hallo allerseits,

ich habe alle drei Teilprogramme wie ganz oben beschrieben auf meinem Uralt-PC mit WinXP + SP2 ohne Probleme installiert.

Dann habe ich alle Aktionen gemäß Henk's pps ausgeführt.

Ein Asuro-Test-Programm (Asuro fährt ein bisschen herum) lässt sich damit erstellen, flashen (in diesem Fall second_try.hex) und funktioniert auch. Allerdings werden dabei 91 pages geflasht !!!

Das gleiche Testprogramm nach der "alten Methode" (PN2...) ist bereits nach 29 pages fertig!

Kann mir jemand erklären, warum?
Was mache ich falsch?

Gruß
Klaus

womb@t
11.06.2006, 22:18
Hat das was mit dem optimieren zum tun?

Ronny10
12.06.2006, 07:34
Hallo Klaus_K,
Henk hat in seiner Power Point Dokumentation eine Fehler! Ich habe ihm das auch schon mitgeteilt. Der GCC (GNU-C-COMPILER) hat verschiedene Optimierungs-Stufen für die Code-Generierung. Bei der Einstellung [Project][Configuration Options] muss du die Optimization (Compiler-Optimierungs-Stufe) auf -Os stellen! Durch die Einstellung -Os optimiert der Compiler das Programm auf Size! Diese Optimierung solltest du immer wählen (auch für neue Projekte), da sie gleichzeitig auch sehr schnellen Code erzeugt. Du kannst ja mal ein wenig mit den Verschiedenen Optimierungs-Stufen experimentieren. Du solltest aber nach der Änderung zur erneuten Code-Generierung (Compilierung deines Programms) im Menü [Build][Rebuild All] wählen, da du an deinem Programmcode nichts geändert hast und der Compiler deshalb evtl. nicht aufgerufen wird. Mit Rebuild All erzwingst du eine komplette Neu-Compilierung deines Programms!

Gruß, Peter (Ronny10 ex peli51)

Arexx-Henk
12.06.2006, 09:36
Hallo Peter,

Ich hab die -Os jetzt zugefugt im Powerpoint.

http://home.planet.nl/~winko001/Asuro/Info/AsuInfPagFrm.htm

Gruss

Henk

Klaus_K
13.06.2006, 08:48
Hallo Peter,

vielen Dank für deinen Hinweis.

Ich habe beim AVR Studio 4 alle vier Optimierungseinstellungen durch probiert:

-Os 69 pages
-O0 91 pages
-O1 71 pages
-O2 71 pages
-O3 71 pages

Wie gesagt, mit dem PN2 werden mit dem gleichen Programm nur 29 pages geflasht!

Das heißt, dass das AVR Studio mehr als das Doppelte an Platz braucht.

Es scheint als ob zwischen dem AVR Studio und dem WinAVR doch erhebliche Unterschiede bestehen.

Oder gibt es noch weitere Einstellmöglichkeiten?

Gruß
Klaus

13.06.2006, 20:33
Hallo Ronny10,

leider klappt (nur bei mir ?) der link zur 3. Datei avrgccplugin.exe
nicht.

Kennt jemand eine alternative download site ?

Gruß,

Alex (IrishCoffee)

Ronny10
14.06.2006, 07:36
@Klaus_k:
Also dann compilierst du zwei verschiedene Programme! Es besteht in der Code-Generierung in beiden Fällen kein Unterschied ob du mit PN arbeitest oder mit AVRStudio. Beide rufen den GCC (GNU-C-Compiler) aus dem Ordner WinAVR mit der Option -Os auf. In beiden Fällen wird auch das gleiche make (Projektverwaltungsprogramm) verwendet. Also wenn du die gleichen Programme compilierst und mit der Option -Os arbeitest, wird in beiden Fällen ein von der Grösse völlig identisches Hex-File's erzeugt!
@Gast:
Schick mir doch eine private Nachricht hier im Forum mit deiner E-Mail-Adresse, dann schicke ich dir das dritte Programm als E-Mail-Anhang zu!

Asurorische Grüße, Peter (Ronny10 ex peli51)

Ronny10
14.06.2006, 13:37
@Klaus_K:
Wichtig ist natürlich auch, welche Library du in dein Projekt einbindest. Wahrscheinlich hast du keine Angaben dazu in deiner Projekt-Datei gemacht. Wenn du ein von der Größe zu PN und dem mit mfile erzeugten Makefile identisches Programm (Hex-File) erzeugen willst, muss du auch die richtige Library in dein Projekt einbinden! Das machst du so: Im AVRStudio unter [Project][Configuration Options] wählst du unter [Libraries] die libm.a aus (anklicken) und mit Add Library fügst du diese Library in dein Projekt ein. Also im rechten Library-Fenster muss dann die libm.a stehen! Damit hast du eine "minimal Library" ausgewählt die für ein kleines bzw. gleich großes Hex-File sorgt! Wenn du keine Angaben zur verwendeten Library machst, erzeugt AVRStudio ein Makefile mit einer default-Einstellung. Das bewirkt, dass eine andrere Library in dein Projekt eingebunden wird und damit das Programm (Hex-File) größer wird.

Asurorische Grüße, Peter (Ronny10 ex peli51)

Norki
16.06.2006, 20:12
Moin!

Gibts in AVRStudio irgendwo eine Einstellung, so dass er einem anzeigt, welche geschweiften Klammern zusammengehören?

gruß
Norki

upaucc
13.12.2006, 13:52
Hi,
kann mir vielleicht mal jemand sagen wie denn jetzt die vorgehensweise ist wenn ich ein programm im avr studio schreiben wil und dann auf den asuro flashen?
habe mal henks präsentation durchgemacht, da hat auch alles funktioiert, erstelle ich jetzt aber ein eigenes projekt kllappt gar nichts.
hier habe ich wieder wie henk beschrieben hat, die asuro.c und asuro.h in den projekt ordner kopiert, schreibe ich dann aber c-code in der projekt.c und will diesen in ein hex compilieren werden nur errors ausgegeben...was mache ich falsch??

Bei folgendem code:

#include asuro.h

int main(void){

Init();

StatusLED(GREEN);
while(1);
return(0);

}


erscheint diese fehlermeldung:

Build started 13.12.2006 at 13:59:38
avr-gcc.exe -mmcu=atmega8 -Wall -gdwarf-2 -DF_CPU=8000000UL -Os -fsigned-char -MD -MP -MT aaa.o -MF dep/aaa.o.d -c ../aaa.c
../aaa.c:1:10: #include expects "FILENAME" or <FILENAME>
../aaa.c: In function `main':
../aaa.c:5: warning: implicit declaration of function `Init'
../aaa.c:7: warning: implicit declaration of function `StatusLED'
../aaa.c:7: error: `GREEN' undeclared (first use in this function)
../aaa.c:7: error: (Each undeclared identifier is reported only once
../aaa.c:7: error: for each function it appears in.)
make: *** [aaa.o] Error 1
Build failed with 3 errors and 2 warnings...

Andun
13.12.2006, 14:37
Also ich hab ehrlich gesagt ncihts ausprobiert, aber was mit gelaf auffällt ist, dass du die asuro.c einbindest und nicht die .h.

Das macht man sonst nciht so.

Andun

upaucc
13.12.2006, 15:05
mein fehler, hab ich falsch getippt....aber die fehlermeldung bleibt diesselbe

m.a.r.v.i.n
13.12.2006, 15:52
Hi,


./aaa.c:1:10: #include expects "FILENAME" or <FILENAME>

Das sagt doch schon alles. Anführungszeichen oder eckige Klammern verwenden.

Also


#include "asuro.h"

Gruß m.a.r.v.i.n

damaltor
13.12.2006, 20:56
genau. spitze klammern wenn die einzubindende datei im compilerverzeichnis liegt, anführungszeichen wenn sie im gleichen verzeichnis liegt in dem auch die aktuelle datei liegt. für die asuro.h also anführungszeichen.

upaucc
14.12.2006, 10:35
tatsächlich...naja: wer lesen kann ist halt immer wieder klar im vorteil ;)

EDH
14.12.2006, 14:56
lesen können allein nützt nichts. man muss auch aus diesem wirren code dann herausfiltern können was er eigentlich bewirken soll.
das ist das schwerste am programmieren

upaucc
14.12.2006, 16:41
hm zu früh gefreut:
nachedem das mit dem einachen code oben geklappt hatte, spuckt er jetzt folgfendes bei einem komplexeren code aus:

../asuro.c:49: error: `UCSRA' undeclared (first use in this function)
../asuro.c:49: error: (Each undeclared identifier is reported only once
../asuro.c:49: error: for each function it appears in.)
../asuro.c:50: error: `UCSRB' undeclared (first use in this function)
../asuro.c:51: error: `UCSRC' undeclared (first use in this function)
../asuro.c:52: error: `UBRRL' undeclared (first use in this function)
../asuro.c: In function `SerWrite':
../asuro.c:163: error: `UCSRB' undeclared (first use in this function)
../asuro.c:165: error: `UCSRA' undeclared (first use in this function)
../asuro.c:166: error: `UDR' undeclared (first use in this function)
../asuro.c: In function `SerRead':
../asuro.c:179: error: `UCSRB' undeclared (first use in this function)
../asuro.c:183: error: `UCSRA' undeclared (first use in this function)
../asuro.c:184: error: `UDR' undeclared (first use in this function)
../asuro.c: In function `StartSwitch':
../asuro.c:225: error: `GICR' undeclared (first use in this function)
../asuro.c: In function `StopSwitch':
../asuro.c:230: error: `GICR' undeclared (first use in this function)
make: *** [asuro.o] Error 1[color=#ff0064]

damaltor
14.12.2006, 16:44
ich tippe auf einen fehler beim einbinden... ist die asuro.h eingebunden (in anführungszeichen) und vor allem nicht die asuro.c?

kannst den code ja mal (mit dem code button) posten

EDH
14.12.2006, 16:58
könnte auch n flascher compileraufruf sein...

hast du da alles richtig ausgewählt (mcu=atmega8 etc)

upaucc
14.12.2006, 17:01
//edit: hatte vergessen die prozessor-parameter einzustellen....

inka
31.12.2006, 15:15
sehr schön, jetzt ist es mir gelungen ein eigenes projekt mit AVR studio zu kompilieren :-)
noch ein schönheitsfehler:
- irgendwelche header werden angemahnt:
C:/Programme/asuro/win_avr/avr/include/avr/signal.h:36:2: warning: #warning "This header file is obsolete. Use <avr/interrupt.h>."
wo kann ich die richtigen einstellen bzw. welche sind zu nehmen?

- versuche ich nach gleichem rezept die Linedemo.c und asuro.c aus dem softwaredemo verzeichnis zu verarbeiten, kommen echte "rote" fehlermeldungen, mit hinweisen auf die main.c, test.c, selftest.c usw....

wie krieg ich die weg? sind es verweise in den *.h files?

gruß und dank inka

Ronny10
31.12.2006, 18:36
Hallo Inka,
irgendwo in deinen Source-Files wird bei dir die alte Version mit #include <signal.h> includet. Verwende dafür bitte #include <interrupt.h> und dann sollte die Warnung verschwinden!
Gruß, Ronny10

schiller87
31.12.2006, 23:07
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725

kann sein das die seite down ist? ich komm da nicht drauf...

nach bissel googlen habe ich das hier gefunden: http://www.atmel.no/beta_ware/

ich probier einfach mal ob es damit auch geht

coolhand
06.01.2007, 10:49
](*,) Hallo zusammen
wenn ich n´Stück Code aus den Forum nehme oder mit ne ganz einfache Funktion schreibe , bekomme ich ständig die Compilermeldung :


Build started 6.1.2007 at 10:43:29
avr-gcc.exe -mmcu=atmega8 test1.o -L"I:\Asuro\test1\lib" -L"I:\Asuro\test1\lib\inc" -o test1.elf
test1.o(.text+0xc): In function `main.0':
: undefined reference to `Init'
test1.o(.text+0x10): In function `main.0':
: undefined reference to `FrontLED'
test1.o(.text+0x16): In function `main.0':
: undefined reference to `MotorDir'


vermutilch greife ich auf falsche *.h zu oder was mache ich falsch.

damaltor
06.01.2007, 13:03
nein. du hast wahrscheinlich versucht, die asuro.c einzubinden oder hast das einbinden ganz vergessen. die erste zeile muss heissen:

#include "asuro.h"
dabei muss die asuro.h im gleichen verzeichnis wie deine quellcode datei liegen. FALSCH ist auch

#include <asuro.h>
denn dann sucht der compiler die datei in deinem eigenen verzeichnis.

coolhand
07.01.2007, 12:50
](*,) Hallo Dalmator

dake für die schnelle Antwort, leider liegts daran nicht ; ich vermute irdenwelche falschen Pfad einstellungen. denn selbst bei diesem hoch komplexen Programm kommt ne fehlermeldung:

#include "asuro.h"


int main(void){
/*Init();*/

FrontLED(ON);

while(1);
return 0;

}

die Fehlermeldung lautet:

Build started 7.1.2007 at 12:40:55
avr-gcc.exe -I"C:\Dokumente und Einstellungen\Arno und Andrea\test\." -mmcu=atmega8 -Wall -gdwarf-2 -Os -fsigned-char -MD -MP -MT test.o -MF dep/test.o.d -c ../test.c
In file included from ../asuro.h:34,
from ../test.c:1:
i:/winavr/bin/../avr/include/avr/signal.h:36:2: warning: #warning "This header file is obsolete. Use <avr/interrupt.h>."
avr-gcc.exe -mmcu=atmega8 test.o -lm -lc -o test.elf
test.o: In function `main':
../test.c:4: undefined reference to `FrontLED'
make: *** [test.elf] Error 1
Build failed with 1 errors and 1 warnings...


an was liegt das ??? Hab noch Word angehängt wo man nen screenshot vom AVRSTudio sieht.

Gruß Coolhand :-k

m.a.r.v.i.n
07.01.2007, 13:16
Hi,

füge mal das File asuro.c zu deinem Projekt dazu. Dann sollte es klappen.
Rechter Mausklick auf 'Source Files' Add existing Source File(s)...'.

coolhand
07.01.2007, 13:22
Hallo Marvin

Danke jetz läuft der Compiler durch , aber wo landet jetzt das hex. file???

GRuß
Collhand =D> =D> =D>

coolhand
07.01.2007, 13:31
Hallo M.a.r.v.i.n.
hat sich erledigt .

Danke ](*,)

damaltor
07.01.2007, 14:55
=)

irgendwie mögen sich avrstudio und der asuro nicht besonders... =)

inka
07.01.2007, 15:38
wieso eigentlich nicht?

damaltor
07.01.2007, 20:08
keine ahnung. aber viele leute berichten von problemen. mir ist es egal, wo ich nun die programme schreibe, ich nutze kate (linux) und kompiliere dann mit dem gcc.

Frutiger
07.01.2007, 23:15
Die Probleme mit AVR Studio, die ich bisher hier
im Forum gelesen habe, liefen bisher alle auf "handling user" hinaus.

Das Programm verhält sich ähnlich wie das V-Studio von MS.
Wer das kennt, der kommt zurecht. Wer nicht, muß für die erste
Zeit dran denken:

mit jedem angelegten Projekt die Pfade für z.B.
- asuro.c (Source Files) und
- asuro.h ("Include Directories" in "Project Options")
bekannt machen.

- Device auf atmega8
- Optimation auf -Os und
- Haken für Create Hex File nicht vergessen ("Generals" in "Project Options").

Danach arbeitet das Tool zum Nulltarif auf Knopfdruck O:)

Ronny10
08.01.2007, 08:16
Dem kann ich nur zustimmen (Aussage von Frutiger)! Bisher ist in diesem Forum noch kein Bug-Bericht abgegeben worden, der sich direkt auf das AVR-Studio bzw. auf die Zusammenarbeit mit dem GCC bezieht. Anfänger sollten sich evtl. eine Check-Liste zu den benötigten Projekt-Einstellungen im AVR-Studio machen. Das Anfänger Probleme mit der alten und umständlichen (in der Doku zum ASURO beschriebenen) Vorgehensweise mit make und PN haben, kann ich verstehen. Deshalb nochmals mein Rat an alle die sich noch mit make und PN rumquälen, verwendet für eure Projekte AVR-Studio und macht euch mit den vielseitigen Möglichkeiten (z.B. Source-Level Debugger) des AVR-Studio vertraut!
Gruß, Peter (Ronny10)

inka
08.01.2007, 13:55
kann ich diese dinge


- Device auf atmega8
- Optimation auf -Os und
- Haken für Create Hex File nicht vergessen ("Generals" in "Project Options").
irgendwo dauerhaft einstellen?
eine anfängerfrage:
was ist ein "source-level-debugger"?

gruß inka

Frutiger
08.01.2007, 18:39
kann ich diese dinge irgendwo dauerhaft einstellen?
Danach hatte ich auch schon gesucht, aber bisher keine Möglichkeit gefunden.
was ist ein "source-level-debugger"?
Nachdem mit F7 das Projekt (hoffentlich Fehlerfrei) durch den GCC
geschoben wurde, kann mit Strg-Shift-Alt-F5 oder Icon "blauer Pfeil"
der Debugger gestartet werden. Dabei wandert am Quellcode Schritt
für Schritt ein gelber Pfeil mit. So kann der Programmcode auf
"Source-Level" Ebene untersucht werden. Das macht Sinn, wenn man sich
mit dem "Watch"-Fenster z.B. die Variablen anzeigen läßt.

Einfach mal ausprobieren. O:)

Ronny10
08.01.2007, 20:05
Hallo Inka,
eine permanente Einstellung dieser Projekt-Parameter ist im AVR-Studio nicht möglich und meiner Meinung nach auch nicht sinnvoll.

Zum Source-Level Debugger folgendes: Wenn, wie von Frutiger oben beschrieben, der Debugger gestartet ist, siehst du auf der linken Seite im AVR-Studio eine graphische Abbildung des "Innenlebens" des verwendeten Mikrocontrollers. Wichtig ist z.B. das Fenster I/O Atmega8. Dort hast du u.a. eine Abbildung der I/O-Ports. Damit hast du die Möglichkeit, z.B. die Initialisierung-Funktion deiner Software zu kontrollieren. Mit der Taste [F11] kannst du dein Programm Step by Step ausführen lassen und dabei verfolgen, ob z.B. die Bits für die Datenrichtungsregister (DDRx) der Ports richtig initialisiert werden. Der Source-Level Debugger im AVR-Studio ist, gerade für den Anfänger, ein sehr wichtiges Tool!
Gruß, Peter (Ronny10)

inka
08.01.2007, 20:31
den fehlermeldungen nach (die sich leider nicht per copy and paste einfügen lassen) die dann erscheinen,muss ich noch irgendwo die "debugger platform" einstellen, wo?

Ronny10
09.01.2007, 11:17
Hallo Inka,
im AVR-Studio unter dem Menüpunkt [Debug] [Select Platform and Device] musst du im linken Fenster [AVR Simulator] und im rechten Fenster [ATmega8] auswählen und die Auswahl mit [Finish] bestätigen! Diese Einstellung kannst du auch vornehmen, wenn du ein neues Projekt anlegst.
Gruß, Peter (Ronny10)

upaucc
11.01.2007, 15:33
hi,
ich hab ein problem, avr studio lief die ganze zeit wunderbar, nur jetzt auf einmal macht es probleme.
die fehlermeldung ist folgende


gcc plug-in: Error: Object file not found on expected location D:\Max\ASURO\programme\TEST\default\test.elf

in der project configuration habe ich als output directory den oben genannten pfad angegeben...wer weiss was?

damaltor
11.01.2007, 16:26
er erwartet dass an dieser stelle die datei test.elf liegt. schau mal, ob im alten verzeichnis (das eingestellt war bevor du es geändert hast) eine solche datei liegt. am besten kopierst du alles was da drin ist, auch rüber ins neue verzeichnis.

Ronny10
11.01.2007, 20:02
Die Datei *.elf wird vom Compiler erstellt! Compiliere dein Project mit [Build] [Rebuild All]. Da fehlt wahrscheinlich eine *.o-Datei!

Gruß, Peter (Ronny10)

upaucc
12.01.2007, 08:49
ja klar, die .elf datei fehlt! mit deinem tipp ging es auch nicht ronny, was du gemeint hast, damaltor hab ich nicht verstanden..

\e: habe jetzt auch noch mal das avr studio deinstalliert und nochmal draufgemacht, es wird wieder keine .elf datei erstellt, und die fehlermeldung bleibt dieselbe

inka
12.01.2007, 20:11
Hallo Inka,
im AVR-Studio unter dem Menüpunkt [Debug] [Select Platform and Device] musst du im linken Fenster [AVR Simulator] und....... Diese Einstellung kannst du auch vornehmen, wenn du ein neues Projekt anlegst.
Gruß, Peter (Ronny10)
ok, Ronny10,
dann läuft unten ein balken durch - nein es sind zwei nacheinander, und ein gelber pfeil bleibt an einer stelle im geöffneten sourcefenster an irgendeiner stelle stehen. Was sagt mir das? Ist das programm ok? Bitte klärt mich auf...

Mucki
13.01.2007, 19:18
Hallo Zusammen,

kann man im Editor von AVRStudio die Zeilennummern einschalten? Ich habe die Opetion leider noch nicht gefunden. Ich arbeite mit Version 4.12.498 Service Pack 4.

Th@nx 4 help,

Mucki

Ronny10
13.01.2007, 19:57
@Inka,
der gelbe Zeiger im Debugger zeigt auf die nächste Programm-Anweisung in deinem Source-Text die nach drücken der Taste [F11] ausgeführt wird. Schreib doch mal ein kleines Programm (siehe Beispiel), in dem du die Ports über die Datenrichtungs-Register als Ausgänge initialisierst und die Portbits setzt und wieder zurücksetzt. Dann kannst du, bevor du das Programm im Debugger ausführst, die Ports unter I/O Atmega8 öffnen und direkt verfolgen welche Auswirkungen die einzelnen Programmzeilen haben und wie das mit der Taste [F11] und dem gelben Zeiger funktioniert.



#include <avr/io.h>

int main(void)
{
DDRB = 0xFF;
DDRC = 0xFF;

for(;;)
{
PORTB = 0x55;
PORTC = 0xaa;

PORTB |= 0x02;
PORTB &= 0x0f;

PORTC &= ~0x80;
PORTC |= 0x05;
}

return(0);
}


Viel Erfolg, Peter (Ronny10)

miraculix
04.02.2007, 10:37
Hallo Ronny,

danke für den Tipp mit dem Debuggen ("AVR Simulatior und ATmega8 einstellen"). Wenn ich aber versuche, den Debugger zu starten, bekomme ich einen Programmabsturz von AVR Studio. Ich habe die neue Version vom Studio (Build 460) und das SP2 installiert (auch deinstallieren und neu installieren haben nichts geholfen). Brauche ich noch irgendwelche externen Tools (Test-Hardware)?

Kann ich auch direkt mit dem ASURO kommunizieren und das Programm "am lebenden Objekt" ausprobieren?

Das mit den Zeilennummern würde mich auch interessieren.

Gruß Peter

miraculix
04.02.2007, 10:37
Hallo Ronny,

danke für den Tipp mit dem Debuggen ("AVR Simulatior und ATmega8 einstellen"). Wenn ich aber versuche, den Debugger zu starten, bekomme ich einen Programmabsturz von AVR Studio. Ich habe die neue Version vom Studio (Build 460) und das SP2 installiert (auch deinstallieren und neu installieren haben nichts geholfen). Brauche ich noch irgendwelche externen Tools (Test-Hardware)?

Kann ich auch direkt mit dem ASURO kommunizieren und das Programm "am lebenden Objekt" ausprobieren?

Das mit den Zeilennummern würde mich auch interessieren.

Gruß Peter

miraculix
04.02.2007, 10:43
Hallo Ronny,

danke für den Tipp mit dem Debuggen ("AVR Simulatior und ATmega8 einstellen"). Wenn ich aber versuche, den Debugger zu starten, bekomme ich einen Programmabsturz von AVR Studio. Ich habe die neue Version vom Studio (Build 460) und das SP2 installiert (auch deinstallieren und neu installieren haben nichts geholfen). Brauche ich noch irgendwelche externen Tools (Test-Hardware)?

Kann ich auch direkt mit dem ASURO kommunizieren und das Programm "am lebenden Objekt" ausprobieren?

Das mit den Zeilennummern würde mich auch interessieren.

Gruß Peter

Ronny10
04.02.2007, 12:04
Hallo miraculix,
hast du evtl. die neuste Version von WINAVR 20070101 installiert? Damit soll es durch den Debuggeraufruf im AVR Studio Programmabstürze geben. Verwende bitte die WINAVR-Version 20060421!

Gruß, Peter (Ronny10)

miraculix
05.02.2007, 07:27
Hallo (auch) Peter,

danke für den Tipp. Er hat geholfen. Nach dem Entfernen der Version 20070101 von WINAVR und Installation der Version 20060421 funktioniert es jetzt prima!

Gruß Peter

matoge
09.02.2007, 10:04
Hallo zusammen

vielleicht bin ich ja im Moment "logisch erblindet", aber wo kann ich
das avrgccplugin.exe runterladen (Auf der Arexx Seite habe ich nichts gefunden) ?

TIA

Manfred

m.a.r.v.i.n
09.02.2007, 10:34
Hi,

das AVR GCC Plugin ist ein fester Bestandteil von AVRStudio und wird bei der Installation automatisch mit installiert.

matoge
09.02.2007, 10:37
Hi,

das AVR GCC Plugin ist ein fester Bestandteil von AVRStudio und wird bei der Installation automatisch mit installiert.Hi m.a.r.v.i.n

vielen Dank für die Info

Gruss

Manfred

Ronny10
10.02.2007, 09:01
Wie m.a.r.v.i.n. berichtete, wird in der neusten Version vom AVR Studio das GCC-Plugin gleich mitinstalliert d.h. man muss nur noch AVR Studio plus Service Pack installieren! Neuste Version vom Service Pack ist [4]! Leider muss man sich neuerdings bei ATMEL für den download von Software registrieren lassen!

Gruß, Peter (Ronny10)