Firmware build error via docker desktop

user@DESKTOP-87N36PP:~/openmv-sdk-1.6.0/stedgeai/Utilities/linux$ ~/openmv/tools/ci.sh
user@DESKTOP-87N36PP:~/openmv-sdk-1.6.0/stedgeai/Utilities/linux$ ~/openmv-sdk-1.6.0/stedgeai/Utilities/linux/stedgeai generate --target stm32n6 --model /home/user/openmv/lib/models/force_int_quant.tflite --relocatable --st-neural-art default@/home/user/openmv/lib/stai/scripts/neuralart.json --workspace /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/workspace --output /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen --verbosity 1
ST Edge AI Core v4.0.0-20500 359356bb0
 >>>> EXECUTING NEURAL ART COMPILER                                                                                    
   /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/atonn -i "/home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen/force_int_quant_OE_3_3_1.onnx" --json-quant-file "/home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen/force_int_quant_OE_3_3_1_Q.json" -g "network.c" --load-mdesc "/home/user/openmv-sdk-1.6.0/stedgeai/Utilities/configs/stm32n6.mdesc" --load-mpool "/home/user/openmv/lib/stai/scripts/stm32n6.mpool" --load-cdesc /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/configs/cortex-m55.cdesc --save-mpool-file "/home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/workspace/neural_art__network/stm32n6.mpool" --out-dir-prefix "/home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/workspace/neural_art__network/" --network-name "network" --native-float --cache-maintenance --Ocache-opt --enable-virtual-mem-pools --Os --optimization 3 --Oauto-sched --all-buffers-info --csv-file "network.csv" --enable-epoch-controller --output-info-file "c_info.json"
 <<<< DONE EXECUTING NEURAL ART COMPILER                                                                               
 >>>> EXECUTING EPOCH_CONTROLLER POST_PROCESSING                                                                       
 <<<< DONE EXECUTING EPOCH_CONTROLLER POST_PROCESSING                                                                  
                                                                                                                       
 Exec/report summary (generate)
 ------------------------------------------------------------------------------------------------
 model file         :   /home/user/openmv/lib/models/force_int_quant.tflite                      
 type               :   tflite                                                                   
 c_name             :   network                                                                  
 compression        :   lossless                                                                 
 options            :   allocate-inputs, allocate-outputs, relocatable                           
 optimization       :   balanced                                                                 
 target/series      :   stm32n6npu                                                               
 workspace dir      :   /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/workspace   
 output dir         :   /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen         
 model_fmt          :   float                                                                    
 model_name         :   force_int_quant                                                          
 model_hash         :   0x3b7ce6dc2f0a44ef4b4a2051312b0c28                                       
 params #           :   6,945 items (7.23 KiB)                                                   
 ------------------------------------------------------------------------------------------------
 input 1/1          :   'Input_0_out_0', f32(1x36), 144 Bytes, activations                       
 output 1/1         :   'Dequantize_17_out_0', f32(1x1), 4 Bytes, activations                    
 macc               :   6,944                                                                    
 weights (ro)       :   6,865 B (6.70 KiB) (1 segment) / -20,915(-75.3%) vs float model          
 activations (rw)   :   180 B (180 B) (1 segment) *                                              
 ram (total)        :   180 B (180 B) = 180 + 0 + 0                                              
 ------------------------------------------------------------------------------------------------
 (*) 'input'/'output' buffers are allocated in the activations buffer
                                                                                                                       
  Neural ART - Package for runtime loadable model - v 1.4.1                                                            
                                                                                                                       
   STM32 series        : stm32n6npu                                                                                    
   scripts directory   : /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/../../scripts/N6_reloc                   
   python executable   : /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/python                                   
   cwd                 : /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux                                          
   output directory    : /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen                              
   workspace directory : /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/workspace                        
   c-name              : network                                                                                       
   user options        : []                                                                                            
   custom file         : None                                                                                          
                                                                                                                       
                                                                                                                       
   >>> Shell execution has FAILED (returned code = 255)
   $ /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/python /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/../../scripts/N6_reloc/npu_driver.py --input /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen/network.c --output /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/workspace/network_npu_reloc_build --log /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/workspace/network_npu_reloc_build/npu_driver.log --json /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/workspace/network_npu_reloc_build/network_generate_rel.json --no-color
                                                                                                                       
    NPU Utility - Relocatable model generator (version 1.4)                                                            
    Creating date : Sat May  9 13:13:06 2026                                                                           
    Input file         : /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen/network.c                    
    Output/build dir   : /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/workspace/network_npu_reloc_build
    clang mode         : False                                                                                         
    compatible mode    : False                                                                                         
    custom             : no-file                                                                                       
   [E]    E701(ExecutableNotFoundError): Unable to find a valid lib in Middlewares/ST/AI/Lib/GCC/ARMCortexM55          
   <<<                                                                                                                 
                                                                                                                       
E102(RelocExecError): Script /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/../../scripts/N6_reloc/npu_driver.py failed with return code -1
user@DESKTOP-87N36PP:~/openmv-sdk-1.6.0/stedgeai/Utilities/linux$ 

Sorry, source ~/openmv/tools/ci.sh first.

user@DESKTOP-87N36PP:~/openmv/tools$ ~/openmv/tools/ci.sh
user@DESKTOP-87N36PP:~/openmv/tools$ 

So?

