Simulation beschleunigen? AVR-Studio so langsam

Gast #96726
Lesenswert?

Hallo,

ich suche nach einer Möglichkeit das debuggen im AVR-Studio zu
beschleunigen. Es ist halt so das wenn man sein Programm im AVR-Studio
laufen lasst die Schleifen sehr langsam ablaufen obwohl ich nen sehr
schnellen Rechner habe. Weiß jemand obs da ne Möglichkeit gibt das
ganze zu beschleunigen, da ich keine Lust mehr habe ständig den AVR neu
zu flashen und dann wieder an Oszi hängen um dann zu sehen es passt
nicht und wieder neu flashen.

Früher gabs ja nen einzelnen Softwaresimulator dieser war wesentlich
schneller wie das im AVR-Studio. Sollte man vielleicht wieder darauf
umsteigen?
Gast #96727
Lesenswert?

Hallo,

wo wir schon beim Theme Geschwindigkeit sind fallen mir gerade noch 2
Fragen ein.

1.Kann man mit dem STK  500 den Takt verändern damit das Programm
langsammer läuft um z.b. saubere Signale am Oszi zu bekommen?

2. Läßt sich sonst irgendwie ein interner Taktteiler verwenden um den
AVR langsamer laufen zu lassen trotz z.b. eines 8MHz Quarzes? Wie z.b.
bei den Timern.
Gast #96730
Lesenswert?

Hallo,

habs jetzt so gelöst einfach ein Semikolon vor die 2te
Verzögerungsschleifen zu setzten. So Springt das Programm nach dem
druchlauf der ersten Schleife weiter. Werde das demnächst mit den
Timern ausprobieren. Damit nicht das ganze Programm gebremst wird.
Obwohl man für so ne simple Impulsfolgenausgabe 58xHigh,
5xLow,58xHigh.... auch einfach nen Billigen AVR nehen kann.

warte120: dec delay4
brne warte120
;dec delay5
;brne warte120

Kann mir jemand sagen welche AT's nen internen Oszillator haben um
eine Schaltung mit möglichst wenigen Bauteilen hinzubekommen (also 5V
anschließen und los) es würden 4 I/O's ausreichen.
Gast #96734
Lesenswert?

Hallo,

kannst du das kurz erklären? Ich hab noch ne andere Möglichkeit
gefunden man setzt einen Breakpoint und läßt das ganze nicht im
Autostepmodus laufen sondern startet mit Run, man muss sich dann halt
immer den µSZähler anschauen und weiß genau wie lange das jetzt
gedauert hat.
Gast #96735
Lesenswert?

"und ich habe mal irgendwo gelesen das der erst aktiviert werden muss.
Kann man das mit dem STK500 machen da ich mir das auch noch zulegen
will."

ich glaub der ist standardmässig aktiviert. sonst kannst du mit dem
stk500 alles einstellen woran andere programmer verzweifeln. damit ist
man immer auf der sicheren seite (musste mit meinem stk500 auch schon
einige fusebit opfer reanimieren :)
Gast #96736
Lesenswert?

Hallo,

die Sache mit dem Breakpoint bringt auch schon eine Beschleunigung,
wenn man z.B. nur ein Unterprogramm "überspringen" möchte. Alle
Befehle des Unterprogramms werden dabei ausgeführt.

Mein Vorschlag mit dem Vorstellen des Programmzählers ist nur zulässig,
um z.B. die Initialisierung eines LCDs oder eine Warteschleife zu
überspringen, wenn man sie nicht auskommentiert hat. Das darf man aber
nur, wenn sicher ist, daß der übersprungene Programmteil keine
wichtigen Registerinhalte verändert, die danach wieder gebraucht
werden.

Gruß
Gast #96737
Lesenswert?

Hallo,

also danke nochmal, komme immer besser mit klar, was einige Sachen doch
enorm das Programm beschleunigen. Habe sonst jeden Pin einzeln auf HIGH
gesetzt jetzt mache ich das mit "ser temp" und übergebe das an PortA
"out PortA, temp".

Der 80515 was im STK500 steckt ist doch dazu da die ganze Komikation
zur Zielhardware zu übernehmen oder? Hab mich immer gewunder wie man
mit einer Seriellen Schnittstelle parallel programmieren kann, aber
anscheinend erledigt das der 80515er.
Gast #96739
Lesenswert?

macht euch nen macro debug in dem ein ret ausgeführt wird. das schreibt
ihr an die erste stelle in euren wait routinen.
wollt ihr debuggen steht das ret in der routine; wollt ihr compilen
comentiert ihr das ret aus
Gast #96742
Lesenswert?

wenn du mehr als einen warteroutinen aufruf hast, wird´s aber lästig
alle einzeln auszuklammern. und im avr kostet es keine resourcen.

hab den thread garnicht richtig gelesen. war nur nen einfall, der bei
mir geholfen hat. :)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren