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, enought 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 ``qemu-system-avr -machine mega2560 -bios demo.elf`` 22 23 - Continuous non interrupted execution with serial output into telnet window: 24 ``qemu-system-avr -machine mega2560 -bios demo.elf -serial 25 tcp::5678,server,nowait -nographic`` 26 and then in another shell 27 ``telnet localhost 5678`` 28 29 - Debugging wit GDB debugger: 30 ``qemu-system-avr -machine mega2560 -bios demo.elf -s -S`` 31 and then in another shell 32 ``avr-gdb demo.elf`` 33 and then within GDB shell 34 ``target remote :1234`` 35 36 - Print out executed instructions: 37 ``qemu-system-avr -machine mega2560 -bios demo.elf -d in_asm`` 38