Skip to content

simavr is a lean, mean and hackable AVR simulator for linux & OSX

License

Notifications You must be signed in to change notification settings

lukaszgemborowski/simavr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

simavr -- a simple, lean and mean AVR simulator

http://gitorious.org/simavr

simavr is a new AVR simulator for linux, or any platform that uses avr-gcc. It uses 
avr-gcc own register definition to simplify creating new targets for suported AVR
devices.

The core was made to be small and compact, and hackable so allow quick prototyping 
of an AVR project. The simulator loads .elf directly, and there is even a way to
specify simulation parameters directly in the emulated code using an .elf section.

The status of the project is the core works fine now. The supported IOs are eeprom,
watchdog, self-programming (ie bootloader), external interrupts (INT0 etc),
IO ports (including pin interupts), 8&16 bits timers (well, some of the modes),
SPI master & slave, ADC, and the UART with tx&rx interrupts.

The only notable missing bits are i2c and XMEM bus access (for the big Megas)

gdb support is implemented and works great (minus watchpoints).

The supported AVR cores are in the simavr/cores directory. It's very simple to
add new devices if yours is not there.

There is also one example of how to integrate simavr core into your own program in the
"examples" directory.

(C) 2008-2010, Michel Pollet <[email protected]>

PREQUISTES:
+ avr-gcc ; tested with 4.3.4 (from debian)
	The code rudely assumes the avr-gcc is in /usr/lib/avr/include/...
	On OSX, the Makefile tries to use the Arduino.app toolchain & headers
+ libelf-dev
+ glut (or freeglut) to build the example "boards" in examples/

BUILD:
+ make

TEST:
+ ./simavr/run_avr tests/atmega88_example.axf

About

simavr is a lean, mean and hackable AVR simulator for linux & OSX

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 99.5%
  • Other 0.5%