mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 12:07:31 +00:00 
			
		
		
		
	 c0a659f9de
			
		
	
	
		c0a659f9de
		
	
	
	
	
		
			
			The new section explains basic ways of using AVR target in QEMU. Signed-off-by: Michael Rolnik <mrolnik@gmail.com> [thuth: Converted doc from texi to Sphinx syntax] Signed-off-by: Thomas Huth <huth@tuxfamily.org> Message-Id: <20200705140315.260514-31-huth@tuxfamily.org> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.3 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 -machine mega2560 -bios demo.elf -serial
 | |
|    tcp::5678,server,nowait -nographic``
 | |
|    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:
 | |
|    ``qemu-system-avr -machine mega2560 -bios demo.elf -d in_asm``
 |