Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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

次に、使用しているエディタで適切な シェルの初期化ファイル(例: ~/.zshrc または ~/.bashrc)の PATH に追記します:

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 ルール

これらのルールにより、F3 やシリアルモジュールのような USB デバイスを root 権限、つまり sudo なしで使用できます。

lsusb の出力にある idVendoridProduct を使って、/etc/udev/rules.d99-openocd.rules を作成します。

たとえば、USB ケーブルを使って STM32F3DISCOVERY をコンピューターに接続します。 ケーブルは必ず “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

したがって、idVendor0483 で、idProduct374b です。

/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 <-> シリアルコンバーター
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE:="0666"

次のコマンドで udev ルールを再読み込みします:

sudo udevadm control --reload-rules

ボードがコンピューターに接続されている場合は、いったん取り外してから再度接続してください。

次に、next section に進みます。