История изменений
Исправление panzerito, (текущая версия) :
А это баг qemu/gdb или так должно быть?
Дебаг arm программы на qemu
$ qemu-system-arm -M lm3s6965evb -cpu cortex-m3 -S -gdb tcp::1234 -nographic -kernel test.bin
(gdb) disas main
Dump of assembler code for function main:
0x000000b8 <+0>: push {r7}
0x000000ba <+2>: sub sp, #20
...
(gdb) x /2i 0xb8
0xb8 <main>: push {r7}
0xba <main+2>: sub sp, #20
(gdb) x /4xb 0xb8
0xb8 <main>: 0x80 0xb4 0x85 0xb0
(gdb) monitor x /4xb 0xb8
000000b8: 0x80 0xb4 0x85 0xb0
(gdb) monitor x /2i 0xb8
0x000000b8: b085b480 addlt fp, r5, r0, lsl #9
0x000000bc: f245af00 vmax.f32 d26, d5, d0
(gdb) monitor x /2i 0xb9
0x000000b9: b480 push {r7}
0x000000bb: b085 sub sp, #20
(gdb) monitor x /4xb 0xb9
000000b9: 0xb4 0x85 0xb0 0x00
На команду
(gdb) monitor x /2i 0xb8
Исправление panzerito, :
А это баг qemu/gdb или так должно быть?
Дебаг arm программы на qemu
$ qemu-system-arm -M lm3s6965evb -cpu cortex-m3 -S -gdb tcp::1234 -nographic -kernel test.bin
(gdb) disas main
Dump of assembler code for function main:
0x000000b8 <+0>: push {r7}
0x000000ba <+2>: sub sp, #20
...
(gdb) x /2i 0xb8
0xb8 <main>: push {r7}
0xba <main+2>: sub sp, #20
(gdb) x /4xb 0xb8
0xb8 <main>: 0x80 0xb4 0x85 0xb0
(gdb) monitor x /4xb 0xb8
000000b8: 0x80 0xb4 0x85 0xb0
(gdb) monitor x /2i 0xb8
0x000000b8: b085b480 addlt fp, r5, r0, lsl #9
0x000000bc: f245af00 vmax.f32 d26, d5, d0
(gdb) monitor x /2i 0xb9
0x000000b9: b480 push {r7}
0x000000bb: b085 sub sp, #20
(gdb) monitor x /4xb 0xb9
000000b9: 0xb4 0x85 0xb0 0x00
На команду
(gdb) monitor x /2i 0xb8
Исправление panzerito, :
А это баг qemu/gdb или так должно быть?
Дебаг arm программы на qemu
$ qemu-system-arm -M lm3s6965evb -cpu cortex-m3 -S -gdb tcp::1234 -nographic -kernel test.bin
(gdb) disas main
Dump of assembler code for function main:
0x000000b8 <+0>: push {r7}
0x000000ba <+2>: sub sp, #20
...
(gdb) x /2i 0xb8
0xb8 <main>: push {r7}
0xba <main+2>: sub sp, #20
(gdb) x /4xb 0xb8
0xb8 <main>: 0x80 0xb4 0x85 0xb0
(gdb) monitor x /4xb 0xb8
000000b8: 0x80 0xb4 0x85 0xb0
(gdb) monitor x /2i 0xb8
0x000000b8: b085b480 addlt fp, r5, r0, lsl #9
0x000000bc: f245af00 vmax.f32 d26, d5, d0
(gdb) monitor x /2i 0xb9
0x000000b9: b480 push {r7}
0x000000bb: b085 sub sp, #20
(gdb) monitor x /4xb 0xb9
000000b9: 0xb4 0x85 0xb0 0x00
С адреса 0xb9 инструкции должны же дизассемблироваться как 0x85b4 0x00b0.
Исправление panzerito, :
А это баг qemu/gdb или так должно быть?
Дебаг arm программы на qemu
$ qemu-system-arm -M lm3s6965evb -cpu cortex-m3 -S -gdb tcp::1234 -nographic -kernel test.bin
(gdb) disas main
Dump of assembler code for function main:
0x000000b8 <+0>: push {r7}
0x000000ba <+2>: sub sp, #20
...
(gdb) x /2i 0xb8
0xb8 <main>: push {r7}
0xba <main+2>: sub sp, #20
(gdb) x /4xb 0xb8
0xb8 <main>: 0x80 0xb4 0x85 0xb0
(gdb) monitor x /4xb 0xb8
000000b8: 0x80 0xb4 0x85 0xb0
(gdb) monitor x /2i 0xb8
0x000000b8: b085b480 addlt fp, r5, r0, lsl #9
0x000000bc: f245af00 vmax.f32 d26, d5, d0
(gdb) monitor x /2i 0xb9
0x000000b9: b480 push {r7}
0x000000bb: b085 sub sp, #20
(gdb) monitor x /4xb 0xb9
000000b9: 0xb4 0x85 0xb0 0x00
С адреса 0xb9 инструкции должны же дизассемблироваться как 0x85b4 0x00b0.
Исходная версия panzerito, :
А это баг qemu/gdb или так должно быть?
Дебаг arm программы на qemu
$ qemu-system-arm -M lm3s6965evb -cpu cortex-m3 -S -gdb tcp::1234 -nographic -kernel test.bin
(gdb) disas main
Dump of assembler code for function main:
0x000000b8 <+0>: push {r7}
0x000000ba <+2>: sub sp, #20
...
(gdb) x /2i 0xb8
0xb8 <main>: push {r7}
0xba <main+2>: sub sp, #20
(gdb) x /4xb 0xb8
0xb8 <main>: 0x80 0xb4 0x85 0xb0
(gdb) monitor x /4xb 0xb8
000000b8: 0x80 0xb4 0x85 0xb0
(gdb) monitor x /2i 0xb8
0x000000b8: b085b480 addlt fp, r5, r0, lsl #9
0x000000bc: f245af00 vmax.f32 d26, d5, d0
(gdb) monitor x /2i 0xb9
0x000000b9: b480 push {r7}
0x000000bb: b085 sub sp, #20
(gdb) monitor x /4xb 0xb9
000000b9: 0xb4 0x85 0xb0 0x00
С 0xb9 инструкции должны же дизассемблироваться как 0x85b4 0x00b0.