Memory not accessible from GDB when using mps3-an547
Host environment
- Operating system: Ubuntu 20.04.5 LTS
- OS/kernel version: Linux 4.4.0-19041-Microsoft
- Architecture: x86
- QEMU flavor: qemu-system-arm
- QEMU version: 7.2.0
- QEMU command line:
qemu-system-arm --machine mps3-an547 -serial mon:stdio -kernel test.elf -gdb tcp::1234 -S
Emulated/Virtualized environment
- Operating system: none (bare-metal)
- OS/kernel version: -
- Architecture: cortex-m55, Armv8.1-M
Description of problem
Memory (including variables) is not accessible when connecting to the emulated machine via GDB
Steps to reproduce
- Create minimal program
main.c
:int main(void) { int myvar = 42; for(;;) }
- Compile
arm-none-eabi-gcc -c -o build/main.o -c -mcpu=cortex-m55 -mfloat-abi=hard -mthumb -funsigned-char -mlittle-endian -O0 -g -std=c11 main.c
- Link
arm-none-eabi-g++ -o build/test.elf build/main.o -mcpu=cortex-m55 -mfloat-abi=hard -mthumb -funsigned-char -mlittle-endian --entry=Reset_Handler -static -T./platform.ld -O0 -g
- Run binary in QEMU:
qemu-system-arm --machine mps3-an547 -serial mon:stdio -kernel test.elf -gdb tcp::1234 -S
- Attach using GDB
arm-none-eabi-gdb build/test.elf
and set break point to infinite looptarget remote :1234 break main.c:18 continue print myvar
Expected Output: 42
Actual Output: Cannot access memory at address 0x11fffe4
Additional Information
Running info mem
in GDB results in:
Using memory regions provided by the target.
There are no memory regions defined.