SPADI-A Wiki/SPADI-A DAQ マニュアル/ソフトウェア/ソフトウェアのインストール/HUL Common Library


HUL Common Library

HUL Common Library ( https://github.com/spadi-alliance/hul-common-lib/ ) は Hadron Universal Logic (HUL) ボードのレジスタ設定、コントロールを行うために開発されたコードをもとに作られた Library である。SiTCP / SiTCP-XG の RBCP (Remote Bus Control Protocol, UDP 使用) を使うプログラムの多くがこのライブラリに入っており、現在 AMANEQ 本体のファームウェアバージョンを確認したり、MIKUMARI Link のステータスを確認したりすることもできる。また、AMANEQ Software は HUL Common Library を用いており (Linux で言うライブラリのリンクを行っている)、AMANEQ Software をインストールする前に、 この HUL Common Library をインストールしておく必要がある。

実行環境

基本的に Linux で動かすことを想定している。現在、動くことがわかっている Linux ディストリビューションは、CentOS 7, AlmaLinux 8, AlmaLinux 9 である。近年の Linux ディストリビューションのライフサイクルやサポート期間を鑑みて、2024年9月時点でユーザーの間では AlmaLinux 9 が広く使われている。

事前にインストールが必要なパッケージ

hul-common-lib をインストールするには、git, cmake, make, g++ コマンドが使えればよい。そのため、特別なパッケージは必要なく、以下の標準的な開発用パッケージをインストールすればよい。

これらをインストールするには、sudo dnf コマンド、もしくは以下のように root ユーザーになり、dnf コマンドでパッケージをインストールすればよい。

$ su
Password: <root のパスワード>
# dnf install git-core gcc-c++ cmake

gcc-c++ パッケージをインストールすると、gcc パッケージもインストールされる。また、cmake パッケージをインストールすると、make パッケージもインストールされる。

インストール

GitHub の公式ドキュメントのインストールのページを参照のこと。公式のトップページ (README.md) の INSTALLATION for Users のリンクから辿ることができる。一応、$HOME/repos/hul-common-lib/install をインストール先としたときのインストール方法を書いておくと、以下の通り。

mkdir -p $HOME/repos/hul-common-lib
cd  $HOME/repos/hul-common-lib
mkdir build install
git clone https://github.com/spadi-alliance/hul-common-lib.git hul-common-lib.src.git 
cmake \
  -S ./hul-common-lib.src.git \
  -B ./build \
  -DCMAKE_INSTALL_PREFIX=./install
cd build
make -j10
make install

ここで、make -j10 の 10 は並列コンパイルのスレッドの数。自身のコンピュータの CPU のコア数 (もう少しいうと CPU のスレッド数) に合わせて調整する。

リンク

本稿執筆者

2024/10/18 小林 信之 (大阪大学RCNP)