Replies: 3 comments 1 reply
-
Thanks for the suggestion @vChavezB this requires an update of Zephyr (currently 3.4.99) but it looks like a good fit for the setup USB / Flash memory as the user can download the apps to the flash memory and they can be executed from the memory. But I like the idea behind it and it´s worth taking a look at it. |
Beta Was this translation helpful? Give feedback.
-
Mm yeah I have looked at this, however my conclusions was that it's not mature enough. Apps need access to all of Zephyr, otherwise they will be quite limited. But maybe I miss something, I'm not too experienced in this area. |
Beta Was this translation helpful? Give feedback.
-
Zephyr includes some functions in the symbol table of From a search in Zephyr upstream these are the symbols available by default Not that many, but if the apps requires more then these have to be added manually in the ZSwatch firmware through the MACRO (e.g. Another thing to consider is that currently the code as far as I understand does not support XIP. See zephyrproject-rtos/zephyr#63538 Just wanted to point out the technical details for implementation and what could be possible. I have worked with dynamically loading code on ARM before but it seems that its still a proof-of-concept. Nevertheless, a nice concept for future use in the watch. |
Beta Was this translation helpful? Give feedback.
-
Zephyr v3.5.0 allows dynamically loading elf files see Linkable Loadable Extensions (LLEXT)
Apps could be downloaded to the watch and loaded at run time.
Check the example at
https://github.com/zephyrproject-rtos/zephyr/tree/d2151aa114cbf389fdec972119b218f7b39f3c9b/tests/subsys/llext
For ZSwatch, it would be required to export the symbols that are used by the ZSwatch app API and the lvgl API
ZSWatch/app/src/managers/zsw_app_manager.h
Line 36 in 0f09e3c
Beta Was this translation helpful? Give feedback.
All reactions