1.. _AVR-System-emulator: 2 3AVR System emulator 4------------------- 5 6Use the executable ``qemu-system-avr`` to emulate a AVR 8 bit based machine. 7These can have one of the following cores: avr1, avr2, avr25, avr3, avr31, 8avr35, avr4, avr5, avr51, avr6, avrtiny, xmega2, xmega3, xmega4, xmega5, 9xmega6 and xmega7. 10 11As for now it supports few Arduino boards for educational and testing purposes. 12These boards use a ATmega controller, which model is limited to USART & 16-bit 13timer devices, enough to run FreeRTOS based applications (like 14https://github.com/seharris/qemu-avr-tests/blob/master/free-rtos/Demo/AVR_ATMega2560_GCC/demo.elf 15). 16 17Following are examples of possible usages, assuming demo.elf is compiled for 18AVR cpu 19 20- Continuous non interrupted execution:: 21 22 qemu-system-avr -machine mega2560 -bios demo.elf 23 24- Continuous non interrupted execution with serial output into telnet window:: 25 26 qemu-system-avr -M mega2560 -bios demo.elf -nographic \ 27 -serial tcp::5678,server=on,wait=off 28 29 and then in another shell:: 30 31 telnet localhost 5678 32 33- Debugging with GDB debugger:: 34 35 qemu-system-avr -machine mega2560 -bios demo.elf -s -S 36 37 and then in another shell:: 38 39 avr-gdb demo.elf 40 41 and then within GDB shell:: 42 43 target remote :1234 44 45- Print out executed instructions (that have not been translated by the JIT 46 compiler yet):: 47 48 qemu-system-avr -machine mega2560 -bios demo.elf -d in_asm 49