Setup the Development Environment

ソフトウェアの準備

このセクションでは、SC-OBC Module A1 のソフトウェア開発環境の準備方法について説明します。

対象プラットフォーム

このドキュメントは、Ubuntu 24.04 x86_64 システムを対象としています。

以下のいずれかの環境を使用できます。

  • Ubuntu がインストールされた PC

  • システムコンテナ (例: Incus)

  • 仮想マシン (例: QEMU、VirtualBox、VMware)

  • Windows Subsystem for Linux (WSL) (TIP を参照)

Windows または macOS を使用している場合は、 Zephyr の公式 Getting Started Guide を参照してください。

Zephyr 公式 Getting Started Guide の Install dependencies セクションによると、WSL からのファームウェア書き込みはサポートされていません。しかし、 SC-OBC Module A1 Development Board では、WSL 上でも書き込みが可能であることを確認しています。 WSL 利用者向けの詳細な手順は、ハードウェアの接続 セクションに記載しています。

必要な依存パッケージのインストール

このセクションは、ほぼ Zephyr 公式ドキュメントと同じです

システムの更新

sudo apt update && sudo apt upgrade

依存パッケージのインストール

sudo apt install --no-install-recommends git cmake ninja-build gperf \
  ccache dfu-util device-tree-compiler wget \
  python3-dev python3-pip python3-setuptools python3-tk python3-wheel xz-utils file \
  make gcc gcc-multilib g++-multilib libsdl2-dev libmagic1

Zephyr と Python 要件の取得

作業ディレクトリの作成

mkdir -p ~/myproject && cd ~/myproject

Python venv パッケージのインストール

sudo apt install python3-venv

新しい仮想環境の作成

python3 -m venv ~/myproject/.venv

仮想環境の有効化

source ~/myproject/.venv/bin/activate

west のインストール

pip install west

west を使って SC-OBC Module A1 サンプルリポジトリをクローンする

cd ~/myproject
west init -m https://github.com/spacecubics/scobc-a1-sample
west update
west zephyr-export

Python 要件のインストール

west packages pip --install

Zephyr SDK のインストール

west sdk install

udev ルールのインストール

udev ルールをインストールします。これにより、通常ユーザーでも多くの Zephyr ボードへ書き込みできるようになります。

sudo cp ~/zephyr-sdk-[VERSION]/sysroots/x86_64-pokysdk-linux/usr/share/openocd/contrib/60-openocd.rules \
        /etc/udev/rules.d
sudo udevadm control --reload

OpenOCD 関連パッケージのインストール

OpenOCD による書き込みに必要なパッケージをインストールします。

sudo apt install libftdi1 libgpiod2 libhidapi-hidraw0 libcapstone4

tio パッケージのインストール

シリアルコンソールを扱うためのツールはいくつかありますが、このドキュメントでは tio を使用します。

sudo apt install tio

ハードウェアの接続

開発を始める前に、以下の部品がそろっていることを確認してください。

  • ✔️ SC-OBC Module A1

  • ✔️ SC-OBC Module A1 Development Board

  • ✔️ USB Micro-B ケーブル

  • ✔️ AC アダプタ (5V/3.0A PL03B)

接続方法の詳細については、 SC-OBC Module A1 Development Board Product Manual を参照してください。

このドキュメントでは、MPLAB PICkitPlatform Cable USB II の接続は必要ありません。

WSL 利用者向け

SC-OBC Module A1 Development Board の CON2 は USB Micro-B の DEBUG インターフェースであり、オンボードの FT4232H USB インターフェースに接続されています。これにより FPGA JTAG、 CPU JTAG、FPGA UART、TRCH UART が利用できます。

USB ケーブルで CON2 を Windows PC に接続し、その後 Microsoft の USB 接続ガイドに従って WSL に アタッチしてください。

デバイスを WSL にアタッチするには、Windows 上で usbipd list を実行し、CON2 に対応する FTDI マルチポート USB デバイス (VID:PID 0403:6011) を確認します。この出力から BUSID を取得し、 usbipd bind および usbipd attach コマンドで使用します。 DEVICE 列のデバイス名は途中で切れて表示される場合がありますが、 VID:PID (0403:6011) で識別できます。

例 (BUSID は環境によって異なる場合があります) :

PS C:\Users\user> usbipd list
Connected:
BUSID  VID:PID    DEVICE                                                        STATE
...
9-1    0403:6011  USB Serial Converter A, USB Serial Converter B, USB Seria...  Not shared

usbipd list で表示された BUSID を使って、デバイスを WSL にアタッチしてください。

usbipd bind --busid 9-1
usbipd attach --wsl --busid 9-1

アタッチ後、シリアルポートは WSL 上で /dev/ttyUSB* として見えるようになります。

west flash コマンドは、ネイティブ Linux と比べて WSL 上では完了までに時間がかかることを確認しています。 (65 KBytes 書き込み時: WSL では約 1 分、Native Linux では約 20 秒)

DIP スイッチの状態を確認する

Zephyr コンソールを使用するには、DIP スイッチ (SW1) の bit3 (RX) と bit4 (TX) を ON にする必要があります。現在 OFF の場合は、 ON に切り替えてください。

SC-OBC Module A1 Development Board の電源を入れる

すべての接続と確認が完了したら、Development Board 上の電源スイッチ (SW2) を ON にして電源を投入してください。