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 監(jiān)聽套接字??蛻舳诉B接至 TCP 監(jiān)聽套接字之后,ST-LINK GDB server 將處理客戶端發(fā)送的遠程串行通信協(xié)議(RSP)消息,并對目標設備側執(zhí)行適當操作,隨后向客戶端回復 RSP。
GDB server 使用
STM32CubeIDEST-LINK GDB 服務器是命令行應用程序,該應用程序可通過以下方式啟動
- 輸入一組命令行選項
- 指示 GDB server 從配置文件中加載選項
若未指定任何選項, GDB server 將以預配置默認選項啟動。啟動選項及對應的默認值列于第 1.1 節(jié) GDB server啟動選項中。
STM32CubeIDEST-LINK GDB 服務器利用 STM32CubeProgrammer (STM32CubeProg)對需要調試的設備進行flash 下載。當 gdb 發(fā)出 load 命令時, GDB server 將自動使用 STM32CubeProgrammer 軟件。
GDB server 工作模式
此服務器可以在持續(xù)模式或非持續(xù)模式下運行 - 具體由配置選項決定。在持續(xù)模式下,服務器將在客戶端斷開連接后繼續(xù)運行并等待新連接,而在非持續(xù)模式下客戶端關閉連接后服務器將直接退出。但如果服務器與目標進行通信時出現(xiàn)錯誤,無論服務器處于哪一種模式,服務器都將關閉所有連接并關機。
啟動 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 調試會話命令。