stm32n6 upgrading GettingStarted-ObjectDetection to ST Edge AI 3.0 runtime error
I have a small problem upgrading the STM32N6-GettingStarted-ObjectDetection example project to a newer Edge AI version: I am trying to upgrade the existing yolo person detection net to the latest Edge AI revision (3.0) before exploring custom network.
I think I updated all necessary parts as described in the Edge AI version update FAQ
- new static library (the non- _PIC version)
- updated the NPU subdirectory, added missing file to the STMCubeIDE project
- in main.c
- changed the NN name from 'Default' to 'network' to match the generated code
- replaced npu_cache_init with npu_cache_enable (at this point, the inference loop was stuck waiting for completion , so..: )
- implemented npu_cache_enable_clocks_and_reset with the original CACHEAXI enabling code
At this point, the npu seemingly started but causes this error:
Bus interface interrupt
BUSIF0 ERR: 0x0
BUSIF1 ERR: 0x3
ATON_STD_IRQHandler()@877: irqs=0xlx
assertion "0" failed: file "/home/simon/STM32CubeIDE/workspace_1.19.0/STM32N6-GettingStarted-ObjectDetection/Middlewares/AI_Runtime/Npu/ll_aton/ll_aton_runtime.c", line 881, function: __LL_ATON_RT_IrqErrObviously I am missing some init function that the new library version needs but that has not been called, any hints are welcome!
My current state can be found in this branch:
https://github.com/svogl/STM32N6-GettingStarted-ObjectDetection/tree/feature/model-update
Side-notes:
- I've tried the latest CubeMX but that has a) an older AI code release, b) does not generate AI code for cmake projects
- The board & software is pretty new so much is in flow & converging, I can happily deal with that; if there's a better code base to start I can move my stuff over without problems.
Happy hacking & thanks from Austria
Simon
