Forum: Mikrocontroller und Digitale Elektronik known AVR simulator01 issues - und nuh?


von Peter M. (Firma: elbBrandung) (peet)


Angehängte Dateien:

Lesenswert?

also, bin jetzt ein wenig angestunken!
bin neu in der mikrocontroller programmierung und fuXe mich gerade noch
ein.
habe den abend und die halbe nacht nach einem bug in der pwm aus dem
tutorial hier gesucht, die ich etwas abgeändert hatte.
und hoppla auf dem echten ATmega8 läuft die, nur im simulator nicht...
- da ploppt ständig das OCR1AH zurück wenn man es nach dem timerstart
verändert.
ist wohl auch kein großes geheimnis:
http://www.avrfreaks.net/index.php?name=PNphpBB2&a...

also im simulator01 funktionieren so etliche dinge nicht und der 02
unterstützt bei weitem nicht alle devices.

klingt jetzt nicht so dramatisch, das wird da ganz trocken
abgehandelt...
find ich aber doch!!!
schließlich will und muss ich doch irgendwie debuggen!
ich hab sogar einen dragon, aber der macht den mega8 ja auch nicht...
das ist doch gurkig!
ein vernünftiges debugging ist elementar - sonst geht da irgendwie
garnix... nur zeit drauf!

ähnlich gelagerte simulatorprobleme gibt es auch noch bei etlichen
tinys...

also, wie sieht denn euer walkaround aus?
auf dem atmega88 für den atmega8 entwickeln?

wie macht man das richtig?

morgendlichen gruß
peet

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


Lesenswert?

Peter Mohr wrote:

> klingt jetzt nicht so dramatisch, das wird da ganz trocken
> abgehandelt...
> find ich aber doch!!!

Sellerie, wie die Franzosen sagen.

Die Version 1 des AVR-Studio-Simulators ist halt ein Rewrite
der AVR-Funktionalität in Software.  Sowas ist letztlich ein
Fass ohne Boden, was den Aufwand angeht.

Der Simulator 2 funktioniert anders, da wird der Digitalteil
direkt aus der Hardwarebeschreibung synthetisiert, die auch
die Basis des Chipdesigns ist.  Es hat technische Gründe, dass
dies nur für die neueren AVRs implementierbar ist, d. h. die
alten werden auch in Zukunft davon nicht unterstützt werden.
Du hast dich jedoch (aus welchen Gründen auch immer) für ein
Produkt entschieden, das bereits 8 Jahre alt ist.

> also, wie sieht denn euer walkaround aus?

Drumrum laufen wird nicht viel helfen. :-)

> auf dem atmega88 für den atmega8 entwickeln?

Ich würde für eine Neuentwicklung einfach nicht mehr auf so'n
altes Teil setzen.  ATmega88 und Consorten benutzen.  Erstens
hast du dann einen funktionierenden Simulator, zweitens kannst
du ihn mit debugWIRE debuggen (die Simulation hat ohnehin schnell
ihre Grenzen, sowie der Programmablauf nennenswert von Echtzeit-
Ereignissen an der Peripherie abhängt), drittens kannst du ihn
beliebig skalieren: zum ATmega48 oder ATtiny48/88, falls es
billiger werden soll und nicht alle Funktionen des 88 gebraucht
werden, oder bis hin zum ATmega328P, falls der Platz nicht reicht.

von Oliver (Gast)


Lesenswert?

>ich hab sogar einen dragon, aber der macht den mega8 ja auch nicht...

Ist wohl eher ungekehrt - der Mega8 kann das nicht.
Egal, wenn du sowas wirklich debuggen musst, bleibt tatsächlich nur ein 
anderer AVR.

Es gibt noch VMLAB, aber das simuliert die meisten PWM-Betriebsarten 
auch nicht richtig. Ob deine da jetzt funktioniert hätte, hab ich jetzt 
nicht geprüft.

Oliver

von Simon K. (simon) Benutzerseite


Lesenswert?

Man kann auch über UART und Co. debuggen.

von Oliver (Gast)


Lesenswert?

>Man kann auch über UART und Co. debuggen.

...wobei Hardware-PWM per Timer einer der Bereiche ist, wo das mühsam 
und wenig aussagekräftig wird, weil das Timing völlig 
durcheinanderkommt.

Dann schon besser mit Oszi und Logikanalysator, wenn man dann hätte...

Oliver

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.