micro:bit ではさまざまなウェブベースの開発環境が提供されている。
この記事ではオフラインでの開発環境の構築方法(ただし Ubuntu Linux のみ)について説明する。
参考にしたのは以下のサイトである。
https://lancaster-university.github.io/microbit-docs/offline-toolchains/
yotta のインストール
最初にするのは yotta というビルドツールのインストールである。 yotta は Python で記述されているため、Python 関係の開発ツールをインストールしたあとで yotta をインストールする。
sudo apt-get install python-setuptools cmake build-essential ninja-build python-dev libffi-dev libssl-dev sudo easy_install pip pip install yotta
モジュールの依存関係を更新できるようにするため、以下のようにディレクトリのパーミッションを変更しておく。
sudo mkdir -p /usr/local/lib/yotta_modules sudo chown $USER /usr/local/lib/yotta_modules chmod 755 /usr/local/lib/yotta_modules
gcc のインストール
gcc-arm-none-eabi ではなく、ARMがメンテしている gcc をインストールする。そのために apt のレポジトリを追加する。
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa sudo apt-get update
gcc をインストールする。
sudo apt-get install gcc-arm-embedded
ついでに srecord をインストールする。
sudo apt-get install srecord
サンプルファイルのビルド
サンプルのプロジェクトを入手してビルドする。
git clone https://github.com/lancaster-university/microbit-samples cd microbit-samples yt target bbc-microbit-classic-gcc yt build
ビルドが成功すると ./build/bbc-microbit-classic-gcc/source/microbit-samples-combined.hex ができるので、マウントした micro:bit にコピーする。
cp ./build/bbc-microbit-classic-gcc/source/microbit-samples-combined.hex /media/MICROBIT
トラブルシューティング
micro:bit の環境構築はなぜか 64bit 環境でうまくいかなかった。 yt build を行うとエラーが出てしまう。
% yt build info: get versions for microbit error: 'NoneType' object has no attribute 'rfind'
いろいろ調べたが解決策が見つからなかったので、 ubuntu-server 16.04 のi386版を新規にインストールして試してみたらうまくいった。
また、 yt target でもエラーが発生した。これは 以下のように pyopenssl を再インストールすることで回避できた。
sudo pip uninstall pyopenssl sudo pip install pyopenssl