MicroPythonをビルドしてLinux環境で動かしてみる

スポンサーリンク

MicroPythonを組み込み基板で動かす準備として、まずはLinux環境(Ubuntu 20.04 Desktop)で動かしてみたので備忘録を残す。

準備

Linux環境として、Ubuntu 20.04 Desktop を準備。(Ubuntu 20.04 Server でもたぶん大丈夫)

【Ubuntu 20.04 LTS Desktop】新規にインストールする
Ubuntu 20.04 LTS が、2020年4月24日にリリースされた。又、日本語Remix版は、2020年5月9日にリリースされた。 そこで、新規に「Ubuntu 20.04 LTS Desktop」をインストールしたので備忘録を残す...

ターミナルを起動して、下記コマンドを実行して関連するパッケージをインストール。

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install build-essential
$ sudo apt install libreadline-dev
$ sudo apt install libffi-dev
$ sudo apt install git

MicroPytonのソースコードを取得

GitHubから、下記コマンドで任意のフォルダに取得。(ホームフォルダに取得した例)

$ cd ~
$ git clone https://github.com/micropython/micropython

コンパイル

READMEに従ってコンパイル。

$ cd ~/micropython/mpy-cross/
$ make
$ cd ~/micropython/ports/unix/
$ make submodules
$ make

無事にビルドできた。

実行してみる

インタプリタを起動する。CTRL+D キーで終了できる。

$ ./micropython
MicroPython v1.15-64-g1e2f0d280 on 2021-05-03; linux version
Use Ctrl-D to exit, Ctrl-E for paste mode
>>> 1 + 2
3
>>>          (<== CTRL+D キーを押して終了)

macOSで試してみる

macOS Big Sur(Ver11.3.1)でも、同様に上記手順でビルドして実行できた。但し、mptheradport.c の129行あたりでエラーになったので下記のように修正した。

snprintf(thread_signal_done_name, sizeof(thread_signal_done_name), "micropython_sem_%d", (int)thread->id);
 ↓
snprintf(thread_signal_done_name, sizeof(thread_signal_done_name), "micropython_sem_%lld", (long long)thread->id);

関連記事

【Ubuntu 18.04 LTS Server】ARMのGCCコンパイル環境を構築する
以前の記事で、「Ubuntu 18.04 LTS Server」をインストールした。 そこで、ARM用のGCCコンパイラをインストールして使えるようにしたので備忘録を残す。 ARMツールチェーンのインストール 「gcc-arm-none-e...

参考

  1. MicroPython
  2. MICROPYTHONコードUNIXプラットフォームファームウェアのコンパイル
  3. UNIX版MicroPython

コメント

タイトルとURLをコピーしました