Currently we are actively supporting the following ports: unix, esp32, stm32, js (to some extent)
Other ports can also work, but would require a little bring-up effort for integrating the display/touch drivers and the LVGL bindings code.
The error you are getting is related to the native code emitter.
I guess that Micropython does not support native/viper code emitters under iMX.8.
As a workaround, you can comment all @micropython.native and @micropython.viper decorations on imagetools.py.
After doing that I don’t recommend using the PNG image decoder on your platform, as it would be very very slow when the conversion function are not native.
You can either directly use binary images or if you must use PNG you could rewrite the conversion function in C. Or implement a Micropython native/viper code emitter for your platform and contribute it to Micropython upstream if you are brave
Can you point to where I can find what archs are supported by native/viper directives?
I am now getting another error from the C compiler:
main.c: In function ‘main_’:
main.c:595:22: error: variable ‘subpkg_tried’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]
bool subpkg_tried = false;
^~~~~~~~~~~~
For now I would try removing -Werror. This code is only run when the -m option is used with MicroPython so it’s unlikely that you will run into a problem. In any case, the affected line is unmodified from upstream, so it’s probably worth opening an issue there.
Historically there was an effort creating a Python bindings, but it is not maintained.
lv_micropython is mostly targeted for embedded devices, so the focus is Micropython and not Python.