1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MacにARM EABI HFなツールチェインをインストール

Posted at

CGOを使ったgoプログラムを、ARM向けにクロスビルドしたくなった。
そのためには、ターゲット用のクロスコンパイラーをインストールする必要があるようだ。

環境

  • MacBook Air (M1, 2020)
  • macOS Big Sur 11.3.1
  • Go 1.16.5

ターゲットの環境

  • Armadillo-IoT A6
  • アーキテクチャ: ARMv7
  • ABI: armeabihf

既存の方法

これらの方法は、ARM公式のビルド済ツールチェインをインストールする方法。
しかし、ARM公式で用意してくれているのは、gcc-arm-none-eabiなツールチェインのみ。

別のページでは、EABI HFなツールチェインも配布してくれているが、Mac用は無い orz

RaspberryPi:Macでクロスコンパイル&デバッグ
こちらの記事のように、ソースからツールチェインをビルドする方法もあるが、めんどくさい。

基本的対処方針

Pre-built ARM/Linux C cross-compilers for MacOS
Mac OS用のビルト済ツールチェインを公開してくれている人がいたので、これを使う。
しかし、ビルドスクリプトを公開してくれていないので、中身がどうなっているのか大変怪しい。

crosstool-ngを使ってビルドしたらしいので、本来は、自前でビルドするのが正しい姿勢だろう。

インストール手順

arm-unknown-linux-gnueabihfのtarボールをダウンロードし、展開する。

% cd ~/Download
% wget https://github.com/thinkski/osx-arm-linux-toolchains/releases/download/8.3.0/arm-unknown-linux-gnueabihf.tar.xz
% sudo mkdir -p /opt/toolchain
% cd /opt/toolchain
% sudo tar xJvf ~/Download/arm-unknown-linux-gnueabihf.tar.xz

パスを通す

.zshrcに追記
export PATH="$PATH:/opt/toolchain/arm-unknown-linux-gnueabihf/bin"

シェルを再起動して、動作確認

% exec $SHELL
% arm-unknown-linux-gnueabihf-gcc --version
arm-unknown-linux-gnueabihf-gcc (crosstool-NG 1.24.0) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?