xref: /openbmc/qemu/docs/system/target-avr.rst (revision 2d7ac0af)
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