获取arm-none-eabi-gdb以加载elf,继续,然后退出命令行

时间:2017-04-24 13:23:49

标签: bash arm gdb remote-debugging

我正在使用分布式嵌入式系统,该系统通过RF进行通信,并且相隔很远。出于这个原因,我想在开发时自动刷新这些新固件,它们都连接到一个linux盒子和一个带有swd连接的stlink程序员

我要做的是在bash脚本中使用命令加载固件 arm-none-eabi-gdb file.elf -ex "target extended-remote ip:3333" -ex "load" -ex "continue" -ex "quit" 在每个设备上,问题是我在尝试退出gdb以重新启动它并连接到另一个时,无法运行该程序。

任何建议都非常感谢,我最好喜欢gdb的一个命令,它会加载,继续然后完全退出。让设备运行新固件。

1 个答案:

答案 0 :(得分:1)

我找到了解决方法。 “kill”命令将重置设备,在这种情况下,它将在没有和附加调试器的情况下启动,这很好,因为我可以在以后随后附加它。

最后的命令变为: arm-none-eabi-gdb $bin -q -ex "set confirm off" -ex "target extended-remote $ip:3333" -ex "load" -ex "kill" -ex "quit"

这会将路径$ bin中的二进制文件加载到地址为$ ip的设备上。 -q将删除版本信息,稍微清理终端。设置确认关闭将删除gdb有时会问的问题。

希望这对其他人有用!