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

Get arm-none-eabi-gdb to load elf, continue, and then exit from commandline

我正在使用分布式嵌入式系统,该系统通过 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 命令,它可以加载、继续然后完全退出。离开设备 运行 新固件。

我找到了解决办法。 "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 有时会问的问题。

希望这对其他人有用!