Replies: 2 comments 1 reply
-
I completely agree on the idea of reorganizing libraries, it is something very welcome.
|
Beta Was this translation helpful? Give feedback.
1 reply
-
As far as STM32 goes the libs are not on the device, so when they are packed into the application any unused modules are pruned, (unless prune is set to false) so these modules will never end up on the device. The only downside I see is for ESP32 is that we would want to implement some of the esp32boot functionality into main.c, like checking the app partition in NVS (to allow OTA app updates). |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Libraries shipped with AtomVM are currently:
main on ESP32 and RP2 loads atomvm lib and then the user application. So does
atomvm
script on Generic Unix. On STM32, there is a single AVM while emscripten can load any number of avm. atomvmlib is the combination of several of the libraries above.Proposal is to:
For example:
ekernel (equivalent of OTP kernel + erts)
estdlib (equivalent of OTP stdlib + crypto + ssl)
eavmlib platform independent utilities
eavmlib_websocket
eavmlib_esp32 esp32 hardware interface
eavmlib_rp2 rp2 hardware interface
eavmlib_stm32 stm32
eavmlib_emscripten emscripten hardware interface
etest (equivalent of OTP eunit)
alisp (unchanged)
These libraries would have Elixir and Gleam equivalents, i.e. exavmlib would be split.
Beta Was this translation helpful? Give feedback.
All reactions