How to update my project with a new version of ST Edge AI Core

Context

This document presents an easy scheme to migrate a project that was written using an old version of STEdgeAI (and its outputs) to a newer version of the tool. This page is specific to projects written for using the ST Neural-ART runtime stack and using the NPU.

The issues faced when re-generating a network.c file with a newer version of STEdgeAI are leading to compilation errors/bad behaviours:

  • The generated code is expecting with a newer version of the ST Neural-ART runtime stack (i.e. it might use new functions, or expect new behaviours from functions)

    • The generated code raises a compiler error if an old version of ST Neural-ART runtime stack is used.

  • The generated code is aligned with a newer version of the NetworkRuntime library (i.e. it might expect new behaviours, new API, etc…)

How to migrate

Update the ST Neural-Art runtime software stack

In a similar way, the generated .c file must be linked with correct version of ST Neural-ART runtime software stack (or the compilation will eventually fail with an error).

The software stack is shipped with STEdgeAI installation in Middlewares/ST/AI/Npu/ll_aton. When migrating a project written with an old version of STEdgeAI, those files should be replaced by the newer ones in the project.

Summary

  • Update the library with the new one in Middlewares/ST/AI/Lib/<toolchain>/ARMCortexM55

  • Update the library headers with the new ones in Middlewares/ST/AI/Inc/

  • Update the Neural-Art runtime software stack with the new one in Middlewares/ST/AI/Npu/ll_aton