qemu/docs/system/target-avr.rst
Thomas Huth 0abd386d8b docs/system/target-avr: Improve the AVR docs and add to MAINTAINERS
The examples look nicer when using "::" code blocks.
Also mention that "-d in_asm" only outputs instructions that have not
been translated by the JIT layer yet.
And while we're at it, also add the AVR doc file to the MAINTAINERS file.

Signed-off-by: Thomas Huth <huth@tuxfamily.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Michael Rolnik <mrolnik@gmail.com>
Message-Id: <20200812155304.18016-1-huth@tuxfamily.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
2020-09-01 11:15:00 +02:00

49 lines
1.4 KiB
ReStructuredText

.. _AVR-System-emulator:
AVR System emulator
-------------------
Use the executable ``qemu-system-avr`` to emulate a AVR 8 bit based machine.
These can have one of the following cores: avr1, avr2, avr25, avr3, avr31,
avr35, avr4, avr5, avr51, avr6, avrtiny, xmega2, xmega3, xmega4, xmega5,
xmega6 and xmega7.
As for now it supports few Arduino boards for educational and testing purposes.
These boards use a ATmega controller, which model is limited to USART & 16-bit
timer devices, enought to run FreeRTOS based applications (like
https://github.com/seharris/qemu-avr-tests/blob/master/free-rtos/Demo/AVR_ATMega2560_GCC/demo.elf
).
Following are examples of possible usages, assuming demo.elf is compiled for
AVR cpu
- Continuous non interrupted execution::
qemu-system-avr -machine mega2560 -bios demo.elf
- Continuous non interrupted execution with serial output into telnet window::
qemu-system-avr -M mega2560 -bios demo.elf -nographic \
-serial tcp::5678,server,nowait
and then in another shell::
telnet localhost 5678
- Debugging wit GDB debugger::
qemu-system-avr -machine mega2560 -bios demo.elf -s -S
and then in another shell::
avr-gdb demo.elf
and then within GDB shell::
target remote :1234
- Print out executed instructions (that have not been translated by the JIT
compiler yet)::
qemu-system-avr -machine mega2560 -bios demo.elf -d in_asm