要在Ubuntu上使用STLink进行调试,请按照以下步骤操作:
安装必要的软件包和依赖项:
打开终端并运行以下命令来安装必要的软件包和依赖项:
sudo apt-get update
sudo apt-get install build-essential git cmake libusb-1.0-0-dev
克隆并编译stlink工具集:
git clone https://github.com/texane/stlink.git
cd stlink
make
这将在build/Release/bin
目录中生成stlink工具。
将stlink工具添加到系统路径:
echo "export PATH=\$PATH:$(pwd)/build/Release/bin" >> ~/.bashrc
source ~/.bashrc
将STLink设备连接到计算机。
确保STLink设备已正确连接:
st-info --probe
如果设备已正确连接,您应该会看到有关设备的信息。
使用stlink工具进行调试:
例如,要将固件文件(例如firmware.bin
)写入STM32微控制器,请运行以下命令:
st-flash write firmware.bin 0x8000000
要从STM32微控制器中读取固件,请运行以下命令:
st-flash read firmware_backup.bin 0x8000000 size
其中size
是要读取的字节数。
使用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进行调试。