Linux

以下是一些Linux发行版的安装命令。

必需的程序包

Ubuntu 18.04 或更新版本 / Debian stretch 或更新版本

注意gdb-multiarch是用于调试ARM Cortex-M程序的GDB命令

sudo apt-get install \
  gdb-multiarch \
  minicom \
  openocd

Ubuntu 14.04 和 16.04

注意arm-none-eabi-gdb是用于调试ARM Cortex-M程序的GDB命令

sudo apt-get install \
  gdb-arm-none-eabi \
  minicom \
  openocd

Fedora 23 或更高版本

sudo dnf install \
  minicom \
  openocd \
  gdb

Arch Linux

注意arm-none-eabi-gdb是用于调试ARM Cortex-M程序的GDB命令

sudo pacman -S \
  arm-none-eabi-gdb \
  minicom \
  openocd

其他发行版

注意arm-none-eabi-gdb是用于调试ARM Cortex-M程序的GDB命令

对于没有ARM预构建工具链包的发行版,请下载 "Linux 64-bit"文件并将其bin目录放在您的路径上。这里有一种方法:

mkdir -p ~/local && cd ~/local
tar xjf /path/to/downloaded/file/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2

然后,使用您选择的编辑器在适当的shell init文件中附加到PATH(例如~/.zshrc~/.bashrc):

PATH=$PATH:$HOME/local/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux/bin

可选软件包

Ubuntu / Debian

sudo apt-get install \
  bluez \
  rfkill

Fedora

sudo dnf install \
  bluez \
  rfkill

Arch Linux

sudo pacman -S \
  bluez \
  bluez-utils \
  rfkill

udev规则

这些规则允许您在没有root权限即sudo的情况下使用F3和串行模块等USB设备。

创建99-openocd.rules/etc/udev/rules.d使用lsusb输出中的idVendoridProduct

例如,使用USB电缆将STM32F3DISCOVERYY连接到计算机。确保将电缆连接到"USB ST-LINK"端口,即板边缘中央的USB端口。

执行 lsusb:

lsusb | grep ST-LINK

结果应该是:

$ lsusb | grep ST-LINK
Bus 003 Device 003: ID 0483:374b STMicroelectronics ST-LINK/V2.1

因此idVendor0483idProduct374b

创建 /etc/udev/rules.d/99-openocd.rules:

sudo vi /etc/udev/rules.d/99-openocd.rules

内容如下:

# STM32F3DISCOVERY - ST-LINK/V2.1
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374b", MODE:="0666"

对于带有可选USB <-> 基于FT232的串行模块的旧设备

创建 /etc/udev/rules.d/99-ftdi.rules:

sudo vi /etc/udev/rules.d/99-openocd.rules

内容如下:

# FT232 - USB <-> Serial Converter
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE:="0666"

重新加载udev规则:

sudo udevadm control --reload-rules

如果您的电脑上插了任何板,请拔下它们的插头,然后重新插入。

现在,转到下一节