Pfad: Home => Gerd's AVR-Simulator    (This page in English: Flag EN)
Logo Avr_Sim-Logo

Gerd's AVR Assembler Simulator

AVR-Assembler-Simulator für das schrittweise Ausführen von Assemblerprogrammen - mit vielen Features und Extras. Hier noch die Seite für Simulatorhasser!



Beschreibung Download Statistik

1 Beschreibung

  1. einfache Bedienung, ohne große Einarbeitung anwendbar,
  2. arbeitet unter Windows und Linux, ausführbare 64-Bit-Versionen downloadbar,
  3. Lazarus-Pascal-Quellcode kostenlos verfügbar und modifizierbar, kann daher auch für viele andere Betriebssysteme kompiliert werden, für die es Lazarus gibt,
  4. Schneller und komfortabler Start von neuen Assembler-Projekten, erzeugt Standard-Text-Vorlagen für gegliederten Assembler-Quellcode in einem kurzen oder in einem ausführlichen Format aus, sowohl für Programme im Linearformat als auch Interrupt-orientierte,

    Neues Project

    Comprehensive Quellcode Interruptvektoren Quellcode Links die ausführliche Version, rechts die mit vorausgefüllten Interrupt-Vektoren.

    Kurzversion Quellcode Auch eine Kurzversion ohne jeden Schnickschnack ist verfügbar, eher für "schnell mal was ausprobieren",
  5. Editor für die Modifikation von Assembler-Quellcode, mit vielen hilfreichen Funktionen,

    Editor-Hilfe Editor

  6. Der Editor ab Version 1.7 hat auch eine vielfach konfigurierbare Option zur Syntax-Hervorhebung

    Einstellung der Syntax-Hervorhebung Syntaxhervorhebung

  7. Der Editor ab Version 1.8 ermöglicht die Auswahl aus 457 verschiedenen AVR-Typen mit den unterschiedlichen Verpackungsarten durch Angabe der benötigten Hardware:

    AVR-Typ-Auswahl

  8. Vergessen wie eine Instruktion in AVR Assembler heißt, wieviel Takte sie braucht oder welche Flags sie beeinflusst? Kein Problem mit avr_sim: Der Editor ab Version 2.1 gibt eine durchsuchbare Liste der Instruktionen aus:

    Instruktionen

  9. Anzeige von Header-Symbolen, Ports und Interrupts des betreffenden AVR-Typs,

    Port-Ansicht

  10. Anzeige der Hardware bei PDIP- und SOIC-Packungen,

    Device-Ansicht

  11. Einfügen der Hardware in den Quelltext mit einem Tastendruck (F2):

    Hardware in ASCII, PDIP Hardware in ASCII, TQFN

  12. Integrierter Assembler gavrasm zum schnellen Modifizieren und Assemblieren von Code,

    Assembler gavrasm

  13. Komfortables Setzen und Rücksetzen von Haltepunkten im Code, Speichern und Laden von Haltepunkten aus der Projektdatei,

    Haltepunkte-Editor

  14. Ab Version 2.3: Scan- und Alarmfunktion: zählt, piepst und/oder hält an, wenn ein Register oder ein Registerpaar, ein Portregister oder ein Portregisterpaar, eine SRAM-Speicherstelle oder ein SRAM-Paar beschrieben, mit einem einstellbaren Wert beschrieben oder gelesen wird,

    Scan- und Alarm-Funktion

  15. Steuerung des Simulationsvorganges mit Simulatorfenster, gibt im Registerfenster jetzt auch dezimale Zahlen und Registerpaare aus,

    Simulation

  16. Einfache Überwachung von I/O-Ports und Timern, fast alles kann auch manuell geändert werden (Bits, Interrupts, Vorteiler, etc.) ,

    Port/Timer-Ansichten

  17. Darstellung von SRAM-Inhalten,

    SRAM-Ansicht

  18. Darstellung von EEPROM-Inhalten sowie korrektes Timing bei Schreib- und Lese-Operationen in/aus dem EEPROM,

    EEPROM-Ansicht

  19. Darstellung und Simulation des Watchdogs,

    Watchdog timer

  20. Darstellung, Simulation und Manipulation von ADC-Wandlerkanälen, ab Version 2.7 einschließlich konfigurierbaren Differentialkanälen und Temperaturmessung, und ADC mit Differentialkanal

  21. als Extra eine Designhilfe mit einer 12/16-Tasten-Widerstandsmatrix und Spannungseingabe über die Tastatur, ab Version 2.7 auch mit internen Referenzspannungen,

    ADC mit Widerstandsmatrix

    sowie mit Anzeige der Tastenspannungen,

    Widerstandsmatrix Spannungsanzeige

  22. einstellbares Vierkanal-Oszilloskop zur Darstellung von Digitalsignalen an wählbaren Ausgabepins und an Output-Compare-Pins von Timern,

    Oszilloskop Output Compare Oszilloskop I/O-Pin

  23. Darstellung von R/2R-Analogwerten an beliebigen Ports mit wählbarer Auflösung in bis zu vier Kanälen gleichzeitig in wählbaren Farben,

    Oszilloskop Analogwerte Mehrkanal-Oszilloskop
  24. ab Version 2.3: Darstellung von Analogwerten des internen DAC-Wandlers in AVRs, die solche intern haben.

    Oszilloskop interner DAC-Wandler
  25. ab Version 2.4: zweites Fenster in den Quellcode für Code-Vergleiche oder Kopieraktionen,
  26. ab Version 2.5: komfortables Speichern aller geänderten Register oder beliebiger auswählbarer Register, Portregister und/oder SRAM-Inhalte in externen tabulator-separierten .csv-Dateien zum Einlesen und zur Auswertung in Spreadsheets,
  27. Ab Version 2.6: Bequemes Springen im Code beim Simulieren (Jump to), auch als Unterprogrammaufruf mit der Adresse im Stack (Call) oder für einen simulierten Interrupt mit gelöschter I-Flagge (Call ISR),

    Jump/Call/ISR-Call

