Also, you will probably want to build a full release image, which is referenced in the same document (this requires building the Erlang and Elixir libraries and packaging them up with the AtomVM binary into a single image.
Please note that the team is also working on some CI to build images on commits to master, which should be available by the next release.
You should definitely follow the build-instructions that fadushin posted a link to. But to answer your question directly, the correct folder for working in for esp32 is AtomVM/src/platforms/esp32.
Yes, it works great for quickly testing on the development host. You could also use it to run AtomVM applications, for example as a server that several esp32 AtomVM clients could connect to. It should be able to run most applications as long as you pass the extra beam, or packed avm modules as parameters when you execute your application.
You will need to do three things, in order to create a full AtomVM image:
Follow the generic_unix instructions for building AtomVM [1]. This will not only build the AtomVM executable for UNIX (which you don’t need except for maybe testing or experimentation), but it will also build and package the AtomVM Erlang and Elixir Libraries.
Next, follow the ESP32 build instructions [2]. This will build several ESP32 components, such as as the boot loader, partition map, and AtomVM VM (an IDF application written in C, but compiled for Xtensa).
Finally, build a release image [3]. This will assemble all the needed components into a single .img file, which you can then flash to your ESP32.
Once that is done, you can use rebar3 to build your applications.
Hopefully in the future this will all be done via CI, so you can just download a nightly. (There is not a 0.6.0 release yet)
I finally succeeded to build AtomVM kernel into ESP32 with passing through some problems so that I got the ATOMVM banner. But It is still at the starting point, which is repeatedly rebooted.
AtomVM of master tag didn’t work on esp-idf v3.3. So I upgraded esp-idf v4.4, then it works well.
There is an open PR for building release images via git workflows. You can get a preview of pre-built images here, so you don’t have to build them yourself:
Thanks for your information.
Sorry, I didn’t mean to ask you about a new issue. The issue of to build an esp32 object has been resolved. Then I just wanted to set this issue closed.
I am now going to the next stage of mkimage by following your documents.
Thank you again, and let me ask you a question when I hit the wall.