使用ARM M0和GDB进行监控模式调试

使用ARM M0和GDB进行监控模式调试,arm,gdb,embedded,Arm,Gdb,Embedded,关于这个话题,似乎没有太多全面的信息。在Keil和IAR这样的专业工具中,这似乎是一件非常经常和容易完成的事情,但是围绕它们编写工具可能有点棘手/缺乏灵活性,因为它们不支持使用某些特殊的脚本/语言 如何在不停止处理器的情况下,从GDB服务器监视/传输实时变量数据?这当然可以通过在非M0处理器上使用Trace/SWO以某种方式完成,但专业工具集在没有此功能的情况下工作得很好。大多数IC调试器利用MCU的“周期窃取”功能并通过SWD/JTAG等进行调试。您需要特定MCU中的某种方式的硬件支持。硬件支

关于这个话题,似乎没有太多全面的信息。在Keil和IAR这样的专业工具中,这似乎是一件非常经常和容易完成的事情,但是围绕它们编写工具可能有点棘手/缺乏灵活性,因为它们不支持使用某些特殊的脚本/语言


如何在不停止处理器的情况下,从GDB服务器监视/传输实时变量数据?这当然可以通过在非M0处理器上使用Trace/SWO以某种方式完成,但专业工具集在没有此功能的情况下工作得很好。

大多数IC调试器利用MCU的“周期窃取”功能并通过SWD/JTAG等进行调试。您需要特定MCU中的某种方式的硬件支持。硬件支持?我会用GDB或专业工具使用同一个程序员。我知道有一些额外的代码加载在一起,但这部分似乎故意保持不透明…硬件支持,因为每个MCU都有一个特定的调试硬件外设用于此。但是OCD可以在不停止和启动cpu的情况下检查事情吗?(这是非常典型的,你必须停下来然后启动)。其他解决方案是一个rom监视器,它通过使用封装IDE/SDK添加到二进制文件中,并通过IDE/SDK为您链接的封装库获取基于计时器的时间片设置。我一般认为,如果你想自己做这件事,那就是你需要做的。例如,GDB将/可以通过uart连接到rom监视器,而ocd根本不使用,或者你修改GDB以使用其他路径。