Beschreibung Download Statistik

2 Neueste Version

Version 2.7 der Software ermöglicht eine erweiterte Simulation von AD-Wandlern (differentielle Kanäle, erweiterte Version der Widerstandsmatrix) und beseitigt einige kleinere Fehler in der Software.

Bitte beachten: der Assembler gavrasm in dieser Version hat einen Fehler! Er wandelt Kleinbuchstaben in LDI R16,'a' fälschlich in Großbuchstaben um.

2.1 Lazarus Pascal Quellcode

Der Quellcode ist für Lazarus Pascal geschrieben und für Windows und Linux verfügbar.

2.2 Ausführbare Versionen

Die ausführbaren 64-Bit-Dateien sind für Windows und für Linux verfügbar (beides als 64-Bit-Versionen).

Für Windows gibt es eine Kurzversion und eine Debug-Version mit aktiviertem Range-Checking.

32-Bit-Versionen und ausführbare Versionen für andere Betriebssysteme müssen mit den Quellcode-Dateien und mit Lazarus erzeugt werden. Wie man das macht steht im Handbuch ausführlich beschrieben.

2.3 Handbuch zur Benutzung

Das deutschsprachige Handbuch enthält wichtige Hinweise zur Installation von avr_sim, zum Kompilieren von avr_sim und stellt alle verfügbaren Features von avr_sim an bebilderten Beispielen dar.

Für diejenigen, die gerne wissen möchten, wie die Software intern aufgebaut ist und funktioniert, habe ich einige Hinweise in eine englischsprachige Beschreibung (im Download unter "Description") abgelegt.

2.4 Alle verfügbaren Versionen

Hinweise auf bekannte Fehler in der aktuellen Version gibt es
hier.

