Hi, By default gdb uses software breakpoints and watchpoints and it doesn't work on Cortex A8. You should use hardware bp/wp. To do so execute next command in gdb: monitor gdb_breakpoint_override hard
2010/10/6 Karl Kurbjun <kkurb...@gmail.com> > Hi all, > > I am trying to use watchpoints with the A8, but they do not appear to be > working. I have some simple test code that demonstrates this: > > ------------------------------------------------------------------------------- > void main() > { > while(1) > { > test_data++; > > delay_count = 50000; > while(delay_count--) {}; > } > } > > ------------------------------------------------------------------------------- > > I tried to set a watchpoint on test_data (a global variable) with gdb: > > ------------------------------------------------------------------------------- > 0x00016f64 in ?? () > (gdb) load > Loading section .boot_header, size 0x20 lma 0x40200000 > Loading section .vectors, size 0x20 lma 0x40200020 > Loading section .init, size 0xf0 lma 0x40200040 > Loading section .bob, size 0x374 lma 0x40200130 > Loading section .data, size 0x4 lma 0x402004a4 > Start address 0x40200020, load size 1192 > Transfer rate: 7 KB/sec, 238 bytes/write. > (gdb) awatch test_data > Hardware access (read/write) watchpoint 1: test_data > (gdb) cont > Continuing. > ^C > > (gdb) info watchpoints > Num Type Disp Enb Address What > 1 acc watchpoint keep y test_data > > ------------------------------------------------------------------------------- > > but the processor never stops. > > I double checked the objdump of the code: > > ------------------------------------------------------------------------------- > 402004a4 <test_data>: > 402004a4: 00000002 andeq r0, r0, r2 > > ------------------------------------------------------------------------------- > > I then tried to set a watchpoint direct in OpenOCD and it appears to work: > > ------------------------------------------------------------------------------- > > wp 0x402004a4 4 > > resume > target state: halted > target halted in ARM state due to watchpoint, current mode: Supervisor > cpsr: 0x600001d3 pc: 0x4020043c > MMU: disabled, D-Cache: disabled, I-Cache: disabled > Watchpoint triggered at PC 0x4020043c > > ------------------------------------------------------------------------------- > > Is this a known issue with watchpoints within GDB or am I doing something > wrong? > > -Karl > _______________________________________________ > Openocd-development mailing list > Openocd-development@lists.berlios.de > https://lists.berlios.de/mailman/listinfo/openocd-development >
_______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development