Open5
GSL - GNU Scientific Library

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

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

Armのツールチェーンインストール
-
Linux版をダウンロード
https://developer.arm.com/downloads/-/gnu-rm
gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 など -
Windows環境にダウンロードしたなら、Linux側にコピー
$ cp /mnt/c/Users/{ユーザフォルダ}/Downloads/gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2 . -
展開してインストール
$ tar xjf <ダウンロードしたファイル名>
$ sudo mv <生成されたディレクトリ名> /usr/local
もし展開でエラーが出るなら以下でコマンドを入れて再実行。
$ sudo apt install gzip2
- 環境変数を設定
$ echo 'export PATH=$PATH:/usr/local/gcc-arm-none-eabi-7-2018-q2-update/bin' >> ~/.bashrc
source ~/.bashrc

GSLのビルド
- 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
- コンパイル
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ディレクトリ以下に生成物が格納されているはず。