Hallo, ich verwende GDB 5.3 mit der neuesten simulavr-Version (CVS). Um die Ausführungszeit eines Programmes zu messen würde ich gerne die Anzahl der im Simulator abgelaufenen Taktzyklen wissen, aber ich habe leider nirgendwo eine Option dafür gefunden. Kann mir jemand weiterhelfen? Danke Andreas
Gast
#40664
Wenn Du nichts findest, frage mal Ted Roth selbst.
Gast
#40665
Guck Dir das da mal an. Ich update den Zähler nur alle 64 Takte, damit es nicht zu schlimm auf die Performance schlägt. Ist alles nicht so toll mit dem display coprocess, die printf/scanf-erei da ist ja genauso schlimm wie beim Linux procfs... ;-) Man sollte das Protokoll wohl auf binäre datagrams umstellen. Die Initialisierung von RAMPZ braucht's bei mir, weil sich der Simulator ansonsten mit dem Zufallswert in RAMPZ während der C-Initialisierung mit einer ungültigen Speicheradresse verabschiedet. Man sollte stattdessen wohl RAMPZ richtig implementieren, aber mir das anzutun, bin ich gerade zu faul. Wenn's Dir gefällt, können wir es Ted ja anbieten.
Danke, das ist genau das was ich brauche. Der Patch läuft mit der aktuellsten Version zwar nicht ganz so durch wie er sollte, und RAMPZ gibt's in der Struktur core nicht mehr, aber nach ein bisschen Handarbeit funktioniert alles wie gewünscht. Was mir dabei aufgefallen ist: in der aktuellen avrcore.c wird in avr_core_CK_incr() eine Funktion namens display_clock( core->CK ); aufgerufen, es scheint also dass eine ähnliche Funktionalität für simulavr-disp bereits eingeplant ist.
Gast
#40667
Oha, dann sollte ich mir mal die aktuellen Quellen ansehen.