2025-12-09 9:47 AM - last edited on 2025-12-09 10:35 AM by Andrew Neil
Hi,
I am working on an STM32N6 project inspired by the peopleDetection example in which I try to run a yolov8 for instance segmentation.
My pipeline uses camera (DCMIPP) + LTDC display + NPU inference (ATON / X-CUBE-AI).
Each subsystem works correctly on its own:
If I comment out the inference code in the main while, camera + LTDC work perfectly.
If I comment out the camera/display code and keep only the inference (LED toggle + delay), the LED blinks, meaning NPU inference works correctly.
This behavior is consistent when programming through CubeProgrammer.
However, when everything is enabled at the same time, the display stays completely black, even though the CPU and NPU do not crash.
The portion of code that causes the issue is:
LL_ATON_RT_Init_Network(&NN_Instance_Default);
/* Run Inference */
do
{
ll_aton_rt_ret = LL_ATON_RT_RunEpochBlock(&NN_Instance_Default);
if (ll_aton_rt_ret == LL_ATON_RT_WFE)
{
LL_ATON_OSAL_WFE();
}
} while (ll_aton_rt_ret != LL_ATON_RT_DONE);
/* End of Inference */
LL_ATON_RT_DeInit_Network(&NN_Instance_Default);
If this block is commented out, display works.
If this block is active, LTDC output immediately disappears.
Has anyone seen LTDC turn black after calling LL_ATON_RT_Init_Network() on STM32N6?
Thanks for any help.