master
rst 48 lines 1.39 KB
Raw
1 .. _AVR-System-emulator:
2
3 AVR System emulator
4 -------------------
5
6 Use the executable ``qemu-system-avr`` to emulate a AVR 8 bit based machine.
7 These can have one of the following cores: avr1, avr2, avr25, avr3, avr31,
8 avr35, avr4, avr5, avr51, avr6, avrtiny, xmega2, xmega3, xmega4, xmega5,
9 xmega6 and xmega7.
10
11 As for now it supports few Arduino boards for educational and testing purposes.
12 These boards use a ATmega controller, which model is limited to USART & 16-bit
13 timer devices, enough to run FreeRTOS based applications (like
14 https://github.com/seharris/qemu-avr-tests/blob/master/free-rtos/Demo/AVR_ATMega2560_GCC/demo.elf
15 ).
16
17 Following are examples of possible usages, assuming demo.elf is compiled for
18 AVR 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