bc153a9b70fa84f7d4926ddea5f1f7edd8250dfd
[simavr] / README
1
2 simavr -- a simple, lean and mean AVR simulator
3
4 http://gitorious.org/simavr
5
6 simavr is a new AVR simulator for linux, or any platform that uses avr-gcc. It uses 
7 avr-gcc own register definition to simplify creating new targets for supoortted AVR
8 devices.
9
10 The core was made to be small and compact, and hackable so allow quick prototyping 
11 of an AVR project. The simulator loads .elf directly, and there is even a way to
12 specify simulation parameters directly in the emulated code using an .elf section.
13
14 The status of the project is the core works fine now. The supported IOs are eeprom,
15 IO ports (including pin interupts), 8 bits timers (well, one of mode of the myriad),
16 SPI master & slave, and the UART with tx&rx interrupts.
17
18 gdb support is implemented and works great (minus watchpoints).
19
20 The supported AVR cores are in the simavr/cores directory. It's very simple to
21 add new devices if yours is not there.
22
23 There is also one example of how to integrate simavr core into your own program in the
24 "examples" directory.
25
26 (C) 2008-2010, Michel Pollet <buserror@gmail.com>
27
28 PREQUISTES:
29 + avr-gcc ; tested with 4.3.4 (from debian)
30         The code rudely assumes the avr-gcc is in /usr/lib/avr/include/...
31         On OSX, the Makefile tries to use the Arduino.app toolchain & headers
32 + libelf-dev
33 + glut (or freeglut) to build the example "boards" in examples/
34
35 BUILD:
36 + make
37
38 TEST:
39 + ./simavr/run_avr tests/atmega88_example.axf