cancel
Showing results for 
Search instead for 
Did you mean: 

"Debug" configuration instead of "n6 release"

andresrojas
Visitor

Hello,

First of all, I'm a newbie in STM32N6 boards, so I apologize in advance if my question is fairly basic.

I am trying to deploy an application for object detection using the STM32N6570-DK.

I am following the "Object Detection STM32N6 Model Deployment" tutorial from stm32ai-modelzoo-services/object_detection/docs/README_DEPLOYMENT_STM32N6.md at main · STMicroelectronics/stm32ai-modelzoo-services · GitHub.

In my case, for testing I am trying to deploy the "yolov8n_256_quant_pc_uf_od_coco-person-st_tflite" file as the object detection model in combination with the Python script "st32ai_main.py". I planned to use my own YOLOv8-based object detector with other classes, but first I tried with an available tflite yolov8 model from ST and Ultralytics.

Running the script I get the following output:

(st_zoo) PS C:\Users\andres\Desktop\stm32ai-modelzoo-services\object_detection> python stm32ai_main.py --config-path ./src/config_file_examples/ --config-name deployment_n6_yolov8_config.yaml
2025-12-15 16:04:42.535362: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found
2025-12-15 16:04:42.535483: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
[WARNING] The usable GPU memory is unlimited.
Please consider setting the 'gpu_memory_limit' attribute in the 'general' section of your configuration file.
[INFO] : Running `deployment` operation mode
[INFO] : Using provided class names from dataset.class_names
[INFO] : ClearML config check
[INFO] : The random seed for this simulation is 123
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
[INFO] : Generating C header file for Getting Started...
loading model.. model_path="./yolov8n_256_quant_pc_uf_od_coco-person-st.tflite"
loading conf file.. "../application_code/object_detection/STM32N6/stmaic_STM32N6570-DK.conf" config="None"
"Debug" configuration is used
[INFO] : Selected board :  "STM32N6570-DK Getting Started Object Detection (STM32CubeIDE)" (stm32_cube_ide/Debug/stm32n6)
[INFO] : Compiling the model and generating optimized C code + Lib/Inc files:  ./yolov8n_256_quant_pc_uf_od_coco-person-st.tflite
setting STM.AI tools.. root_dir="", req_version=""
 Cube AI Path: "C:\ST\STEdgeAI\2.2\Utilities\windows\stedgeai.exe".
[INFO] : Offline CubeAI used; Selected tools:  10.2.0 (x-cube-ai pack)
loading conf file.. "../application_code/object_detection/STM32N6/stmaic_STM32N6570-DK.conf" config="None"
"Debug" configuration is used
compiling... "yolov8n_256_quant_pc_uf_od_coco-person-st_tflite" session
 model_path  : ./yolov8n_256_quant_pc_uf_od_coco-person-st.tflite
 tools       : 10.2.0 (x-cube-ai pack)
 target      : "STM32N6570-DK Getting Started Object Detection (STM32CubeIDE)" (stm32_cube_ide/Debug/stm32n6)
 options     : --st-neural-art default@../application_code/object_detection/STM32N6/Model/user_neuralart_STM32N6570-DK.json --input-data-type uint8 --inputs-ch-position chlast --output-data-type int8
"series" value is not coherent.. stm32n6 != stm32n6npu
 results -> RAM=638,976 IO=0:0 WEIGHTS=3,011,649 MACC=0 RT_RAM=1,909 RT_FLASH=342,559 LATENCY=0.000
[INFO] : Optimized C code + Lib/Inc files generation done.
[INFO] : Building the STM32 c-project..
deploying the c-project.. "STM32N6570-DK Getting Started Object Detection (STM32CubeIDE)" (stm32_cube_ide/Debug/stm32n6)
updating.. Debug
 -> s:copying file.. "network.c" to ..\application_code\object_detection\STM32N6\Model\STM32N6570-DK\network.c
 -> s:copying file.. "network_ecblobs.h" to ..\application_code\object_detection\STM32N6\Model\STM32N6570-DK\network_ecblobs.h
 -> s:copying file.. "network_atonbuf.xSPI2.raw" to ..\application_code\object_detection\STM32N6\Model\STM32N6570-DK\network_atonbuf.xSPI2.raw
 -> s:removing dir.. ..\application_code\object_detection\STM32N6\Middlewares\AI_Runtime\Lib\GCC\ARMCortexM55
 -> s:copying dir.. "ARMCortexM55" to ..\application_code\object_detection\STM32N6\Middlewares\AI_Runtime\Lib\GCC\ARMCortexM55
 -> s:removing dir.. ..\application_code\object_detection\STM32N6\Middlewares\AI_Runtime\Inc
 -> s:copying dir.. "Inc" to ..\application_code\object_detection\STM32N6\Middlewares\AI_Runtime\Inc
 -> s:removing dir.. ..\application_code\object_detection\STM32N6\Middlewares\AI_Runtime\Npu\ll_aton
 -> s:copying dir.. "ll_aton" to ..\application_code\object_detection\STM32N6\Middlewares\AI_Runtime\Npu\ll_aton
 -> u:copying file.. "app_config.h" to ..\application_code\object_detection\STM32N6\Application\STM32N6570-DK\Inc\app_config.h
 -> updating cproject file "C:\Users\andres\Desktop\stm32ai-modelzoo-services\application_code\object_detection\STM32N6\Application\STM32N6570-DK\STM32CubeIDE" with "NetworkRuntime1020_CM55_GCC.a"
building.. Debug
flashing.. Debug STM32N6570-DK
[INFO] deployment complete
[INFO] : Please on STM32N6570-DK toggle the boot switches to the left and power cycle the board.

Everything seems to be working, but when I toggle the switches to boot from flash, the screen remains black. 

In my case, the "Debug" configuration is used and I've seen multiple examples online with the "n6 release" configuration printed on screen as verbose when running the python script.

I wonder if I'm actually flashing the board? since technically I don't have an error as seen in the previous output.

Is there anything that I miss? What is the difference between Debug and n6 release configurations?

The STEdgeAI version that I'm using is 2.2.

Thanks for your help.

0 REPLIES 0