pyOCD: Unable to set breakpoint on Realtek RTL8195AM

When I try to set a breakpoint, for example on mbedtls_ssl_handshake in the test example below:

https://github.com/marcuschangarm/mbed-os-example-tls/tree/master/tls-client

I get this error:

(gdb) break mbedtls_ssl_handshake
Cannot access memory at address 0x3001c660

pyocd-gdbserver: 0.8.1a1 and 0.8.1a2.dev38 DAPLINK: 0241 GCC: 5.4.1 20160609 GDB: 7.10.1.20160616-cvs

About this issue

  • Original URL
  • State: open
  • Created 7 years ago
  • Comments: 15 (11 by maintainers)

Most upvoted comments

Ok, I checked the code. If the target doesn’t have a memory map, then it only supports using hardware breakpoints. But if the address is outside the hw breakpoint range, then the breakpoint request will fail. Sorry, but it won’t work for the time being. The best solution is to add RTL8195AM support to pyOCD so it has a memory map.

@c1728p9 We should change BreakpointManager.set_breakpoint() to allow software breakpoints if there isn’t a memory map, and only fail if the memory write fails.