Open5

GSL - GNU Scientific Library

forest1forest1

Armマイコン用のライブラリを作成する手順

forest1forest1

Linux環境構築

  1. Microsoft StoreでWSLにて検索して、Windows Subsystem for Linux をインストールする。
  2. Ubuntu (20.04.6 LTS)を入れる。
  3. コマンド追加インストール
    WindowsのスタートメニューからUbuntuを起動。
    $ sudo apt update
forest1forest1

Armのツールチェーンインストール

  1. Linux版をダウンロード
    https://developer.arm.com/downloads/-/gnu-rm
    gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 など

  2. Windows環境にダウンロードしたなら、Linux側にコピー
    $ cp /mnt/c/Users/{ユーザフォルダ}/Downloads/gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2 .

  3. 展開してインストール
    $ tar xjf <ダウンロードしたファイル名>
    $ sudo mv <生成されたディレクトリ名> /usr/local

もし展開でエラーが出るなら以下でコマンドを入れて再実行。
$ sudo apt install gzip2

  1. 環境変数を設定
    $ echo 'export PATH=$PATH:/usr/local/gcc-arm-none-eabi-7-2018-q2-update/bin' >> ~/.bashrc
    source ~/.bashrc
forest1forest1

GSLのビルド

  1. GSLのCurrent Stable Version をダウンロードする。
    https://www.gnu.org/software/gsl/

2.ローカルにコピーして展開

$ cp /mnt/c/Users/{ユーザフォルダ}/Downloads/gsl-latest.tar.gz .
$ tar -xzvf gsl-latest.tar.gz
(展開されたディレクトリに移動)
$ cd gsl-2.7.1

3.生成物ディレクトリ作成

$ mkdir /home$(whoami)/gsl_arm

  1. コンパイル

makeが未インストールなら予め入れておく
$ sudo apt-get install make

以下をそのままコマンドラインに張り付けて実行。

COREFLAGS="-mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=soft"
./configure --prefix=/home/$(whoami)/gsl_arm CC=arm-none-eabi-gcc \
CXX=arm-none-eabi-gcc LD=arm-none-eabi-gcc AR=arm-none-eabi-ar \
OBJCOPY=arm-none-eabi-objcopy CCFLAGS="$COREFLAGS" CXXFLAGS="$COREFLAGS" \
LDFLAGS="--specs=nano.specs --specs=nosys.specs $COREFLAGS"  \
--host=x86_64-unknown-linux-gnu

続けて、
$ make

$ make install
これで、gsl_armディレクトリ以下に生成物が格納されているはず。