STLink在Ubuntu上的高级调试功能

avatar
作者
猴君
阅读量:0

ST-Link是一个用于与STMicroelectronics MCUs进行通信和调试的工具

  1. 使用OpenOCD进行调试:

    首先,确保已安装OpenOCD。在Ubuntu上,可以使用以下命令安装:

    sudo apt-get install openocd 

    接下来,您需要为目标MCU编写一个配置文件。这些文件通常位于/usr/share/openocd/scripts/board/目录中。您可以从这里找到适合您的MCU的配置文件。

    现在,运行以下命令以启动OpenOCD服务器:

    openocd -f <path_to_your_config_file> 

    然后,您可以使用GDB或其他调试工具连接到OpenOCD服务器。例如,使用GDB,您可以运行以下命令:

    arm-none-eabi-gdb --ex "target remote localhost:3333" <path_to_your_elf_file> 
  2. 使用Eclipse进行调试:

    要在Eclipse中设置ST-Link调试,请按照以下步骤操作:

    a. 安装Eclipse CDT和GNU ARM Eclipse插件。

    b. 创建一个新的C项目,并将源代码添加到项目中。

    c. 在项目属性中,转到“C/C++ Build”选项卡,然后选择“Settings”。

    d. 在“Toolchain”选项卡中,选择“ARM Cross GCC”。

    e. 在“Debugger”选项卡中,选择“OpenOCD GDB SEGGER J-Link”。

    f. 在“OpenOCD”选项卡中,选择您的目标MCU。

    g. 点击“Apply”和“Close”以保存更改。

    h. 连接ST-Link到目标板并将其连接到计算机。

    i. 在Eclipse中,右键单击项目,然后选择“Debug As” -> “Debug Configurations…”。

    j. 在左侧列表中,双击“GDB OpenOCD Debugging”以创建新的调试配置。

    k. 在“Main”选项卡中,选择您的项目和ELF文件。

    l. 在“Debugger”选项卡中,设置“GDB Client”为“arm-none-eabi-gdb”。

    m. 点击“Apply”和“Close”以保存更改。

    n. 现在,您可以在Eclipse中启动调试会话。

  3. 使用Visual Studio Code进行调试:

    要在Visual Studio Code中设置ST-Link调试,请按照以下步骤操作:

    a. 安装Visual Studio Code和Cortex-Debug插件。

    b. 创建一个新的C项目,并将源代码添加到项目中。

    c. 在项目根目录中创建一个名为.vscode的文件夹。

    d. 在.vscode文件夹中创建一个名为launch.json的文件,并添加以下内容:

    {     "version": "0.2.0",     "configurations": [         {             "type": "cortex-debug",             "request": "launch",             "name": "Debug",             "servertype": "openocd",             "project": "${workspaceFolder}/<path_to_your_elf_file>",             "configFiles": [                 "<path_to_your_openocd_config_file>"             ],             "svdFile": "<path_to_your_svd_file>",             "interface": "stlink",             "cwd": "${workspaceFolder}"         }     ] } 

    请根据您的项目和设置修改路径。

    e. 连接ST-Link到目标板并将其连接到计算机。

    f. 在Visual Studio Code中,打开调试视图(快捷键:Ctrl+Shift+D),然后点击绿色的“运行”按钮以启动调试会话。

这些高级调试功能可以帮助您更轻松地调试和解决在STMicroelectronics MCUs上运行的代码中的问题。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!