STM32CubeIDE ST-LINK GDB server 也被称为 GDB server,是通过 ST-LINK JTAG 探头在与 Arm® Cortex®-M 目标设备连接的PC 上运行的命令行应用程序。
ST-LINK GDB server 启动时会通过 ST-LINK JTAG 连接至 STM32 Arm® Cortex®-M 目标设备。与目标设备侧建立通信之后,将等待客户端连接至 TCP 监听套接字。客户端连接至 TCP 监听套接字之后,ST-LINK GDB server 将处理客户端发送的远程串行通信协议(RSP)消息,并对目标设备侧执行适当操作,随后向客户端回复 RSP。
GDB server 使用
STM32CubeIDEST-LINK GDB 服务器是命令行应用程序,该应用程序可通过以下方式启动
- 输入一组命令行选项
- 指示 GDB server 从配置文件中加载选项
若未指定任何选项, GDB server 将以预配置默认选项启动。启动选项及对应的默认值列于第 1.1 节 GDB server启动选项中。
STM32CubeIDEST-LINK GDB 服务器利用 STM32CubeProgrammer (STM32CubeProg)对需要调试的设备进行flash 下载。当 gdb 发出 load 命令时, GDB server 将自动使用 STM32CubeProgrammer 软件。
GDB server 工作模式
此服务器可以在持续模式或非持续模式下运行 - 具体由配置选项决定。在持续模式下,服务器将在客户端断开连接后继续运行并等待新连接,而在非持续模式下客户端关闭连接后服务器将直接退出。但如果服务器与目标进行通信时出现错误,无论服务器处于哪一种模式,服务器都将关闭所有连接并关机。
启动 GDB server
GDB server 可以在命令窗口中以下列方式启动:
- cdC:STSTM32CubeIDE_1.0.0.19w12patchSTM32CubeIDEpluginscom.st.stm32cube.ide.mcu.externaltools.stlink-gdb-server.win32_1.0.0.201903011553toolsbinSTLINK_gdbserver
- 利用–cp 和 STM32_Programmer_CLI.exe 路径启动 GDB server例如:ST-LINK_gdbserver.exe -d -v -cp"C:STSTM32CubeIDE_1.0.0.19w12patchSTM32CubeIDEpluginscom.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.win32_1.0.0.201903011553toolsbin"
- 随后 GDB server 将通过 ST-LINK JTAG 与 STM32 设备相连,并等待 GDB 调试会话命令。