ubuntu

如何在Ubuntu上使用STLink进行调试

小樊
92
2024-09-07 20:38:03
栏目: 智能运维

要在Ubuntu上使用STLink进行调试,请按照以下步骤操作:

  1. 安装必要的软件包和依赖项:

    打开终端并运行以下命令来安装必要的软件包和依赖项:

    sudo apt-get update
    sudo apt-get install build-essential git cmake libusb-1.0-0-dev
    
  2. 克隆并编译stlink工具集:

    git clone https://github.com/texane/stlink.git
    cd stlink
    make
    

    这将在build/Release/bin目录中生成stlink工具。

  3. 将stlink工具添加到系统路径:

    echo "export PATH=\$PATH:$(pwd)/build/Release/bin" >> ~/.bashrc
    source ~/.bashrc
    
  4. 将STLink设备连接到计算机。

  5. 确保STLink设备已正确连接:

    st-info --probe
    

    如果设备已正确连接,您应该会看到有关设备的信息。

  6. 使用stlink工具进行调试:

    例如,要将固件文件(例如firmware.bin)写入STM32微控制器,请运行以下命令:

    st-flash write firmware.bin 0x8000000
    

    要从STM32微控制器中读取固件,请运行以下命令:

    st-flash read firmware_backup.bin 0x8000000 size
    

    其中size是要读取的字节数。

  7. 使用GDB进行调试:

    首先,确保您已安装了ARM GCC工具链。如果没有,请运行以下命令:

    sudo apt-get install gcc-arm-none-eabi
    

    然后,使用以下命令启动GDB服务器:

    st-util
    

    现在,您可以使用GDB进行调试。例如,要调试名为firmware.elf的ELF文件,请运行以下命令:

    arm-none-eabi-gdb firmware.elf
    

    在GDB提示符下,连接到远程目标并开始调试:

    (gdb) target remote localhost:4242
    (gdb) load
    (gdb) monitor reset halt
    (gdb) continue
    

    现在,您可以使用GDB的所有功能进行调试,例如设置断点、单步执行等。

通过遵循这些步骤,您应该能够在Ubuntu上使用STLink进行调试。

0
看了该问题的人还看了