Home => Gerd's AVR simulator    (Diese Seite in Deutsch: Flag DE) Logo


Gerd's AVR simulator

AVR assembler simulator for the stepwise execution of assembler source code - with many extras. Click here if you hate simulators.

Description Download Statistics

1 Description

  1. Simple handling, no extended learning phase required,
  2. Works under Windows and Linux, 64-bit executables downloadable,
  3. Lazarus-Pascal source code available for free for own modifications,
  4. Fast and comfortable start of new assembler projects, fills in standard text frames for structured source code in a short or in a comprehensive format, for linear as well as for interrupt-oriented programs,

    New project

    Comprehensive source code Interrupt vectors source code Left the comprehensive version, right with interrupt vectors,

    Short version source code A short version without any extras is also available,
  5. From Version 1.8 on a comfortable device selector is on board, that allows to select AVRs (types and packages) by selectable hardware requirements,

    AVR device selector

  6. Editor for modifying of the assembler source code with several helpful features,

    Editor help Editor

  7. The editor, from version 1.7 on, has a syntax highlighter which provides multiple opportunities for its configuration:

    Adjusting syntax highlighting Syntax highlighting

  8. Forgot the mnemonic of an instruction in AVR assembler, forgot how many clock cycles it needs or which flags are affected? No problem in avr_sim. From Version 2.1 on an instruction list comes up and you can search and find what you need,

    Instruction list

  9. Display of header symbols, ports and interrupts of the applied AVR type,

    Port view

  10. Display of the hardware configuration for PDIP-/SOIC- and QFN-packages,

    Device view

  11. Insert the hardware into the source code by simply typing F2:

    Hardware as ASCII, PDIP Hardware as ASCII, TQFN
  12. Internal assembler gavrasm for quick modification and assembling of code,

    gavrasm assembler

  13. Comfortable setting and clearing of breakpoints, storing breakpoints in and loading them from the project file,

    Editor for breakpoint administration

  14. From version 2.3 on: Scan- and alarm function: counts, beeps and/or stops if a register or a register pair, a portregister or a portregister pair, a SRAM location or a SRAM pair is written, written with a preselected value or read,

    Scan- and alarm funktion

  15. Control of the simulation in a simulator window,


  16. Simple overview over I/O ports and timers,

    Port/Timer view

  17. Display of SRAM content,

    SRAM view

  18. Display of EEPROM content as well as correct Write and Read operations,

    EEPROM view

  19. Display and simulation of the watchdog timer,

    Watchdog timer

  20. Display, simulation and manipulation of ADC channels, from version 2.7 on including configurable differential channels and temperature measurements, und ADC with differential channel

  21. as extra a design aid with a 12/16-key resistor matrix and voltage input via keyboard, from version 2.7 on including internal reference voltages,

    ADC with resistor matrix

    and display of the key's voltages,

    Resistor matrix voltage display

  22. Configurable four-channel scope for displaying polarity changes on output compare pins or on any available I/O pin of the device,

    Scope Output Compare Scope I/O pin

  23. Scope display for R/2R analog values on ports with configurable resolution and in up to four different channels simultanously in selectable colors,

    Scope analog values Multiple channel scope
  24. Scope display of internal Digital-to-Analog converters for those AVR types that have these available,

    DAC values on the scope
  25. From version 2.8 on: scope channels can be displayed as stack, so the different channels do not overwrite others. Scope channels stacked

    You can now fix the time scale of the display.
  26. You need a short view some hundred lines above in your code? Just open a new codeview window, your editor is not affected by this, try copy and paste between the two code windows,
  27. Simple and fast display of decimals in registers and of register pairs - place the mouse over the register and you'll get what you need!
  28. From version 2.5 on: register save mode (for all changes of registers) and trace mode (for all configurable register-, portregister- and SRAM-content) as .csv file for export to an external spreadsheet.
  29. From version 2.6 on: Simple jumps (Jump to) during simulation, also as call to a subroutine (Call) or for simulating an interrupt with cleared I-flag (Call ISR),


  30. New in version 2.9: avr_sim now simulates interrupt-driven transmit and receive via the serial UART(s):

    Serial transmission and reception with the UART

  31. New from version 2.9: avr_sim now performs a user statistic on the internet. Counted are the applied AVR types and the open windows during simulation. Don't be afraid: all is anonymous and you can see in your browser's address field, what has been sent!
Description Download Statistics

2 Download

2.1 The latest version

Version 2.8 of the software fixes several minor bugs and improves the scope display (stacked channels, fixed time scale).

My Linux version produces a strange error in the timer's prescaler field. When this happens, TCNT is not updated any more. Please report back if your Linux version produces the same error.

2.2 Lazarus Pascal source code

The source code is written in Pascal and compiles with Lazarus. A Windows and Linux version of the source code are provided (if different).

2.3 Executables

Executable 64-bit versions are available for Windows and for Linux. The Windows executable is available in a short version and in a debug version (with range checking features enabled). If you need executable versions for other or for older 32-bit operating systems, compile the source code with Lazarus. The handbook describes how to do that.

2.4 Handbook for use

The handbooks for the different versions are available in English and in German language. It holds relevant information for installing avr_sim, for compiling of the program with Lazarus and describes all features provided.

A brief description of the software internals of avr_sim is added.

To the download page

4 Statistics

4.1 Monthly accesses

This shows the monthly accesses to the avr_sim website and the downloads of Linux- and Windows-files. It seems that the handbooks are useful.

Monthly accesses

4.2 Accesses by versions

This shows the accesses to the different versions of avr_sim. New releases come every three to four monthes.

Accesses by versions

4.3 Accesses by executables vs. sources

The share of self-compilators among the total downloads is high.

Executables vs. source code

To the top of page Description Download Statistics

5 Links to uses and users of avr_sim

The following internal webpages use avr_sim: Anthony Peck has used avr_sim to follow his generation of random numbers with an ATtiny13 in his blog, associated with a video demonstrating the calculation process.

Please send more application reports on avr_sim to gavrasm (at) avr-asm-tutorial.net.

To the top of page Description Download Statistics

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