在 Ubuntu 上配置 ST-Link 主要包括以下几个步骤:
安装依赖库和工具:
首先,确保你的系统已经安装了一些必要的依赖库。打开终端并运行以下命令来安装这些库:
sudo apt-get update
sudo apt-get install build-essential libusb-1.0-0-dev
获取 ST-Link 驱动源码:
从 GitHub 上克隆 ST-Link 驱动源码。在终端中输入以下命令:
git clone https://github.com/texane/stlink.git
编译和安装 ST-Link:
进入 stlink 目录,然后使用 make 命令编译源码:
cd stlink
make
编译完成后,将生成的可执行文件复制到 /usr/local/bin 目录下:
sudo cp build/Release/st-* /usr/local/bin
添加 udev 规则:
为了让非 root 用户能够访问 ST-Link 设备,需要创建一个 udev 规则。在 /etc/udev/rules.d/ 目录下创建一个新的规则文件,例如 99-stlink.rules:
sudo nano /etc/udev/rules.d/99-stlink.rules
将以下内容粘贴到文件中:
# STM32 discovery boards, with onboard stlinkv2-1
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", MODE="660", GROUP="plugdev"
# STM32 nucleo boards, with onboard stlinkv2-1
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374b", MODE="660", GROUP="plugdev"
# STM32F4 Discovery and similar boards, with onboard stlinkv2-1
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3752", MODE="660", GROUP="plugdev"
保存并关闭文件。然后,重新加载 udev 规则:
sudo udevadm control --reload-rules
sudo udevadm trigger
测试 ST-Link:
将你的 ST-Link 设备连接到计算机,然后运行以下命令来测试是否正常工作:
st-info --probe
如果一切正常,你应该会看到类似于以下的输出信息:
Found 1 stlink programmers
serial: 3030303030303030303030
flash: 0 (pagesize: 0)
sram: 0
chipid: 0x0000
desc: unknown device
现在你已经成功地在 Ubuntu 上配置了 ST-Link,可以使用它来编程和调试 STM32 微控制器了。