Issue:
Hello,
I am working on an Alif Ensemble E7 (Cortex-M55 + Ethos-U55) running Zephyr RTOS, and I am trying to deploy an Edge Impulse model that should run on the Ethos-U55 NPU.
My goal is to offload the inference to the Ethos-U NPU.
However, I am currently unable to make the NPU work with Edge Impulse under Zephyr.
Context/Use case:
- Hardware: Alif E7 DevKit (M55 + Ethos-U55-256)
- OS: Zephyr
- Goal: Run an Edge Impulse model on the Ethos-U55 NPU instead of the CPU.
What I have tried
1. Using the Zephyr Edge Impulse Module
I tried using the Zephyr module:
modules/edge-impulse-sdk-zephyr/
But I’m not sure whether this module actually supports Ethos-U acceleration, or if it only handles standard TensorFlow Lite Micro (CPU-only).
I cannot find clear documentation about whether the Zephyr EI module supports the NPU path.
2. Exporting the model from Edge Impulse
I generated models using:
- “Zephyr Library” → this always runs inference on the Cortex-M55, never on the NPU.
- “Ethos-U55-256 library (High End Embedded, shared SRAM)” → this export includes its own Edge Impulse SDK and custom kernels.
But when I integrate this export into a Zephyr application, the build becomes very complicated, and I am not sure what is the correct and official way to integrate this NPU-enabled SDK into a Zephyr project.
Question
-
Can the Zephyr Edge Impulse module (
edge-impulse-sdk-zephyr) be used for Ethos-U models? -
What is the correct way to integrate the Edge Impulse “Ethos-U55-256 library (High End Embedded, Shared SRAM)” export into a Zephyr project on the Alif E7?
Any example, documentation, or minimal working project would be extremely helpful.
Thank you in advance for any help or feedback!