I’m ashamed that I don’t know how to work on Linux (

user@DESKTOP-87N36PP:~/openmv/tools$ ci.sh
ci.sh: command not found

When you source it then it injects some variables into the terminal environment. An example, this is from our build system on github:

cd openmv
source tools/ci.sh && ci_update_submodules
sudo apt-get update
sudo apt-get install -y qemu-system-arm
source tools/ci.sh && ci_install_sdk
source tools/ci.sh && ci_install_fvp
source tools/ci.sh && ci_build_target OPENMV_N6 false 0 false

My build succeeds without issue on running all of the above line by line.

cd openmv
source tools/ci.sh && ci_update_submodules
sudo apt-get update
sudo apt-get install -y qemu-system-arm
source tools/ci.sh && ci_install_sdk

I did it.

On command source tools/ci.sh && ci_install_fvp

user@DESKTOP-87N36PP:~/openmv$ source tools/ci.sh && ci_install_fvp
Installing FVP 11.31.28...
--2026-05-09 13:32:58--  https://artifacts.tools.arm.com/avh/11.31.28/avh-linux-x86_11.31_28_Linux64.tar.gz
Resolving artifacts.tools.arm.com (artifacts.tools.arm.com)... failed: Temporary failure in name resolution.
wget: unable to resolve host address ‘artifacts.tools.arm.com’
FVP download failed: https://artifacts.tools.arm.com/avh/11.31.28/avh-linux-x86_11.31_28_Linux64.tar.gz
user@DESKTOP-87N36PP:~/openmv$ 

Just skip the arm fvp stuff. It shouldn’t be important. But, I have it installed.

That https://artifacts.tools.arm.com/avh/11.31.28/avh-linux-x86_11.31_28_Linux64.tar.gz URL works for me…

Installation is underway on the 3rd attempt . It’s going to install now and I’ll check it out. A few minutes…

HTTP request sent, awaiting response... 200 OK
Length: 144891067 (138M) [application/x-gzip]
Saving to: ‘/tmp/tmp.WCBAjjOOpL’

/tmp/tmp.WCBAjjOOpL       100%[====================================>] 138.18M   237KB/s    in 4m 45s  

2026-05-09 13:43:24 (497 KB/s) - ‘/tmp/tmp.WCBAjjOOpL’ saved [144891067/144891067]

FVP 11.31.28 installed to /home/user/fvp-11.31.28
user@DESKTOP-87N36PP:~/openmv$ source tools/ci.sh && ci_install_sdk
OpenMV SDK 1.6.0 already installed.
user@DESKTOP-87N36PP:~/openmv$ source tools/ci.sh && ci_build_target OPENMV_N6 false 0 false
make: Entering directory '/home/user/openmv/lib/micropython/mpy-cross'
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
make: Leaving directory '/home/user/openmv/lib/micropython/mpy-cross'
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
Including User C Module from /home/user/openmv/modules
Memory region         Used Size  Region Size  %age Used
             RAM:       22576 B       128 KB     17.22%
             ROM:       46316 B       512 KB      8.83%
   text    data     bss     dec     hex filename
  46284      32   22320   68636   10c1c /home/user/openmv/build/OPENMV_N6/bin/bootloader.elf
       -------------------------------------------------------------------
                       STM32 Signing Tool v2.21.0                     
       -------------------------------------------------------------------

[Header v2.3] Align the payload to the 0x400 offset by adding padding bytes at the beginning of the payload.
Adding head padding bytes for payload with header v2.3
 Header version 2.3 preparation... 
Extracting Entry point value from the input file...
Entry point value : 0x34184b39
 The headred image file generated successfully:  /home/user/openmv/build/OPENMV_N6/bin/bootloader.bin
AR /home/user/openmv/build/OPENMV_N6/lib/libmicropython.a
GEN linker script
Memory region         Used Size  Region Size  %age Used
            DTCM:        128 KB       128 KB    100.00%
            ITCM:        6256 B        64 KB      9.55%
           SRAM1:     1040288 B         1 MB     99.21%
           SRAM2:          1 MB         1 MB    100.00%
           SRAM3:       1792 KB      1792 KB    100.00%
           SRAM7:          1 KB        32 KB      3.12%
            DRAM:         56 MB        64 MB     87.50%
      FLASH_TEXT:     1892216 B      3584 KB     51.56%
GEN romfs image
Model: force_int_quant
XIP size             = 4,992      data(596)+got(52)+bss(4288) sections
COPY size            = 16,512     +ro(11520) sections
extra sections       = 220        got:52(1.0%) header+rel:168(1.5%)
params size          = 6,865
acts size            = 180
binary file size     = 19,104
params file size     = 0

+--------------------------+----------------------------------+------+------------+------+
| name (addr)              | flags                            | foff | dst        | size |
+--------------------------+----------------------------------+------+------------+------+
| xSPI2 (0x20001b58)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 6865 |
| AXISRAM5 (0x20001b5e)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 180  |
| <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0    |
+--------------------------+----------------------------------+------+------------+------+
Table: mempool c-descriptors (off=40000218, 3 entries, from RAM)


Model: fomo_face_detection
XIP size             = 29,440     data(596)+got(56)+bss(28736) sections
COPY size            = 72,008     +ro(42568) sections
extra sections       = 240        got:56(0.2%) header+rel:184(0.4%)
params size          = 20,753
acts size            = 138,240
binary file size     = 64,064
params file size     = 0

+--------------------------+----------------------------------+------+------------+--------+
| name (addr)              | flags                            | foff | dst        | size   |
+--------------------------+----------------------------------+------+------------+--------+
| xSPI2 (0x2000344c)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 20753  |
| AXISRAM5 (0x20003452)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 138240 |
| <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0      |
+--------------------------+----------------------------------+------+------------+--------+
Table: mempool c-descriptors (off=40000218, 3 entries, from RAM)


Model: person_detect
XIP size             = 48,384     data(548)+got(56)+bss(47744) sections
COPY size            = 110,216    +ro(61832) sections
extra sections       = 236        got:56(0.1%) header+rel:180(0.3%)
params size          = 211,745
acts size            = 55,296
binary file size     = 274,272
params file size     = 0

+--------------------------+----------------------------------+------+------------+--------+
| name (addr)              | flags                            | foff | dst        | size   |
+--------------------------+----------------------------------+------+------------+--------+
| xSPI2 (0x2000352f)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 211745 |
| AXISRAM5 (0x20003535)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 55296  |
| <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0      |
+--------------------------+----------------------------------+------+------------+--------+
Table: mempool c-descriptors (off=400001e8, 3 entries, from RAM)


stedgeai command failed with exit code -6
stedgeai generate --target stm32n6 --model /home/user/openmv/lib/models/yolo_lc_192.tflite --relocatable --st-neural-art default@/home/user/openmv/lib/stai/scripts/neuralart.json --workspace /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace --output /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen --verbosity 1
Model: blazeface_front_128
XIP size             = 88,704     data(5696)+got(756)+bss(82240) sections
COPY size            = 193,216    +ro(104512) sections
extra sections       = 1,444      got:756(0.9%) header+rel:688(0.7%)
params size          = 108,673
acts size            = 540,672
binary file size     = 220,232
params file size     = 0

+--------------------------+----------------------------------+------+------------+--------+
| name (addr)              | flags                            | foff | dst        | size   |
+--------------------------+----------------------------------+------+------------+--------+
| xSPI2 (0x20003eea)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 108673 |
| AXISRAM5 (0x20003ef0)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 425984 |
| AXISRAM4 (0x20003ef9)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34270000 | 114688 |
| <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0      |
+--------------------------+----------------------------------+------+------------+--------+
Table: mempool c-descriptors (off=400015f0, 4 entries, from RAM)


Model: face_landmarks_192
XIP size             = 146,304    data(2336)+got(220)+bss(143744) sections
COPY size            = 303,488    +ro(157184) sections
extra sections       = 608        got:220(0.2%) header+rel:388(0.2%)
params size          = 616,577
acts size            = 737,280
binary file size     = 776,616
params file size     = 0

+--------------------------+----------------------------------+------+------------+--------+
| name (addr)              | flags                            | foff | dst        | size   |
+--------------------------+----------------------------------+------+------------+--------+
| xSPI2 (0x20002e6a)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 616577 |
| AXISRAM5 (0x20002e70)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 442368 |
| AXISRAM4 (0x20002e79)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34270000 | 294912 |
| <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0      |
+--------------------------+----------------------------------+------+------------+--------+
Table: mempool c-descriptors (off=400008d0, 4 entries, from RAM)


Model: yolov8n_192
XIP size             = 195,648    data(5148)+got(252)+bss(190208) sections
COPY size            = 415,816    +ro(220168) sections
extra sections       = 1,192      got:252(0.1%) header+rel:940(0.4%)
params size          = 3,006,993
acts size            = 276,480
binary file size     = 3,233,408
params file size     = 0

+--------------------------+----------------------------------+------+------------+---------+
| name (addr)              | flags                            | foff | dst        | size    |
+--------------------------+----------------------------------+------+------------+---------+
| xSPI2 (0x200064e7)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 3006993 |
| AXISRAM5 (0x200064ed)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 276480  |
| <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0       |
+--------------------------+----------------------------------+------+------------+---------+
Table: mempool c-descriptors (off=400013e0, 3 entries, from RAM)


Cascade:                       haarcascade_eye                                   
Format:                        Old                                               
Size:                          20x20                                             
Number of Stages:              24                                                
Number of Features:            1066                                              
Number of Rectangles:          2299                                              

Cascade:                       haarcascade_smile                                 
Format:                        Old                                               
Size:                          36x18                                             
Number of Stages:              20                                                
Number of Features:            569                                               
Number of Rectangles:          1245                                              

Cascade:                       haarcascade_frontalface                           
Format:                        Old                                               
Size:                          24x24                                             
Number of Stages:              25                                                
Number of Features:            2913                                              
Number of Rectangles:          6383                                              

Model: palm_detection_full_192
XIP size             = 323,200    data(2112)+got(220)+bss(320832) sections
COPY size            = 666,192    +ro(342992) sections
extra sections       = 596        got:220(0.1%) header+rel:376(0.1%)
params size          = 1,122,641
acts size            = 1,506,496
binary file size     = 1,468,248
params file size     = 0

+--------------------------+----------------------------------+------+------------+---------+
| name (addr)              | flags                            | foff | dst        | size    |
+--------------------------+----------------------------------+------+------------+---------+
| xSPI2 (0x20004e75)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 1122641 |
| AXISRAM6 (0x20004e7b)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34350000 | 294912  |
| AXISRAM5 (0x20004e84)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 457920  |
| AXISRAM4 (0x20004e8d)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34270000 | 294912  |
| AXISRAM3 (0x20004e96)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34200000 | 458752  |
| <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0       |
+--------------------------+----------------------------------+------+------------+---------+
Table: mempool c-descriptors (off=400007c8, 6 entries, from RAM)


Model: hand_landmarks_full_224
XIP size             = 128,320    data(968)+got(64)+bss(127232) sections
COPY size            = 265,856    +ro(137536) sections
extra sections       = 304        got:64(0.0%) header+rel:240(0.2%)
params size          = 3,182,977
acts size            = 1,781,248
binary file size     = 3,321,688
params file size     = 0

+--------------------------+----------------------------------+------+------------+---------+
| name (addr)              | flags                            | foff | dst        | size    |
+--------------------------+----------------------------------+------+------------+---------+
| xSPI1 (0x20002407)       | 0x01020601 RELOC.ACTIV.1.WCACHED | 0    | 0x00000000 | 802816  |
| xSPI2 (0x2000240d)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 3182977 |
| AXISRAM5 (0x20002413)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 451584  |
| AXISRAM4 (0x2000241c)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34270000 | 451584  |
| AXISRAM3 (0x20002425)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34200000 | 75264   |
| <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0       |
+--------------------------+----------------------------------+------+------------+---------+
Table: mempool c-descriptors (off=40000350, 6 entries, from RAM)


Model: movenet_singlepose_192
XIP size             = 143,360    data(924)+got(92)+bss(142336) sections
COPY size            = 302,480    +ro(159120) sections
extra sections       = 312        got:92(0.1%) header+rel:220(0.1%)
params size          = 2,638,753
acts size            = 1,327,104
binary file size     = 2,799,016
params file size     = 0

+--------------------------+----------------------------------+------+------------+---------+
| name (addr)              | flags                            | foff | dst        | size    |
+--------------------------+----------------------------------+------+------------+---------+
| xSPI2 (0x20003d07)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 2638753 |
| AXISRAM5 (0x20003d0d)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 442368  |
| AXISRAM4 (0x20003d16)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34270000 | 425984  |
| AXISRAM3 (0x20003d1f)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34200000 | 458752  |
| <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0       |
+--------------------------+----------------------------------+------+------------+---------+
Table: mempool c-descriptors (off=40000338, 5 entries, from RAM)


concurrent.futures.process._RemoteTraceback: 
"""
Traceback (most recent call last):
  File "/home/user/openmv-sdk-1.6.0/python/lib/python3.12/concurrent/futures/process.py", line 258, in _process_worker
    r = call_item.fn(*call_item.args, **call_item.kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/openmv/tools/mkromfs.py", line 100, in process_entry
    stedge_compile(file_path, build_dir, entry["profile"], stedge_args.split())
  File "/home/user/openmv/tools/modelc.py", line 99, in stedge_compile
    raise(e)
  File "/home/user/openmv/tools/modelc.py", line 94, in stedge_compile
    result = subprocess.run(generate_command, check=True, text=True, env=env,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/openmv-sdk-1.6.0/python/lib/python3.12/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['stedgeai', 'generate', '--target', 'stm32n6', '--model', '/home/user/openmv/lib/models/yolo_lc_192.tflite', '--relocatable', '--st-neural-art', 'default@/home/user/openmv/lib/stai/scripts/neuralart.json', '--workspace', '/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace', '--output', '/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen', '--verbosity', '1']' died with <Signals.SIGABRT: 6>.
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/user/openmv/tools/mkromfs.py", line 238, in <module>
    main()
  File "/home/user/openmv/tools/mkromfs.py", line 232, in main
    romfs_build(romfs_cfg, p, args)
  File "/home/user/openmv/tools/mkromfs.py", line 145, in romfs_build
    results[idx] = future.result()
                   ^^^^^^^^^^^^^^^
  File "/home/user/openmv-sdk-1.6.0/python/lib/python3.12/concurrent/futures/_base.py", line 449, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/home/user/openmv-sdk-1.6.0/python/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
subprocess.CalledProcessError: Command '['stedgeai', 'generate', '--target', 'stm32n6', '--model', '/home/user/openmv/lib/models/yolo_lc_192.tflite', '--relocatable', '--st-neural-art', 'default@/home/user/openmv/lib/stai/scripts/neuralart.json', '--workspace', '/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace', '--output', '/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen', '--verbosity', '1']' died with <Signals.SIGABRT: 6>.
make: *** [/home/user/openmv/ports/stm32/port_config.mk:187: /home/user/openmv/build/OPENMV_N6/bin/romfs.stamp] Error 1
user@DESKTOP-87N36PP:~/openmv$ 

I have executed all the commands

cd openmv
source tools/ci.sh && ci_update_submodules
sudo apt-get update
sudo apt-get install -y qemu-system-arm
source tools/ci.sh && ci_install_sdk
source tools/ci.sh && ci_install_fvp
source tools/ci.sh && ci_build_target OPENMV_N6 false 0 false

But it’s still a mistake.

Hmm, no there’s an improvement. Almost all of them completed. Just one for the yolo_lc_network failed.

So, sourcing and installing some of the libs fixed being able to run st’s tool.

Now you are back to the tool randomly failing sometimes when run…

You’ve already got your systems set up, but I’m starting from scratch, and I’m probably going to need some adjustments to make my system work as smoothly as yours.

I re-ran the command

source tools/ci.sh && ci_build_target OPENMV_N6 false 0 false

concurrent.futures.process._RemoteTraceback: 
"""
Traceback (most recent call last):
  File "/home/user/openmv-sdk-1.6.0/python/lib/python3.12/concurrent/futures/process.py", line 258, in _process_worker
    r = call_item.fn(*call_item.args, **call_item.kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/openmv/tools/mkromfs.py", line 100, in process_entry
    stedge_compile(file_path, build_dir, entry["profile"], stedge_args.split())
  File "/home/user/openmv/tools/modelc.py", line 99, in stedge_compile
    raise(e)
  File "/home/user/openmv/tools/modelc.py", line 94, in stedge_compile
    result = subprocess.run(generate_command, check=True, text=True, env=env,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/openmv-sdk-1.6.0/python/lib/python3.12/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['stedgeai', 'generate', '--target', 'stm32n6', '--model', '/home/user/openmv/lib/models/yolo_lc_192.tflite', '--relocatable', '--st-neural-art', 'default@/home/user/openmv/lib/stai/scripts/neuralart.json', '--workspace', '/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace', '--output', '/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen', '--verbosity', '1']' died with <Signals.SIGABRT: 6>.
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/user/openmv/tools/mkromfs.py", line 238, in <module>
    main()
  File "/home/user/openmv/tools/mkromfs.py", line 232, in main
    romfs_build(romfs_cfg, p, args)
  File "/home/user/openmv/tools/mkromfs.py", line 145, in romfs_build
    results[idx] = future.result()
                   ^^^^^^^^^^^^^^^
  File "/home/user/openmv-sdk-1.6.0/python/lib/python3.12/concurrent/futures/_base.py", line 449, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/home/user/openmv-sdk-1.6.0/python/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
subprocess.CalledProcessError: Command '['stedgeai', 'generate', '--target', 'stm32n6', '--model', '/home/user/openmv/lib/models/yolo_lc_192.tflite', '--relocatable', '--st-neural-art', 'default@/home/user/openmv/lib/stai/scripts/neuralart.json', '--workspace', '/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace', '--output', '/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen', '--verbosity', '1']' died with <Signals.SIGABRT: 6>.
make: *** [/home/user/openmv/ports/stm32/port_config.mk:187: /home/user/openmv/build/OPENMV_N6/bin/romfs.stamp] Error 1
user@DESKTOP-87N36PP:~/openmv$ 

Hi Frank, I’m going to bed right now. However, please run this and post the output:

~/openmv-sdk-1.6.0/stedgeai/Utilities/linux/stedgeai generate --target stm32n6 --model /home/user/openmv/lib/models/yolo_lc_192.tflite --relocatable --st-neural-art default@/home/user/openmv/lib/stai/scripts/neuralart.json --workspace /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace --output /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen --verbosity 1

It should print some more info on where it’s crashing. The error should be different this time than the missing libraries.

Of course, I’ll do it right now !

user@DESKTOP-87N36PP:~/openmv$ ~/openmv-sdk-1.6.0/stedgeai/Utilities/linux/stedgeai generate --target stm32n6 --model /home/user/openmv/lib/models/yolo_lc_192.tflite --relocatable --st-neural-art default@/home/user/openmv/lib/stai/scripts/neuralart.json --workspace /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace --output /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen --verbosity 1
ST Edge AI Core v4.0.0-20500 359356bb0
 >>>> EXECUTING NEURAL ART COMPILER                                                                              
   /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/atonn -i "/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/yolo_lc_192_OE_3_3_1.onnx" --json-quant-file "/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/yolo_lc_192_OE_3_3_1_Q.json" -g "network.c" --load-mdesc "/home/user/openmv-sdk-1.6.0/stedgeai/Utilities/configs/stm32n6.mdesc" --load-mpool "/home/user/openmv/lib/stai/scripts/stm32n6.mpool" --load-cdesc /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/configs/cortex-m55.cdesc --save-mpool-file "/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/neural_art__network/stm32n6.mpool" --out-dir-prefix "/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/neural_art__network/" --network-name "network" --native-float --cache-maintenance --Ocache-opt --enable-virtual-mem-pools --Os --optimization 3 --Oauto-sched --all-buffers-info --csv-file "network.csv" --enable-epoch-controller --output-info-file "c_info.json"
 <<<< DONE EXECUTING NEURAL ART COMPILER                                                                         
 >>>> EXECUTING EPOCH_CONTROLLER POST_PROCESSING                                                                 
 <<<< DONE EXECUTING EPOCH_CONTROLLER POST_PROCESSING                                                            
                                                                                                                 
 Exec/report summary (generate)
 -----------------------------------------------------------------------------------------------------------------------
 model file         :   /home/user/openmv/lib/models/yolo_lc_192.tflite                                                 
 type               :   tflite                                                                                          
 c_name             :   network                                                                                         
 compression        :   lossless                                                                                        
 options            :   allocate-inputs, allocate-outputs, relocatable                                                  
 optimization       :   balanced                                                                                        
 target/series      :   stm32n6npu                                                                                      
 workspace dir      :   /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace                              
 output dir         :   /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen                                    
 model_fmt          :   float                                                                                           
 model_name         :   yolo_lc_192                                                                                     
 model_hash         :   0x8e420151112787b4ba1bb9d8357aa4f4                                                              
 params #           :   277,566 items (276.73 KiB)                                                                      
 -----------------------------------------------------------------------------------------------------------------------
 input 1/1          :   'Input_0_out_0', uint8(1x192x192x3), 108.00 KBytes, QLinear(0.003921569,0,uint8), activations   
 output 1/1         :   'Transpose_61_out_0', f32(1x12x12x30), 16.88 KBytes, activations                                
 macc               :   62,044,272                                                                                      
 weights (ro)       :   275,905 B (269.44 KiB) (1 segment) / -834,359(-75.1%) vs float model                            
 activations (rw)   :   258,048 B (252.00 KiB) (1 segment) *                                                            
 ram (total)        :   258,048 B (252.00 KiB) = 258,048 + 0 + 0                                                        
 -----------------------------------------------------------------------------------------------------------------------
 (*) 'input'/'output' buffers are allocated in the activations buffer
                                                                                                                 
  Neural ART - Package for runtime loadable model - v 1.4.1                                                      
                                                                                                                 
   STM32 series        : stm32n6npu                                                                              
   scripts directory   : /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/../../scripts/N6_reloc             
   python executable   : /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/python                             
   cwd                 : /home/user/openmv                                                                       
   output directory    : /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen                            
   workspace directory : /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace                      
   c-name              : network                                                                                 
   user options        : []                                                                                      
   custom file         : None                                                                                    
                                                                                                                 
                                                                                                                 
   >>> Shell execution has FAILED (returned code = 255)
   $ /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/python /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/../../scripts/N6_reloc/npu_driver.py --input /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/network.c --output /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/network_npu_reloc_build --log /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/network_npu_reloc_build/npu_driver.log --json /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/network_npu_reloc_build/network_generate_rel.json --no-color
                                                                                                                 
    NPU Utility - Relocatable model generator (version 1.4)                                                      
    Creating date : Sat May  9 14:25:05 2026                                                                     
    Input file         : /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/network.c                  
    Output/build dir   : /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/network_npu_reloc_build
    clang mode         : False                                                                                   
    compatible mode    : False                                                                                   
    custom             : no-file                                                                                 
    STEdge AI core     : /home/user/openmv-sdk-1.6.0/stedgeai (4.0.0-20500)                                      
    -> [STEP.0] Preparing the generated c-files..                                                                
       Entry point : '/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/network.c' (name='no-name')   
       clang mode  : False                                                                                       
       CNpuNetworkDesc(v0.4): <no epoch descriptors>, 39 buffers, ro=(0 B, 269.44 KB), rw=(252.00 KB, 0 B)       
        NPU compiler  : STAI-3.0.0-254-g7cc65410 (1, 1, 3, 262)                                                  
        model         : /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/yolo_lc_192_OE_3_3_1.onnx   
        json quant    : /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/yolo_lc_192_OE_3_3_1_Q.json 
        mempool       : /home/user/openmv/lib/stai/scripts/stm32n6                                               
        mdesc         : /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/configs/stm32n6                           
        cdesc         : /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/configs/cortex-m55                        
        c_name        : network                                                                                  
        buffers_info  : True                                                                                     
        epoch ctrl    : True                                                                                     
        virt mempool  : True                                                                                     
        ocache opt    : True                                                                                     
        cache maint.  : True                                                                                     
       +----------------------------------------------------+-----------+-------+------------+-------------+-------------+
       | MPOOL ([id], addr, attrs)                          |      data | const | data (ext) | const (ext) |   # buffers |
       +----------------------------------------------------+-----------+-------+------------+-------------+-------------+
       | hyperRAM ([4], _mem_pool_xSPI1_network, rw/c/r/-)  |           |       |            |             |  0:0    0:0 |
       | octoFlash ([5], _mem_pool_xSPI2_network, ro/c/r/-) |           |       |            |   269.44 KB |  0:0   16:0 |
       | npuRAM6 ([0], 34350000, rw/-/a/-)                  |           |       |            |             |  0:0    0:0 |
       | npuRAM5 ([1], 342e0000, rw/-/a/-)                  | 252.00 KB |       |            |             | 23:0    0:0 |
       | npuRAM4 ([2], 34270000, rw/-/a/-)                  |           |       |            |             |  0:0    0:0 |
       | npuRAM3 ([3], 34200000, rw/-/a/-)                  |           |       |            |             |  0:0    0:0 |
       |                                                    |           |       |            |             |             |
       | total                                              | 252.00 KB |   0 B |        0 B |   269.44 KB |             |
       +----------------------------------------------------+-----------+-------+------------+-------------+-------------+
        Table: mempools - act=252.00 KB params=269.44 KB                                                         
       +-----------------------+-------------+-----------+------------------+--------------------+               
       | IO TENSOR             | type        |      size |            shape | addr               |               
       +-----------------------+-------------+-----------+------------------+--------------------+               
       | I: Input_0_out_0      | UINT8 (8b)  | 108.00 KB | [1, 192, 192, 3] | (0x342e0000UL + 0) |               
       | O: Transpose_61_out_0 | FLOAT (32b) |  16.88 KB |  [1, 12, 12, 30] | (0x342e0000UL + 0) |               
       +-----------------------+-------------+-----------+------------------+--------------------+               
        Table: io - 108.00 KB/16.88 KB                                                                           
       Preparing the C-descriptors for mempools..                                                                
        checking the memory initializers from '/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen' folder..
        found 'network_atonbuf.xSPI2.raw' file for xSPI2 (fsize=275905, expected=275905)                         
        found 'ZERO_MPOOL.AXISRAM5.raw' file for AXISRAM5 (fsize=0, expected=258048)                             
        xSPI2            : RELOC.PARAM.0.RCACHED  foff=00000000 dst=00000000 size=275905 raw_data=275912 c_label=_mem_pool_xSPI2_network
        AXISRAM5         : RESET.ACTIV.WRITE      foff=00000000 dst=342e0000 size=258048 raw_data=0              
       Generating relocatable C-files..                                                                          
        creating /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/network_npu_reloc_build/network_reloc_ecblobs.h
        creating /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/network_npu_reloc_build/network_reloc.c
        creating /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/network_npu_reloc_build/network_reloc_mempools.c
        creating /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/network_npu_reloc_build/network_reloc_conf.h
        creating /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/network_npu_reloc_build/network_reloc_mempools.raw (size=275,912)
    <- done - Took 0.0726s                                                                                       
    -> [STEP.1] Building the intermediate executable..                                                           
       Cleaning the generated intermediate files..                                                               
       Build..                                                                                                   
        CWD=/home/user/openmv-sdk-1.6.0/stedgeai/scripts/N6_reloc/resources                                      
        -f                                                                                                       
        makefile_gcc                                                                                             
        SECURE_MODE=y                                                                                            
        BUILD_DIR=/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/network_npu_reloc_build     
        TARGET=network                                                                                           
        RESOURCES_DIR=/home/user/openmv-sdk-1.6.0/stedgeai/scripts/N6_reloc/resources                            
        RT_ATON_ROOT_DIR=/home/user/openmv-sdk-1.6.0/stedgeai/Middlewares/ST/AI/Npu                              
        SW_LIB_PATH=/home/user/openmv-sdk-1.6.0/stedgeai/Middlewares/ST/AI/Lib/GCC/ARMCortexM55/NetworkRuntime1200_CM55_GCC_PIC.a
        SW_LIB_INC_DIR=/home/user/openmv-sdk-1.6.0/stedgeai/Middlewares/ST/AI/Inc                                
        PLT_DIR=/home/user/openmv-sdk-1.6.0/stedgeai/scripts/N6_reloc/resources/platform/STM32N6xx               
        EB_DBG_INFO=y                                                                                            
        ECBLOB_IN_PARAMS=n                                                                                       
   [E]    ----------------------------                                                                           
   [E]    THIS_MAKEFILE = /home/user/openmv-sdk-1.6.0/stedgeai/scripts/N6_reloc/resources/makefile_gcc           
   [E]    BUILD_DIR = /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/network_npu_reloc_build 
   [E]    TARGET = network                                                                                       
   [E]    RESOURCES_DIR = /home/user/openmv-sdk-1.6.0/stedgeai/scripts/N6_reloc/resources                        
   [E]    RT_ATON_ROOT_DIR = /home/user/openmv-sdk-1.6.0/stedgeai/Middlewares/ST/AI/Npu                          
   [E]    RT_ATON_DEVICES_DIR = /home/user/openmv-sdk-1.6.0/stedgeai/Middlewares/ST/AI/Npu/Devices/STM32N6xx     
   [E]    RT_ATON_LL_ATON_DIR = /home/user/openmv-sdk-1.6.0/stedgeai/Middlewares/ST/AI/Npu/ll_aton               
   [E]    SW_LIB_INC_DIR = /home/user/openmv-sdk-1.6.0/stedgeai/Middlewares/ST/AI/Inc                            
   [E]    SW_LIB_PATH = /home/user/openmv-sdk-1.6.0/stedgeai/Middlewares/ST/AI/Lib/GCC/ARMCortexM55/NetworkRuntime1200_CM55_GCC_PIC.a
   [E]    PLT_DIR = /home/user/openmv-sdk-1.6.0/stedgeai/scripts/N6_reloc/resources/platform/STM32N6xx           
   [E]    LKR_FILE = /home/user/openmv-sdk-1.6.0/stedgeai/scripts/N6_reloc/resources/reloc_network_gcc.lkr       
   [E]    COMPATIBLE_MODE =                                                                                      
   [E]    ECBLOB_IN_PARAMS = n                                                                                   
   [E]    EB_DBG_INFO = y                                                                                        
   [E]    ----------------------------                                                                           
   [E]                                                                                                           
   [E]    mkdir -p /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/network_npu_reloc_build    
   [E]    arm-none-eabi-gcc -mthumb -mcpu=cortex-m55 -mfpu=fpv4-sp-d16 -mtune=cortex-m55 -mfloat-abi=hard -mcmse -fpic -mno-pic-data-is-text-relative -msingle-pic-base -mpic-register=r9 -std=gnu99 -mno-thumb-interwork -ffast-math -fsingle-precision-constant -fvisibility=hidden -fno-unwind-tables -fstack-reuse=all -ffunction-sections -fdata-sections -fno-math-errno -fomit-frame-pointer -fno-builtin -Os -DBUILD_AI_NETWORK_RELOC  -DMODEL_CONF=\"network_reloc_conf.h\" -DLL_ATON_DUMP_DEBUG_API -DLL_ATON_PLATFORM=LL_ATON_PLAT_STM32N6 -DLL_ATON_OSAL=LL_ATON_OSAL_BARE_METAL -DLL_ATON_RT_MODE=LL_ATON_RT_ASYNC -DLL_ATON_SW_FALLBACK -DLL_ATON_EB_DBG_INFO -DLL_ATON_DBG_BUFFER_INFO_EXCLUDED=1 -DLL_ATON_RT_RELOC -I/home/user/openmv-sdk-1.6.0/stedgeai/scripts/N6_reloc/resources/platform/STM32N6xx -I/home/user/openmv-sdk-1.6.0/stedgeai/scripts/N6_reloc/resources/platform/STM32N6xx/.. -I/home/user/openmv-sdk-1.6.0/stedgeai/Middlewares/ST/AI/Npu/ll_aton -I/home/user/openmv-sdk-1.6.0/stedgeai/Middlewares/ST/AI/Npu/Devices/STM32N6xx -I/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/network_npu_reloc_build -MMD -c "/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/network_npu_reloc_build/network_reloc.c" -o "/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/network_npu_reloc_build/network_reloc.o"
   [E]    /bin/sh: 1: arm-none-eabi-gcc: not found                                                               
   [E]    make: *** [makefile_gcc:144: /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/network_npu_reloc_build/network_reloc.o] Error 127
   [E]    E702(ExecutableExecError): returned code = 2 command = /bin/make -f makefile_gcc SECURE_MODE=y BUILD_DIR=/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/network_npu_reloc_build TARGET=network RESOURCES_DIR=/home/user/openmv-sdk-1.6.0/stedgeai/scripts/N6_reloc/resources RT_ATON_ROOT_DIR=/home/user/openmv-sdk-1.6.0/stedgeai/Middlewares/ST/AI/Npu SW_LIB_PATH=/home/user/openmv-sdk-1.6.0/stedgeai/Middlewares/ST/AI/Lib/GCC/ARMCortexM55/NetworkRuntime1200_CM55_GCC_PIC.a SW_LIB_INC_DIR=/home/user/openmv-sdk-1.6.0/stedgeai/Middlewares/ST/AI/Inc PLT_DIR=/home/user/openmv-sdk-1.6.0/stedgeai/scripts/N6_reloc/resources/platform/STM32N6xx EB_DBG_INFO=y ECBLOB_IN_PARAMS=n
   <<<                                                                                                           
                                                                                                                 
E102(RelocExecError): Script /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/../../scripts/N6_reloc/npu_driver.py failed with return code -1
user@DESKTOP-87N36PP:~/openmv$ 

As you wrote to me that this is also happening to you, I have some instability as well. I just started the build make -j$(nproc) TARGET=OPENMV_N6, and 7 files were created in the bin folder, including the romfs.stamp and romfs0.img files.

Model: movenet_singlepose_192
XIP size             = 143,360    data(924)+got(92)+bss(142336) sections
COPY size            = 302,480    +ro(159120) sections
extra sections       = 312        got:92(0.1%) header+rel:220(0.1%)
params size          = 2,638,753
acts size            = 1,327,104
binary file size     = 2,799,016
params file size     = 0

+--------------------------+----------------------------------+------+------------+---------+
| name (addr)              | flags                            | foff | dst        | size    |
+--------------------------+----------------------------------+------+------------+---------+
| xSPI2 (0x20003d07)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 2638753 |
| AXISRAM5 (0x20003d0d)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 442368  |
| AXISRAM4 (0x20003d16)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34270000 | 425984  |
| AXISRAM3 (0x20003d1f)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34200000 | 458752  |
| <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0       |
+--------------------------+----------------------------------+------+------------+---------+
Table: mempool c-descriptors (off=40000338, 5 entries, from RAM)


romfs image: "romfs0.img" usage: 12282.3KiB / 24576.0KiB (50.0%)
 -size: 64064    alignment: 32   path: /rom/fomo_face_detection.tflite
 -size: 15       alignment: 4    path: /rom/fomo_face_detection.txt
 -size: 19104    alignment: 32   path: /rom/force_int_quant.tflite
 -size: 274272   alignment: 32   path: /rom/person_detect.tflite
 -size: 17       alignment: 4    path: /rom/person_detect.txt
 -size: 317848   alignment: 32   path: /rom/yolo_lc_192.tflite
 -size: 8        alignment: 4    path: /rom/yolo_lc_192.txt
 -size: 3233408  alignment: 32   path: /rom/yolov8n_192.tflite
 -size: 8        alignment: 4    path: /rom/yolov8n_192.txt
 -size: 220232   alignment: 32   path: /rom/blazeface_front_128.tflite
 -size: 776616   alignment: 32   path: /rom/face_landmarks_192.tflite
 -size: 1468248  alignment: 32   path: /rom/palm_detection_full_192.tflite
 -size: 3321688  alignment: 32   path: /rom/hand_landmarks_full_224.tflite
 -size: 2799016  alignment: 32   path: /rom/movenet_singlepose_192.tflite
 -size: 19041    alignment: 4    path: /rom/haarcascade_eye.cascade
 -size: 10280    alignment: 4    path: /rom/haarcascade_smile.cascade
 -size: 52396    alignment: 4    path: /rom/haarcascade_frontalface.cascade

   text    data     bss     dec     hex filename
  46284      32   22320   68636   10c1c /home/user/openmv/build/OPENMV_N6/bin/bootloader.elf
   text    data     bss     dec     hex filename
1884720    7496 62759832        64652048        3da8310 /home/user/openmv/build/OPENMV_N6/bin/firmware.elf
user@DESKTOP-87N36PP:~/openmv$ 

Guys, I have a big request for you. I want to reinstall WLS from 0 and configure the system so that it performs the bare minimum and nothing more for building N6 firmware.

In the first part, after installing Ubuntu, I ran the following commands:

sudo apt-get update
sudo apt-get install git build-essential
git clone --recursive https://github.com/openmv/openmv.git
cd openmv
make sdk
make -j$(nproc) -C lib/micropython/mpy-cross

There was an error with the stedgeai command, and in the second part, we added the following commands:

cd openmv
source tools/ci.sh && ci_update_submodules
sudo apt-get update
sudo apt-get install -y qemu-system-arm
source tools/ci.sh && ci_install_sdk
source tools/ci.sh && ci_install_fvp

How to combine these two parts correctly and in what order, so that I can check it and create an instruction for configuring WSL. Do I need to remove something or change the order of the commands? Can you provide a list ?

And how do the teams differ?

make -j$(nproc) TARGET=OPENMV_N6

and

source tools/ci.sh && ci_build_target OPENMV_N6 false 0 false ?

Which one is better to use?

I’ve improved the error reporting so if it fails again we can see the actual error instead of some exit code.

You can’t run those commands manually unless you add the SDK/toolchain to the path. stedgeai compiles a relocatable binary, like firmware, that’s how ST models work, so they need the SDK.

git clone --recursive

This is too slow, it will clone every repo recursively. All you need to build a firmware image is the following:

git clone --depth 1 https://github.com/openmv/openmv
git submodule update --init --depth=1

make -j$(nproc) -C lib/micropython/mpy-cross
make -j$(nproc) TARGET=OPENMV_N6 submodules
make -j$(nproc) TARGET=OPENMV_N6
user@DESKTOP-87N36PP:~/openmv$ git pull origin master
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 5 (delta 3), reused 4 (delta 3), pack-reused 0 (from 0)
Unpacking objects: 100% (5/5), 1.64 KiB | 11.00 KiB/s, done.
From https://github.com/openmv/openmv
 * branch              master     -> FETCH_HEAD
   557c65f3..7b63a800  master     -> origin/master
Updating 557c65f3..7b63a800
Fast-forward
 tools/modelc.py | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)
user@DESKTOP-87N36PP:~/openmv$ make -j$(nproc) TARGET=OPENMV_N6 submodules
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
Updating submodules: lib/mbedtls lib/lwip lib/cyw43-driver lib/mynewt-nimble lib/libhydrogen lib/stm32lib lib/tinyusb lib/micropython-lib
Synchronizing submodule url for 'lib/cyw43-driver'
Synchronizing submodule url for 'lib/libhydrogen'
Synchronizing submodule url for 'lib/lwip'
Synchronizing submodule url for 'lib/mbedtls'
Synchronizing submodule url for 'lib/micropython-lib'
Synchronizing submodule url for 'lib/mynewt-nimble'
Synchronizing submodule url for 'lib/stm32lib'
Synchronizing submodule url for 'lib/tinyusb'
user@DESKTOP-87N36PP:~/openmv$ make -j$(nproc) TARGET=OPENMV_N6
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
Including User C Module from /home/user/openmv/modules
Memory region         Used Size  Region Size  %age Used
             RAM:       22576 B       128 KB     17.22%
             ROM:       46316 B       512 KB      8.83%
   text    data     bss     dec     hex filename
  46284      32   22320   68636   10c1c /home/user/openmv/build/OPENMV_N6/bin/bootloader.elf
       -------------------------------------------------------------------
                       STM32 Signing Tool v2.21.0                     
       -------------------------------------------------------------------

[Header v2.3] Align the payload to the 0x400 offset by adding padding bytes at the beginning of the payload.
Adding head padding bytes for payload with header v2.3
 Header version 2.3 preparation... 
Extracting Entry point value from the input file...
Entry point value : 0x34184b39
 The headred image file generated successfully:  /home/user/openmv/build/OPENMV_N6/bin/bootloader.bin
GEN /home/user/openmv/build/OPENMV_N6/lib/micropython/genhdr/mpversion.h
CC ../../py/modsys.c
CC ../../extmod/modos.c
CC ../../extmod/modplatform.c
CC ../../shared/runtime/pyexec.c
AR /home/user/openmv/build/OPENMV_N6/lib/libmicropython.a
GEN linker script
Memory region         Used Size  Region Size  %age Used
            DTCM:        128 KB       128 KB    100.00%
            ITCM:        6256 B        64 KB      9.55%
           SRAM1:     1040288 B         1 MB     99.21%
           SRAM2:          1 MB         1 MB    100.00%
           SRAM3:       1792 KB      1792 KB    100.00%
           SRAM7:          1 KB        32 KB      3.12%
            DRAM:         56 MB        64 MB     87.50%
      FLASH_TEXT:     1892216 B      3584 KB     51.56%
GEN romfs image
Model: force_int_quant
XIP size             = 4,992      data(596)+got(52)+bss(4288) sections
COPY size            = 16,512     +ro(11520) sections
extra sections       = 220        got:52(1.0%) header+rel:168(1.5%)
params size          = 6,865
acts size            = 180
binary file size     = 19,104
params file size     = 0

+--------------------------+----------------------------------+------+------------+------+
| name (addr)              | flags                            | foff | dst        | size |
+--------------------------+----------------------------------+------+------------+------+
| xSPI2 (0x20001b58)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 6865 |
| AXISRAM5 (0x20001b5e)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 180  |
| <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0    |
+--------------------------+----------------------------------+------+------------+------+
Table: mempool c-descriptors (off=40000218, 3 entries, from RAM)


Model: yolo_lc_192
XIP size             = 34,560     data(596)+got(52)+bss(33856) sections
COPY size            = 75,776     +ro(41216) sections
extra sections       = 228        got:52(0.2%) header+rel:176(0.4%)
params size          = 275,905
acts size            = 258,048
binary file size     = 317,848
params file size     = 0

+--------------------------+----------------------------------+------+------------+--------+
| name (addr)              | flags                            | foff | dst        | size   |
+--------------------------+----------------------------------+------+------------+--------+
| xSPI2 (0x20001b69)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 275905 |
| AXISRAM5 (0x20001b6f)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 258048 |
| <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0      |
+--------------------------+----------------------------------+------+------------+--------+
Table: mempool c-descriptors (off=40000218, 3 entries, from RAM)


Model: fomo_face_detection
XIP size             = 29,440     data(596)+got(56)+bss(28736) sections
COPY size            = 72,008     +ro(42568) sections
extra sections       = 240        got:56(0.2%) header+rel:184(0.4%)
params size          = 20,753
acts size            = 138,240
binary file size     = 64,064
params file size     = 0

+--------------------------+----------------------------------+------+------------+--------+
| name (addr)              | flags                            | foff | dst        | size   |
+--------------------------+----------------------------------+------+------------+--------+
| xSPI2 (0x2000344c)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 20753  |
| AXISRAM5 (0x20003452)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 138240 |
| <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0      |
+--------------------------+----------------------------------+------+------------+--------+
Table: mempool c-descriptors (off=40000218, 3 entries, from RAM)


Model: yolov8n_192
XIP size             = 195,648    data(5148)+got(252)+bss(190208) sections
COPY size            = 415,816    +ro(220168) sections
extra sections       = 1,192      got:252(0.1%) header+rel:940(0.4%)
params size          = 3,006,993
acts size            = 276,480
binary file size     = 3,233,408
params file size     = 0

+--------------------------+----------------------------------+------+------------+---------+
| name (addr)              | flags                            | foff | dst        | size    |
+--------------------------+----------------------------------+------+------------+---------+
| xSPI2 (0x200064e7)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 3006993 |
| AXISRAM5 (0x200064ed)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 276480  |
| <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0       |
+--------------------------+----------------------------------+------+------------+---------+
Table: mempool c-descriptors (off=400013e0, 3 entries, from RAM)


Model: blazeface_front_128
XIP size             = 88,704     data(5696)+got(756)+bss(82240) sections
COPY size            = 193,216    +ro(104512) sections
extra sections       = 1,444      got:756(0.9%) header+rel:688(0.7%)
params size          = 108,673
acts size            = 540,672
binary file size     = 220,232
params file size     = 0

+--------------------------+----------------------------------+------+------------+--------+
| name (addr)              | flags                            | foff | dst        | size   |
+--------------------------+----------------------------------+------+------------+--------+
| xSPI2 (0x20003eea)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 108673 |
| AXISRAM5 (0x20003ef0)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 425984 |
| AXISRAM4 (0x20003ef9)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34270000 | 114688 |
| <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0      |
+--------------------------+----------------------------------+------+------------+--------+
Table: mempool c-descriptors (off=400015f0, 4 entries, from RAM)


stedgeai generate failed for /home/user/openmv/lib/models/person_detect.tflite (exit code -6)
stedgeai generate --target stm32n6 --model /home/user/openmv/lib/models/person_detect.tflite --relocatable --st-neural-art default@/home/user/openmv/lib/stai/scripts/neuralart.json --workspace /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/workspace --output /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/gen --verbosity 1 --quiet
ST Edge AI Core v4.0.0-20500 359356bb0
 >>>> EXECUTING NEURAL ART COMPILER
   /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/atonn -i "/home/user/openmv/build/OPENMV_N6/lib/models/person_detect/gen/person_detect_OE_3_3_1.onnx" --json-quant-file "/home/user/openmv/build/OPENMV_N6/lib/models/person_detect/gen/person_detect_OE_3_3_1_Q.json" -g "network.c" --load-mdesc "/home/user/openmv-sdk-1.6.0/stedgeai/Utilities/configs/stm32n6.mdesc" --load-mpool "/home/user/openmv/lib/stai/scripts/stm32n6.mpool" --load-cdesc /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/configs/cortex-m55.cdesc --save-mpool-file "/home/user/openmv/build/OPENMV_N6/lib/models/person_detect/workspace/neural_art__network/stm32n6.mpool" --out-dir-prefix "/home/user/openmv/build/OPENMV_N6/lib/models/person_detect/workspace/neural_art__network/" --network-name "network" --native-float --cache-maintenance --Ocache-opt --enable-virtual-mem-pools --Os --optimization 3 --Oauto-sched --all-buffers-info --csv-file "network.csv" --enable-epoch-controller --output-info-file "c_info.json"
 <<<< DONE EXECUTING NEURAL ART COMPILER
 >>>> EXECUTING EPOCH_CONTROLLER POST_PROCESSING
 <<<< DONE EXECUTING EPOCH_CONTROLLER POST_PROCESSING
 
 Exec/report summary (generate)
 ------------------------------------------------------------------------------------------------------------------
 model file         :   /home/user/openmv/lib/models/person_detect.tflite                                          
 type               :   tflite                                                                                     
 c_name             :   network                                                                                    
 compression        :   lossless                                                                                   
 options            :   allocate-inputs, allocate-outputs, relocatable                                             
 optimization       :   balanced                                                                                   
 target/series      :   stm32n6npu                                                                                 
 workspace dir      :   /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/workspace                       
 output dir         :   /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/gen                             
 model_fmt          :   float                                                                                      
 model_name         :   person_detect                                                                              
 model_hash         :   0xac6e1b872f90cff2f52b1a28664814ed                                                         
 params #           :   210,706 items (213.79 KiB)                                                                 
 ------------------------------------------------------------------------------------------------------------------
 input 1/1          :   'Input_0_out_0', int8(1x96x96x1), 9.00 KBytes, QLinear(0.007843138,-1,int8), activations   
 output 1/1         :   'Quantize_130_out_0', int8(1x2), 2 Bytes, QLinear(0.003906250,-128,int8), activations      
 macc               :   8,705,153                                                                                  
 weights (ro)       :   211,745 B (206.78 KiB) (1 segment) / -631,079(-74.9%) vs float model                       
 activations (rw)   :   55,296 B (54.00 KiB) (1 segment) *                                                         
 ram (total)        :   55,296 B (54.00 KiB) = 55,296 + 0 + 0                                                      
 ------------------------------------------------------------------------------------------------------------------
 (*) 'input'/'output' buffers are allocated in the activations buffer

  Neural ART - Package for runtime loadable model - v 1.4.1

   STM32 series        : stm32n6npu
   scripts directory   : /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/../../scripts/N6_reloc
   python executable   : /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/python
   cwd                 : /home/user/openmv
   output directory    : /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/gen
   workspace directory : /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/workspace
   c-name              : network
   user options        : []
   custom file         : None


Compilation details
   ---------------------------------------------------------------------------------
Compiler version: 1.1.3-262
Compiler arguments:  -i /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/gen/person_detect_OE_3_3_1.onnx --json-quant-file /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/gen/person_detect_OE_3_3_1_Q.json -g network.c --load-mdesc /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/configs/stm32n6.mdesc --load-mpool /home/user/openmv/lib/stai/scripts/stm32n6.mpool --load-cdesc /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/configs/cortex-m55.cdesc --save-mpool-file /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/workspace/neural_art__network/stm32n6.mpool --out-dir-prefix /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/workspace/neural_art__network/ --network-name network --native-float --cache-maintenance --Ocache-opt --enable-virtual-mem-pools --Os --optimization 3 --Oauto-sched --all-buffers-info --csv-file network.csv --enable-epoch-controller --output-info-file c_info.json
====================================================================================
Memory usage information  (input/output buffers are included in activations)
   ---------------------------------------------------------------------------------
        npuRAM3    [0x34200000 - 0x34270000]:          0  B /    448.000 kB  (  0.00 % used) -- weights:          0  B (  0.00 % used)  activations:          0  B (  0.00 % used)
        npuRAM4    [0x34270000 - 0x342E0000]:          0  B /    448.000 kB  (  0.00 % used) -- weights:          0  B (  0.00 % used)  activations:          0  B (  0.00 % used)
        npuRAM5    [0x342E0000 - 0x34350000]:     54.000 kB /    448.000 kB  ( 12.05 % used) -- weights:          0  B (  0.00 % used)  activations:     54.000 kB ( 12.05 % used)
        npuRAM6    [0x34350000 - 0x343C0000]:          0  B /    448.000 kB  (  0.00 % used) -- weights:          0  B (  0.00 % used)  activations:          0  B (  0.00 % used)
        octoFlash  [0x71000000 - 0x72000000]:    206.782 kB /     16.000 MB  (  1.26 % used) -- weights:    206.782 kB (  1.26 % used)  activations:          0  B (  0.00 % used)
        hyperRAM   [0x92000000 - 0x93000000]:          0  B /     16.000 MB  (  0.00 % used) -- weights:          0  B (  0.00 % used)  activations:          0  B (  0.00 % used)

Total:                                           260.782 kB                                  -- weights:    206.782 kB                  activations:     54.000 kB
====================================================================================
Used memory ranges
   ---------------------------------------------------------------------------------
        npuRAM5    [0x342E0000 - 0x34350000]: 0x342E0000-0x342ED800
        octoFlash  [0x71000000 - 0x72000000]: 0x71000000-0x71033B30
====================================================================================
Epochs details
   ---------------------------------------------------------------------------------
Total number of epochs                               29
>> pure software (SW) epochs                          1
>> hybrid epochs (using both software and hardware)   0
>> pure hardware (HW or EC) epochs                   28  (implemented in 1 epoch controller blobs/meta epochs)

+-------------------+------+---------+
| epoch ID          | Type | Details |
+-------------------+------+---------+
| epochs    2 -> 29 |  EC  |         |
| epoch_30          |  SW  | Softmax |
+-------------------+------+---------+
====================================================================================

 Runtime Loadable Model - Memory Layout (series="stm32n6npu")
 --------------------------------------------------------------------------------

 v8.0 dbg=True async=True sec=True 'Embedded ARM GCC' cpuid=D22 fpu=True float-abi=2

 XIP size             = 48,384     data(548)+got(56)+bss(47744) sections
 COPY size            = 110,216    +ro(61832) sections
 extra sections       = 236        got:56(0.1%) header+rel:180(0.3%)
 params size          = 211,745
 acts size            = 55,296
 binary file size     = 274,272
 params file size     = 0

 +--------------------------+----------------------------------+------+------------+--------+
 | name (addr)              | flags                            | foff | dst        | size   |
 +--------------------------+----------------------------------+------+------------+--------+
 | xSPI2 (0x2000352f)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 211745 |
 | AXISRAM5 (0x20003535)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 55296  |
 | <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0      |
 +--------------------------+----------------------------------+------+------------+--------+
  Table: mempool c-descriptors (off=400001e8, 3 entries, from RAM)

 rt_ctx: c_name="network", acts_sz=55,296, params_sz=211,745, ext_ram_sz=0
 rt_ctx: rt_version_desc="STAI-3.0.0-254-g7cc65410 (RELOC.GCC)"


 Generated files (9)
 ----------------------------------------------------------------------------------------------
 /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/gen/person_detect_OE_3_3_1.onnx
 /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/gen/person_detect_OE_3_3_1_Q.json
 /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/gen/network.c
 /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/gen/network_atonbuf.xSPI2.raw
 /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/gen/network_c_info.json
 /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/gen/network.h
 /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/gen/network_ecblobs.h
 /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/gen/network_rel.bin
 /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/gen/network_generate_rel.json

Creating txt report file /home/user/openmv/build/OPENMV_N6/lib/models/person_detect/gen/network_generate_report.txt
Do you allow statistics to improve the command line? (y)es / (n)o
elapsed time (GENERATE): 167.692s

Fatal Python error: _enter_buffered_busy: could not acquire lock for <_io.BufferedReader name='<stdin>'> at interpreter shutdown, possibly due to daemon threads
Python runtime state: finalizing (tstate=0x568b51094f00)

Current thread 0x00007ea124866740 (most recent call first):
<no Python frame>

Model: movenet_singlepose_192
XIP size             = 143,360    data(924)+got(92)+bss(142336) sections
COPY size            = 302,480    +ro(159120) sections
extra sections       = 312        got:92(0.1%) header+rel:220(0.1%)
params size          = 2,638,753
acts size            = 1,327,104
binary file size     = 2,799,016
params file size     = 0

+--------------------------+----------------------------------+------+------------+---------+
| name (addr)              | flags                            | foff | dst        | size    |
+--------------------------+----------------------------------+------+------------+---------+
| xSPI2 (0x20003d07)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 2638753 |
| AXISRAM5 (0x20003d0d)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 442368  |
| AXISRAM4 (0x20003d16)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34270000 | 425984  |
| AXISRAM3 (0x20003d1f)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34200000 | 458752  |
| <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0       |
+--------------------------+----------------------------------+------+------------+---------+
Table: mempool c-descriptors (off=40000338, 5 entries, from RAM)


Cascade:                       haarcascade_eye                                   
Format:                        Old                                               
Size:                          20x20                                             
Number of Stages:              24                                                
Number of Features:            1066                                              
Number of Rectangles:          2299                                              

Cascade:                       haarcascade_smile                                 
Format:                        Old                                               
Size:                          36x18                                             
Number of Stages:              20                                                
Number of Features:            569                                               
Number of Rectangles:          1245                                              

Cascade:                       haarcascade_frontalface                           
Format:                        Old                                               
Size:                          24x24                                             
Number of Stages:              25                                                
Number of Features:            2913                                              
Number of Rectangles:          6383                                              

Model: face_landmarks_192
XIP size             = 146,304    data(2336)+got(220)+bss(143744) sections
COPY size            = 303,488    +ro(157184) sections
extra sections       = 608        got:220(0.2%) header+rel:388(0.2%)
params size          = 616,577
acts size            = 737,280
binary file size     = 776,616
params file size     = 0

+--------------------------+----------------------------------+------+------------+--------+
| name (addr)              | flags                            | foff | dst        | size   |
+--------------------------+----------------------------------+------+------------+--------+
| xSPI2 (0x20002e6a)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 616577 |
| AXISRAM5 (0x20002e70)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 442368 |
| AXISRAM4 (0x20002e79)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34270000 | 294912 |
| <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0      |
+--------------------------+----------------------------------+------+------------+--------+
Table: mempool c-descriptors (off=400008d0, 4 entries, from RAM)


Model: palm_detection_full_192
XIP size             = 323,200    data(2112)+got(220)+bss(320832) sections
COPY size            = 666,192    +ro(342992) sections
extra sections       = 596        got:220(0.1%) header+rel:376(0.1%)
params size          = 1,122,641
acts size            = 1,506,496
binary file size     = 1,468,248
params file size     = 0

+--------------------------+----------------------------------+------+------------+---------+
| name (addr)              | flags                            | foff | dst        | size    |
+--------------------------+----------------------------------+------+------------+---------+
| xSPI2 (0x20004e75)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 1122641 |
| AXISRAM6 (0x20004e7b)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34350000 | 294912  |
| AXISRAM5 (0x20004e84)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 457920  |
| AXISRAM4 (0x20004e8d)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34270000 | 294912  |
| AXISRAM3 (0x20004e96)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34200000 | 458752  |
| <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0       |
+--------------------------+----------------------------------+------+------------+---------+
Table: mempool c-descriptors (off=400007c8, 6 entries, from RAM)


Model: hand_landmarks_full_224
XIP size             = 128,320    data(968)+got(64)+bss(127232) sections
COPY size            = 265,856    +ro(137536) sections
extra sections       = 304        got:64(0.0%) header+rel:240(0.2%)
params size          = 3,182,977
acts size            = 1,781,248
binary file size     = 3,321,688
params file size     = 0

+--------------------------+----------------------------------+------+------------+---------+
| name (addr)              | flags                            | foff | dst        | size    |
+--------------------------+----------------------------------+------+------------+---------+
| xSPI1 (0x20002407)       | 0x01020601 RELOC.ACTIV.1.WCACHED | 0    | 0x00000000 | 802816  |
| xSPI2 (0x2000240d)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 3182977 |
| AXISRAM5 (0x20002413)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 451584  |
| AXISRAM4 (0x2000241c)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34270000 | 451584  |
| AXISRAM3 (0x20002425)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x34200000 | 75264   |
| <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0       |
+--------------------------+----------------------------------+------+------------+---------+
Table: mempool c-descriptors (off=40000350, 6 entries, from RAM)


concurrent.futures.process._RemoteTraceback: 
"""
Traceback (most recent call last):
  File "/home/user/openmv-sdk-1.6.0/python/lib/python3.12/concurrent/futures/process.py", line 258, in _process_worker
    r = call_item.fn(*call_item.args, **call_item.kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/openmv/tools/mkromfs.py", line 100, in process_entry
    stedge_compile(file_path, build_dir, entry["profile"], stedge_args.split())
  File "/home/user/openmv/tools/modelc.py", line 105, in stedge_compile
    raise(e)
  File "/home/user/openmv/tools/modelc.py", line 95, in stedge_compile
    result = subprocess.run(generate_command, check=True, text=True, env=env,
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/openmv-sdk-1.6.0/python/lib/python3.12/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['stedgeai', 'generate', '--target', 'stm32n6', '--model', '/home/user/openmv/lib/models/person_detect.tflite', '--relocatable', '--st-neural-art', 'default@/home/user/openmv/lib/stai/scripts/neuralart.json', '--workspace', '/home/user/openmv/build/OPENMV_N6/lib/models/person_detect/workspace', '--output', '/home/user/openmv/build/OPENMV_N6/lib/models/person_detect/gen', '--verbosity', '1', '--quiet']' died with <Signals.SIGABRT: 6>.
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/user/openmv/tools/mkromfs.py", line 238, in <module>
    main()
  File "/home/user/openmv/tools/mkromfs.py", line 232, in main
    romfs_build(romfs_cfg, p, args)
  File "/home/user/openmv/tools/mkromfs.py", line 145, in romfs_build
    results[idx] = future.result()
                   ^^^^^^^^^^^^^^^
  File "/home/user/openmv-sdk-1.6.0/python/lib/python3.12/concurrent/futures/_base.py", line 449, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/home/user/openmv-sdk-1.6.0/python/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
subprocess.CalledProcessError: Command '['stedgeai', 'generate', '--target', 'stm32n6', '--model', '/home/user/openmv/lib/models/person_detect.tflite', '--relocatable', '--st-neural-art', 'default@/home/user/openmv/lib/stai/scripts/neuralart.json', '--workspace', '/home/user/openmv/build/OPENMV_N6/lib/models/person_detect/workspace', '--output', '/home/user/openmv/build/OPENMV_N6/lib/models/person_detect/gen', '--verbosity', '1', '--quiet']' died with <Signals.SIGABRT: 6>.
make: *** [/home/user/openmv/ports/stm32/port_config.mk:187: /home/user/openmv/build/OPENMV_N6/bin/romfs.stamp] Error 1
user@DESKTOP-87N36PP:~/openmv$ 

I will reinstall wsl and try again from 0 to install, configure and assemble the firmware.

That’s stedgeai either crashing, which we can’t really fix, or getting killed, which is more likely. It might be running out of memory due to the many parallel runs. You could try raising WSL’s memory, it’s capped at 50% of the host’s memory by default, or adding --jobs 1 to ports/stm32/port_config.mk invocation of mkromfs.py or just hardcoding 1 in mkromfs.py, whichever is easier for you:

# mkromfs.py
parser.add_argument('-j', '--jobs', type=int, default=1, help='Number of parallel jobs (default: CPU count)')

In WSL setting, I made a memory capacity of 16384 MB (it was 10184)

The order of my actions: I installed the Ubuntu distribution from 0 (I deleted the old)

wsl.exe --install Ubuntu

Completed the commands:

sudo apt-get update
sudo apt-get install git build-essential

I stopped and restarted WSL:

wsl --shutdown  

Executed the commands sequentially :

git clone --depth=1 https://github.com/openmv/openmv.git
cd openmv
git submodule update --init --depth=1 --no-single-branch
git -C lib/micropython/ submodule update --init --depth=1

Installed the SDK:

cd openmv
make sdk

Just in case, I rebooted WSL again and executed:

cd openmv
make -j$(nproc) -C lib/micropython/mpy-cross
make -j$(nproc) TARGET=OPENMV_N6 submodules
make -j$(nproc) TARGET=OPENMV_N6

Log :

GEN linker script
Memory region         Used Size  Region Size  %age Used
            DTCM:        128 KB       128 KB    100.00%
            ITCM:        6256 B        64 KB      9.55%
           SRAM1:     1039392 B         1 MB     99.12%
           SRAM2:          1 MB         1 MB    100.00%
           SRAM3:       1792 KB      1792 KB    100.00%
           SRAM7:          1 KB        32 KB      3.12%
            DRAM:         56 MB        64 MB     87.50%
      FLASH_TEXT:     1892224 B      3584 KB     51.56%
GEN romfs image
stedgeai generate failed for /home/user/openmv/lib/models/force_int_quant.tflite (exit code -6)
stedgeai generate --target stm32n6 --model /home/user/openmv/lib/models/force_int_quant.tflite --relocatable --st-neural-art default@/home/user/openmv/lib/stai/scripts/neuralart.json --workspace /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/workspace --output /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen --verbosity 1 --quiet
ST Edge AI Core v4.0.0-20500 359356bb0
 >>>> EXECUTING NEURAL ART COMPILER
   /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/atonn -i "/home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen/force_int_quant_OE_3_3_1.onnx" --json-quant-file "/home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen/force_int_quant_OE_3_3_1_Q.json" -g "network.c" --load-mdesc "/home/user/openmv-sdk-1.6.0/stedgeai/Utilities/configs/stm32n6.mdesc" --load-mpool "/home/user/openmv/lib/stai/scripts/stm32n6.mpool" --load-cdesc /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/configs/cortex-m55.cdesc --save-mpool-file "/home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/workspace/neural_art__network/stm32n6.mpool" --out-dir-prefix "/home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/workspace/neural_art__network/" --network-name "network" --native-float --cache-maintenance --Ocache-opt --enable-virtual-mem-pools --Os --optimization 3 --Oauto-sched --all-buffers-info --csv-file "network.csv" --enable-epoch-controller --output-info-file "c_info.json"
 <<<< DONE EXECUTING NEURAL ART COMPILER
 >>>> EXECUTING EPOCH_CONTROLLER POST_PROCESSING
 <<<< DONE EXECUTING EPOCH_CONTROLLER POST_PROCESSING

 Exec/report summary (generate)
 ------------------------------------------------------------------------------------------------
 model file         :   /home/user/openmv/lib/models/force_int_quant.tflite
 type               :   tflite
 c_name             :   network
 compression        :   lossless
 options            :   allocate-inputs, allocate-outputs, relocatable
 optimization       :   balanced
 target/series      :   stm32n6npu
 workspace dir      :   /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/workspace
 output dir         :   /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen
 model_fmt          :   float
 model_name         :   force_int_quant
 model_hash         :   0x3b7ce6dc2f0a44ef4b4a2051312b0c28
 params #           :   6,945 items (7.23 KiB)
 ------------------------------------------------------------------------------------------------
 input 1/1          :   'Input_0_out_0', f32(1x36), 144 Bytes, activations
 output 1/1         :   'Dequantize_17_out_0', f32(1x1), 4 Bytes, activations
 macc               :   6,944
 weights (ro)       :   6,865 B (6.70 KiB) (1 segment) / -20,915(-75.3%) vs float model
 activations (rw)   :   180 B (180 B) (1 segment) *
 ram (total)        :   180 B (180 B) = 180 + 0 + 0
 ------------------------------------------------------------------------------------------------
 (*) 'input'/'output' buffers are allocated in the activations buffer

  Neural ART - Package for runtime loadable model - v 1.4.1

   STM32 series        : stm32n6npu
   scripts directory   : /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/../../scripts/N6_reloc
   python executable   : /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/python
   cwd                 : /home/user/openmv
   output directory    : /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen
   workspace directory : /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/workspace
   c-name              : network
   user options        : []
   custom file         : None


Compilation details
   ---------------------------------------------------------------------------------
Compiler version: 1.1.3-262
Compiler arguments:  -i /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen/force_int_quant_OE_3_3_1.onnx --json-quant-file /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen/force_int_quant_OE_3_3_1_Q.json -g network.c --load-mdesc /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/configs/stm32n6.mdesc --load-mpool /home/user/openmv/lib/stai/scripts/stm32n6.mpool --load-cdesc /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/configs/cortex-m55.cdesc --save-mpool-file /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/workspace/neural_art__network/stm32n6.mpool --out-dir-prefix /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/workspace/neural_art__network/ --network-name network --native-float --cache-maintenance --Ocache-opt --enable-virtual-mem-pools --Os --optimization 3 --Oauto-sched --all-buffers-info --csv-file network.csv --enable-epoch-controller --output-info-file c_info.json
====================================================================================
Memory usage information  (input/output buffers are included in activations)
   ---------------------------------------------------------------------------------
        npuRAM3    [0x34200000 - 0x34270000]:          0  B /    448.000 kB  (  0.00 % used) -- weights:          0  B (  0.00 % used)  activations:          0  B (  0.00 % used)
        npuRAM4    [0x34270000 - 0x342E0000]:          0  B /    448.000 kB  (  0.00 % used) -- weights:          0  B (  0.00 % used)  activations:          0  B (  0.00 % used)
        npuRAM5    [0x342E0000 - 0x34350000]:        180  B /    448.000 kB  (  0.04 % used) -- weights:          0  B (  0.00 % used)  activations:        180  B (  0.04 % used)
        npuRAM6    [0x34350000 - 0x343C0000]:          0  B /    448.000 kB  (  0.00 % used) -- weights:          0  B (  0.00 % used)  activations:          0  B (  0.00 % used)
        octoFlash  [0x71000000 - 0x72000000]:      6.704 kB /     16.000 MB  (  0.04 % used) -- weights:      6.704 kB (  0.04 % used)  activations:          0  B (  0.00 % used)
        hyperRAM   [0x92000000 - 0x93000000]:          0  B /     16.000 MB  (  0.00 % used) -- weights:          0  B (  0.00 % used)  activations:          0  B (  0.00 % used)

Total:                                             6.880 kB                                  -- weights:      6.704 kB                  activations:        180  B
====================================================================================
Used memory ranges
   ---------------------------------------------------------------------------------
        npuRAM5    [0x342E0000 - 0x34350000]: 0x342E0000-0x342E00C0
        octoFlash  [0x71000000 - 0x72000000]: 0x71000000-0x71001AE0
====================================================================================
Epochs details
   ---------------------------------------------------------------------------------
Total number of epochs                               5
>> pure software (SW) epochs                         2
>> hybrid epochs (using both software and hardware)  0
>> pure hardware (HW or EC) epochs                   3  (implemented in 1 epoch controller blobs/meta epochs)

+------------------+------+------------------+
| epoch ID         | Type |     Details      |
+------------------+------+------------------+
| epoch_1          |  SW  |  QuantizeLinear  |
| epochs    3 -> 5 |  EC  |                  |
| epoch_6          |  SW  | DequantizeLinear |
+------------------+------+------------------+
====================================================================================

 Runtime Loadable Model - Memory Layout (series="stm32n6npu")
 --------------------------------------------------------------------------------

 v8.0 dbg=True async=True sec=True 'Embedded ARM GCC' cpuid=D22 fpu=True float-abi=2

 XIP size             = 4,992      data(596)+got(52)+bss(4288) sections
 COPY size            = 16,512     +ro(11520) sections
 extra sections       = 220        got:52(1.0%) header+rel:168(1.5%)
 params size          = 6,865
 acts size            = 180
 binary file size     = 19,104
 params file size     = 0

 +--------------------------+----------------------------------+------+------------+------+
 | name (addr)              | flags                            | foff | dst        | size |
 +--------------------------+----------------------------------+------+------------+------+
 | xSPI2 (0x20001b58)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 6865 |
 | AXISRAM5 (0x20001b5e)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 180  |
 | <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0    |
 +--------------------------+----------------------------------+------+------------+------+
  Table: mempool c-descriptors (off=40000218, 3 entries, from RAM)

 rt_ctx: c_name="network", acts_sz=180, params_sz=6,865, ext_ram_sz=0
 rt_ctx: rt_version_desc="STAI-3.0.0-254-g7cc65410 (RELOC.GCC)"


 Generated files (9)
 --------------------------------------------------------------------------------------------------
 /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen/force_int_quant_OE_3_3_1.onnx
 /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen/force_int_quant_OE_3_3_1_Q.json
 /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen/network.c
 /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen/network_c_info.json
 /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen/network_atonbuf.xSPI2.raw
 /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen/network.h
 /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen/network_ecblobs.h
 /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen/network_rel.bin
 /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen/network_generate_rel.json

Creating txt report file /home/user/openmv/build/OPENMV_N6/lib/models/force_int_quant/gen/network_generate_report.txt
Do you allow statistics to improve the command line? (y)es / (n)o
elapsed time (GENERATE): 44.529s

Fatal Python error: _enter_buffered_busy: could not acquire lock for <_io.BufferedReader name='<stdin>'> at interpreter shutdown, possibly due to daemon threads
Python runtime state: finalizing (tstate=0x613861798e80)

Current thread 0x000071c26dae4740 (most recent call first):
<no Python frame>

stedgeai generate failed for /home/user/openmv/lib/models/yolo_lc_192.tflite (exit code -6)
stedgeai generate --target stm32n6 --model /home/user/openmv/lib/models/yolo_lc_192.tflite --relocatable --st-neural-art default@/home/user/openmv/lib/stai/scripts/neuralart.json --workspace /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace --output /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen --verbosity 1 --quiet
ST Edge AI Core v4.0.0-20500 359356bb0
 >>>> EXECUTING NEURAL ART COMPILER
   /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/atonn -i "/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/yolo_lc_192_OE_3_3_1.onnx" --json-quant-file "/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/yolo_lc_192_OE_3_3_1_Q.json" -g "network.c" --load-mdesc "/home/user/openmv-sdk-1.6.0/stedgeai/Utilities/configs/stm32n6.mdesc" --load-mpool "/home/user/openmv/lib/stai/scripts/stm32n6.mpool" --load-cdesc /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/configs/cortex-m55.cdesc --save-mpool-file "/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/neural_art__network/stm32n6.mpool" --out-dir-prefix "/home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/neural_art__network/" --network-name "network" --native-float --cache-maintenance --Ocache-opt --enable-virtual-mem-pools --Os --optimization 3 --Oauto-sched --all-buffers-info --csv-file "network.csv" --enable-epoch-controller --output-info-file "c_info.json"
 <<<< DONE EXECUTING NEURAL ART COMPILER
 >>>> EXECUTING EPOCH_CONTROLLER POST_PROCESSING
 <<<< DONE EXECUTING EPOCH_CONTROLLER POST_PROCESSING

 Exec/report summary (generate)
 -----------------------------------------------------------------------------------------------------------------------
 model file         :   /home/user/openmv/lib/models/yolo_lc_192.tflite
 type               :   tflite
 c_name             :   network
 compression        :   lossless
 options            :   allocate-inputs, allocate-outputs, relocatable
 optimization       :   balanced
 target/series      :   stm32n6npu
 workspace dir      :   /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace
 output dir         :   /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen
 model_fmt          :   float
 model_name         :   yolo_lc_192
 model_hash         :   0x8e420151112787b4ba1bb9d8357aa4f4
 params #           :   277,566 items (276.73 KiB)
 -----------------------------------------------------------------------------------------------------------------------
 input 1/1          :   'Input_0_out_0', uint8(1x192x192x3), 108.00 KBytes, QLinear(0.003921569,0,uint8), activations
 output 1/1         :   'Transpose_61_out_0', f32(1x12x12x30), 16.88 KBytes, activations
 macc               :   62,044,272
 weights (ro)       :   275,905 B (269.44 KiB) (1 segment) / -834,359(-75.1%) vs float model
 activations (rw)   :   258,048 B (252.00 KiB) (1 segment) *
 ram (total)        :   258,048 B (252.00 KiB) = 258,048 + 0 + 0
 -----------------------------------------------------------------------------------------------------------------------
 (*) 'input'/'output' buffers are allocated in the activations buffer

  Neural ART - Package for runtime loadable model - v 1.4.1

   STM32 series        : stm32n6npu
   scripts directory   : /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/../../scripts/N6_reloc
   python executable   : /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/linux/python
   cwd                 : /home/user/openmv
   output directory    : /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen
   workspace directory : /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace
   c-name              : network
   user options        : []
   custom file         : None


Compilation details
   ---------------------------------------------------------------------------------
Compiler version: 1.1.3-262
Compiler arguments:  -i /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/yolo_lc_192_OE_3_3_1.onnx --json-quant-file /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/yolo_lc_192_OE_3_3_1_Q.json -g network.c --load-mdesc /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/configs/stm32n6.mdesc --load-mpool /home/user/openmv/lib/stai/scripts/stm32n6.mpool --load-cdesc /home/user/openmv-sdk-1.6.0/stedgeai/Utilities/configs/cortex-m55.cdesc --save-mpool-file /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/neural_art__network/stm32n6.mpool --out-dir-prefix /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/workspace/neural_art__network/ --network-name network --native-float --cache-maintenance --Ocache-opt --enable-virtual-mem-pools --Os --optimization 3 --Oauto-sched --all-buffers-info --csv-file network.csv --enable-epoch-controller --output-info-file c_info.json
====================================================================================
Memory usage information  (input/output buffers are included in activations)
   ---------------------------------------------------------------------------------
        npuRAM3    [0x34200000 - 0x34270000]:          0  B /    448.000 kB  (  0.00 % used) -- weights:          0  B (  0.00 % used)  activations:          0  B (  0.00 % used)
        npuRAM4    [0x34270000 - 0x342E0000]:          0  B /    448.000 kB  (  0.00 % used) -- weights:          0  B (  0.00 % used)  activations:          0  B (  0.00 % used)
        npuRAM5    [0x342E0000 - 0x34350000]:    252.000 kB /    448.000 kB  ( 56.25 % used) -- weights:          0  B (  0.00 % used)  activations:    252.000 kB ( 56.25 % used)
        npuRAM6    [0x34350000 - 0x343C0000]:          0  B /    448.000 kB  (  0.00 % used) -- weights:          0  B (  0.00 % used)  activations:          0  B (  0.00 % used)
        octoFlash  [0x71000000 - 0x72000000]:    269.438 kB /     16.000 MB  (  1.64 % used) -- weights:    269.438 kB (  1.64 % used)  activations:          0  B (  0.00 % used)
        hyperRAM   [0x92000000 - 0x93000000]:          0  B /     16.000 MB  (  0.00 % used) -- weights:          0  B (  0.00 % used)  activations:          0  B (  0.00 % used)

Total:                                           521.438 kB                                  -- weights:    269.438 kB                  activations:    252.000 kB
====================================================================================
Used memory ranges
   ---------------------------------------------------------------------------------
        npuRAM5    [0x342E0000 - 0x34350000]: 0x342E0000-0x3431F000
        octoFlash  [0x71000000 - 0x72000000]: 0x71000000-0x710435D0
====================================================================================
Epochs details
   ---------------------------------------------------------------------------------
Total number of epochs                               15
>> pure software (SW) epochs                          1
>> hybrid epochs (using both software and hardware)   0
>> pure hardware (HW or EC) epochs                   14  (implemented in 2 epoch controller blobs/meta epochs)

+----------------------+------+------------------+
| epoch ID             | Type |     Details      |
+----------------------+------+------------------+
| epochs    2 -> 15    |  EC  |                  |
| epoch_16             |  SW  | DequantizeLinear |
| <no executed epochs> |  EC  |                  |
+----------------------+------+------------------+
====================================================================================

 Runtime Loadable Model - Memory Layout (series="stm32n6npu")
 --------------------------------------------------------------------------------

 v8.0 dbg=True async=True sec=True 'Embedded ARM GCC' cpuid=D22 fpu=True float-abi=2

 XIP size             = 34,560     data(596)+got(52)+bss(33856) sections
 COPY size            = 75,776     +ro(41216) sections
 extra sections       = 228        got:52(0.2%) header+rel:176(0.4%)
 params size          = 275,905
 acts size            = 258,048
 binary file size     = 317,848
 params file size     = 0

 +--------------------------+----------------------------------+------+------------+--------+
 | name (addr)              | flags                            | foff | dst        | size   |
 +--------------------------+----------------------------------+------+------------+--------+
 | xSPI2 (0x20001b69)       | 0x01010500 RELOC.PARAM.0.RCACHED | 0    | 0x00000000 | 275905 |
 | AXISRAM5 (0x20001b6f)    | 0x03020200 RESET.ACTIV.WRITE     | 0    | 0x342e0000 | 258048 |
 | <undefined> (0x00000000) | 0x00000000 UNUSED                | 0    | 0x00000000 | 0      |
 +--------------------------+----------------------------------+------+------------+--------+
  Table: mempool c-descriptors (off=40000218, 3 entries, from RAM)

 rt_ctx: c_name="network", acts_sz=258,048, params_sz=275,905, ext_ram_sz=0
 rt_ctx: rt_version_desc="STAI-3.0.0-254-g7cc65410 (RELOC.GCC)"


 Generated files (9)
 ------------------------------------------------------------------------------------------
 /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/yolo_lc_192_OE_3_3_1.onnx
 /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/yolo_lc_192_OE_3_3_1_Q.json
 /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/network.c
 /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/network_c_info.json
 /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/network_atonbuf.xSPI2.raw
 /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/network.h
 /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/network_ecblobs.h
 /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/network_rel.bin
 /home/user/openmv/build/OPENMV_N6/lib/models/yolo_lc_192/gen/network_generate_rel.json