summary refs log tree commit diff stats
path: root/gitlab/issues_text/target_arm/host_missing/accel_missing/1488
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues_text/target_arm/host_missing/accel_missing/1488')
-rw-r--r--gitlab/issues_text/target_arm/host_missing/accel_missing/148835
1 files changed, 35 insertions, 0 deletions
diff --git a/gitlab/issues_text/target_arm/host_missing/accel_missing/1488 b/gitlab/issues_text/target_arm/host_missing/accel_missing/1488
new file mode 100644
index 000000000..286f8dfad
--- /dev/null
+++ b/gitlab/issues_text/target_arm/host_missing/accel_missing/1488
@@ -0,0 +1,35 @@
+Memory not accessible from GDB when using mps3-an547
+Description of problem:
+Memory (including variables) is not accessible when connecting to the emulated machine via GDB
+Steps to reproduce:
+1. Create minimal program `main.c`:
+    ```c
+    int main(void) {
+        int myvar = 42;
+        for(;;)
+    }
+    ```
+2. Compile
+   ```bash
+    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
+    ```
+    (ARM startup files and include directories omitted for brevity)
+3. Link 
+    ```bash
+    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
+    ```
+    (ARM startup files omitted for brevity)
+4. Run binary in QEMU:
+   ```bash
+    qemu-system-arm --machine mps3-an547 -serial mon:stdio -kernel test.elf -gdb tcp::1234 -S
+    ```
+5. Attach using GDB `arm-none-eabi-gdb build/test.elf` and set break point to infinite loop
+   ```gdb
+   target remote :1234
+   break main.c:18
+   continue
+   print myvar
+   ```
+
+Expected Output: 42  
+Actual Output: `Cannot access memory at address 0x11fffe4`