arm-none-eabi-as -ggdb empty.s -o empty.o
arm-none-eabi-ld empty.o -T memmap -o empty.elf
#arm-none-eabi-objdump -D empty.elf > empty.list
arm-none-eabi-objcopy empty.elf -O binary empty.bin
#qemu-system-arm -machine raspi2 --gdb tcp::1234 -d unimp,guest_errors --semihosting-config enable=on,target=native -drive file=empty,format=raw
qemu-system-arm -singlestep --gdb tcp::1234 -M versatilepb -m 8M -nographic -kernel empty.bin
arm-none-eabi-gdb
file empty
break _start
target remote localhost:1234
info register r0 r1 r2
continue
stepi
Resources:
https://www.qemu.org/download/#windows
http://doppioandante.github.io/2015/07/10/Simple-ARM-programming-on-linux.html
https://stackoverflow.com/questions/15802748/arm-assembly-using-qemu
https://medium.com/@tp4460/c-code-arm-assembly-emulating-execution-using-qemu-f2d63a3f40ca
https://stackoverflow.com/questions/20590155/how-to-single-step-arm-assembly-in-gdb-on-qemu
http://www.bravegnu.org/gnu-eprog/arm-lab.html
http://umanovskis.se/files/arm-baremetal-ebook.pdf
https://github.com/victor-yacovlev/mipt-diht-caos/tree/master/practice/arm