我在Linux操作系统上,熟悉 arm-none-eabi 工具链和 make 构建过程,以便为基于ARM的微程序编译我的二进制文件控制器。但事情变得复杂了,因为我现在必须处理汇编语言而且没有一个像样的调试器这是一个严酷的世界。
所以我给自己买了一个SEGGER J-LINK EDU探针,用我的微控制器上的JTAG引脚调试我的应用程序。但事实证明,Linux没有可以显示寄存器值的终极调试器。我尝试使用 openocd ,但放弃了,然后我找到了Seeger的应用程序 JLinkExe ,这使我能够读取寄存器,暂停我的程序等... < / p>
但是这一切都在命令行界面中,我希望将它包含在我的IDE中(我目前正在使用IDE Kdevelop,但我对Eclipse IDE非常熟悉)......好吧换句话说......我厌倦了命令我想在我的IDE中使用花哨的调试工具。有没有可以提供调试图形界面的免费解决方案,如IAR&#39>:
或者像ARM提供的DS5那样:
在命令行中完成所有操作变得非常困难,所以如果有任何Linux免费解决方案将图形调试数据包含到IDE中,我将非常高兴。 否则我将不得不购买记录良好的商业产品......
欢迎您的意见。
答案 0 :(得分:1)
我目前正在使用Kdevelop(版本4.7.3)和JLinkGDBServer的解决方案来调试微控制器。
我找到的解决方案是导入项目,配置启动(Run -> Configure Launches
),为程序添加New Compiled Binary Launch
的新启动。
在New Compiled Binary Launch
标签中,选择可执行文件的路径。
在Debug
选项卡中选择Debugger executable
的路径,然后创建并添加适合您需求的gdb脚本(在我的附加到GDB服务器,加载程序并重置服务器)。
我仍然需要在命令行中手动启动JLinkGDBServer,但调试应用程序要容易得多。
这是gdb脚本,它特定于SWO调试:
target remote localhost:2331
monitor speed 1000
file program.out
load program.out
monitor SWO EnableTarget 209715200 1000000 1 0
thbreak main
monitor reset
确保速度值正确。