m4调试功能,我在ubuntu中使用stm32f407发现和openocd,gdb
我正在尝试理解断点功能,我可以用gdb在openocd中设置断点地址,当pc运行到该地址时,芯片将停止工作
像主函数是在0x8008000,我猜一定有一个寄存器来存储这个地址(0x8008000),但我找不到这个寄存器在哪里,我在FPB手册中找到了FP_COMP0~FP_COMP7,但在gdb中它总是显示0,我认为它是用于转换到的新地址。
谁能告诉我在哪里可以了解相关信息,谢谢:)
发布于 2018-05-10 14:32:11
您是对的,这些是FPB (闪存补丁和断点单元)- http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0439b/BABGEDIG.html中的FP_COMP0-FP_COMP7寄存器。
这是可行的,只是在实践中进行了测试(设置了4个断点):

只需确保在使用IDE时,它可以缓存以前读取的寄存器值,并且设置断点不会立即显示在您通过IDE看到的内存中。强制它刷新(例如,通过运行和暂停程序)将使它显示正确的值。
https://stackoverflow.com/questions/50187997
复制相似问题