VersionDatum der
Veröffentlichung
Ausführbare Dateien Quellcode-DateienHandbuchDescription
Win64Win64-DebugLin64WindowsLinux ENDE(Nur englisch
2.716.07.2022 Link Link Link Link Link Link Link (siehe Version 2.6)
2.618.05.2022
(14.05.2022)
Link Link Link Link =Win-src Link Link Link
2.512.12.2021 Link Link Link Link Link Link Link Link
2.426.07.2021 Link Link Link Link Link Link Link -

2.5 Ältere, nicht mehr verfügbare Versionen

VersionDatum
2.305.01.2021
2.205.07.2020
2.126.06.2020
2.002.04.2020
1.927.02.2020
1.820.11.2019
1.727.10.2019
1.618.07.2019
1.525.03.2019
1.428.12.2018
1.329.09.2018
1.204.07.2018
1.112.06.2018
1.026.03.2018
0.927.02.2018
0.814.02.2018
0.727.12.2017
0.605.12.2017
0.520.11.2017
0.410.11.2017
0.303.11.2017
0.2a27.10.2017
0.224.10.2017
0.114.10.2017


Beschreibung Download Statistik

3 Fehlerberichte

Aufgrund der ziemlich hohen Komplexität der Aufgabenstellung (alleine die Entwicklung der AVR hat fast 2 Jahrzehnte gedauert und die Innereien eines AT90S1200 unterscheiden sich gewaltig von denen in einem ATtiny814 oder einem ATmega324) ist es unvermeidlich, dass die Software immer noch Fehler enthält und spezielle Hardware-Eigenschaften nicht korrekt abbildet. Da es mich ziemlich überfordert, die mehr als 150 verschiedenen AVR-Typen mit ihren jeweils Dutzenden von besonderen Hardware-Features auszutesten, bin ich auf Eure Hilfe angewiesen. Falls Ihr also auf Fehler und fehlende Features stoßt, bitte ich um eine aussagekräftige Rückmeldung, möglichst mit Quellcode (Email-Adresse auf der Titelseite des Handbuchs). Ich bin gerne bereit, in meiner reichlich bemessenen Freizeit (Rentner) solche Fehler zu berichtigen. Nur so funktioniert es, die Software noch zu verbessern. Danke für jeden Hinweis ...

3.1 Bekannte Fehler der aktuellen Version

Die aktuell veröffentlichte Version 2.6 hat einen Fehler beim Simulieren von Timern. Der macht sich dadurch bemerkbar, dass der Vorteiler nicht angezeigt wird. Bitte bei Timer-Simulationen die Version 2.5 verwenden.

Wenn Du avr_sim aus den Quellcodes mit Lazarus selbst kompilierst, kannst Du den Fehler beheben, indem Du die Zeile "bCsMode:=0;" in der Prozedur "TCReset" der Unit "avr_tcu" entfernst.

4 Statistik

4.1 Monatliche Zugriffe

Dies hier zeigt die monatlichen Zugriffe auf die avr_sim-Webseite und die Downloads der Linux- und Windows-Dateien. Es sieht so aus, als ob die Handbücher zu den Versionen ebenfalls recht populär sind.

Monatliche Zugriffe

4.2 Zugriffe nach Versionen

Dies hier zeigt die Zugriffe auf die verschiedenen Versionen von avr_sim. Neue Versionen erscheinen etwa alle drei bis vier Monate.

Zugriffe nach Versionen

4.3 Zugriffe nach ausführbaren Versionen und Quellcode

Der Anteil der Selber-Kompilierer an den Gesamt-Downloads ist erstaunlich hoch.

Ausführbar vs. Quellcode


Zum Seitenanfang Beschreibung Download Statistik


5 Links zu avr_sim-Anwendungen und -Nutzungen

Die folgenden Links führen zu Anwendungen von avr_sim auf meiner Webseite: Anthony Peck hat avr_sim zur Verfolgung seiner Erzeugung von Zufallszahlen mit einem ATtiny13 in seinem Blog, verwendet und davon auch ein Video veröffentlicht.

Bitte sendet mir weitere Anwendungsberichte von avr_sim an gavrasm (bei) avr-asm-tutorial.net zu, ich freue mich darüber.

Zum Seitenanfang Beschreibung Download Statistik


©2017 - 2022 by http://www.avr-asm-tutorial.net