Hi there,
I try to implement gdb-stubs for some kernel. And I can't make hardware breakpoint work on iMX6 hardware. I implement exception handlers and set up ARM debug module with next steps:
- check that debug module in normal power state and registers can be accessed;
- check that OS Lock not enabled;
- reset registers DBGVCR, DBGBCRx, DBGWCRx
- enable monitor mode;
When I set up hardware breakpoints using registers DBGBCRx, DBGBVRx they don't work. I checked this gdb-stub code on qemu and it works.
I found only a few iMX-specific options: CPU debug clocks in CCM module (enabled) and register IOMUXC_GPR10 (debug enabled)
Do I miss something in the iMX-specific configuration of debug module?
Hi Ivan,
As an option, you could refer to application note AN4553 “Using Open Source Debugging Tools for Linux on i.MX Processors”, which provides information that could be useful regarding debugging on i.MX6.
Hope this will be useful for you.
Best regards!
/Carlos
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Carlos,
thanks for the support. This document isn't related to my issue. I can use debugging tools for my configuration.
I almost figured out with my issue. Kernel works in secure mode and HW BP doesn't work because I don't have SPIDEN authentication signal. Then I have two options: use debug version of the kernel in non-secure mode or figure out how to enable this signal.
Hi Ivan,
In this case, you could take a look at the link below:
https://community.nxp.com/thread/316917
FYI, the new link of the mentioned application note is the following:
http://www.nxp.com/files/32bit/doc/app_note/AN4686.pdf
Hope this will be useful for you.
Best regards!
/Carlos
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------