Erlang, Elixir 및 기타 기능 언어를 실제로 작은 시스템으로 가져옵니다.
ATOMVM은 ErlangVM 기능의 서브 세트를 지원하고 MCU와 같은 실제로 작은 시스템에서 수정되지 않은 빔 바이너리를 실행할 수있는 최소한의 Erlang VM을 처음부터 구현합니다.
ATOMVM은 최소한의 노력으로 새로운 플랫폼에 쉽게 휴대 할 수있는 것을 목표로하므로 가까운 시일 내에 추가 플랫폼이 지원 될 수 있습니다.
보다 완전한 "시작 가이드", 예제, 자세한 빌드 지침 및 ATOMVM 프로젝트 웹 사이트에서 제공되는 연락처 정보를 포함하여 훨씬 더 많은 정보가 있습니다.
다음 IoT 프로젝트를 시작할 수 있도록 예제 저장소를 확인하는 것을 잊지 마십시오.
V0.6.x 릴리스를 사용하십시오. 메인 브랜치는 개발 목적으로 사용되며 불안정 할 수 있습니다.
건축에 필요한 :
문서 및 적용 범위 :
make coverage ). $ mkdir build
$ cd build
$ cmake ..
$ make
$ ./src/AtomVM ./examples/erlang/hello_world.avm
빌드 디렉토리 내에서 테스트를 실행합니다.
$ ./tests/test-erlang
$ ./tests/test-enif
$ ./tests/test-mailbox
$ ./tests/test-structs
$ ./src/AtomVM ./tests/libs/estdlib/test_estdlib.avm
$ ./src/AtomVM ./tests/libs/eavmlib/test_eavmlib.avm
$ ./src/AtomVM ./tests/libs/alisp/test_alisp.avm
완전한 빌드 지침은 일반 UNIX (Linux, MacOS, FreeBSD, Dragonfly), ESP32, STM32, Raspberry Pi Pio 및 Pico 2 (RP2) 및 WASM (Nodejs/Web)에 대한 문서에서 제공됩니다.

ATOMVM은 여전히 초기 단계이지만 예제 및 테스트에서 사용 가능한 것과 유사한 간단한 응용 프로그램을 실행할 수 있습니다.
ATOMVM은 비슷한 메시지와 함께 충돌 할 수 있습니다.
Undecoded opcode: 15
Aborted (core dumped)
이는 기본적으로 명령어가 아직 구현되지 않았거나 구식 버전이 사용되었음을 의미합니다. 최신 버전을 사용하여 항상 atomvm을 실행하십시오.
이 프로젝트는 진행중인 작업이므로 몇 가지 알려진 한계가 있으며, 이는 수정되지 않은 소프트웨어를 실행하지 못하도록하는 몇 가지 알려진 한계가 있습니다. 일부는 다음과 같습니다.
이러한 모든 제한은 합리적인 시간에 고정 될 것입니다.
이 프로젝트는 Davide Bettio에 의해 만들어졌으며 현재 점점 더 많은 기고자들로부터 개발되었습니다.
모든 종류의 기여를 환영합니다. 가상 머신, 핵심 라이브러리 또는 문서를 개선하거나 조직 저장소에 기여 하여이 저장소에 기여할 수 있습니다.
이 프로젝트는 Apache 2.0 라이센스의 조건에 따라 있습니다.