Skip to content

Instantly share code, notes, and snippets.

@pojiro
Last active May 1, 2024 09:43
Show Gist options
  • Save pojiro/ccb9d88dedd0590a8ac6930b37633ee0 to your computer and use it in GitHub Desktop.
Save pojiro/ccb9d88dedd0590a8ac6930b37633ee0 to your computer and use it in GitHub Desktop.
XIAO-ESP32-C3 で AtomVM を動作させたときのメモ

ESP-IDF をインストールする

https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/get-started/linux-macos-setup.html#for-linux-users

に従う。自分は Linux の場合に沿った。注意点は、 AtomVM が

AtomVM has been tested with the version 4 releases of the Espressif esp-idf SDK.

とのことなので v4.4.4 を使った。なので以下が行ったこと。

mkdir -p ~/esp
cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git
cd ./esp-idf
git checkout v4.4.4
git submodule update --init --recursive
./install.sh esp32c3

Atom VM

https://github.com/atomvm/AtomVM#step-by-step-build-instructions-generic-unix-platform に従って

まず、 ホスト向けの AtomVM と PackBEAM の build

git clone https://github.com/atomvm/AtomVM.git
cd AtomVM
mkdir build
cd build
cmake ..
make

次に esp32c3 向けの AtomVM の build と flash

cd ~/esp/esp-idf
. ./export.sh
cd path/to/AtomVM/src/platforms/esp32/
idf.py set-target esp32c3
idf.py menuconfig # 特に設定変更しなかった
idf.py build
idf.py -p /dev/ttyACM0 flash

そして、 Hellow World の転送

~/esp/esp-idf/components/esptool_py/esptool/esptool.py --chip esp32 --port /dev/ttyACM0 --baud 115200 --before default_reset --after hard_reset write_flash -u --flash_mode dio --flash_freq 40m --flash_size detect  0x210000 build/examples/elixir/HelloWorld.avm

cd src/platforms/esp32
idf.py monitor # で動作確認ができる。

idf.py monitor の使い方は、 https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-monitor.html に記載があるが、なんかうまく動いたり動かなかったりでちょっと。。ってかんじ。

@kurokouji
Copy link

開発環境を教えていただけないでしょうか。
CF-SZ6 にUbuntu22.04をインストールして、こちらの手順を試しましたがAtom VMのコンパイルでエラー発生で先に進めません。
よろしくお願いします。

@pojiro
Copy link
Author

pojiro commented Apr 30, 2024

@kurokouji

この作業をしたのは Linux mint で Ubuntu 20.04 相当だったと思います。
私がさわった当時よりも Atom VM のバージョンも上がっているようですので、本メモよりもリポジトリのドキュメントに従うことをおすすめいたします。

@kurokouji
Copy link

返信ありがとうございます、Ubuntu 20.04で試してみます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment