Skip to content

c_codegen returned non-zero exit status 3221226505 #2

Description

@minchoCoin

If the model contains CPU-only operations, the model is not converted to the Ethos-U55 + CPU target.

When I converted the model with Vela, a warning appeared:

Warning: No configuration file specified. Using a default of ['C:\\Users\\user\\miniconda3\\envs\\ethos\\lib\\site-packages\\ethosu\\config_files\\Arm\\vela.ini']. Compilation may be invalid or non-optimal.
Warning: No system configuration specified. Using a default of Ethos_U55_High_End_Embedded. Compilation may be invalid or non-optimal.
Warning: No memory mode specified. Using a default of Shared_Sram. Compilation may be invalid or non-optimal.
Info: BATCH_MATMUL '.../MatMul_1' is a CPU only op
Info: BATCH_MATMUL '.../MatMul' is a CPU only op
Warning: TRANSPOSE '.../transpose_3;;.../transpose_1' is not supported on the NPU. Placing on CPU instead
 - The following shape/permutations are supported for transpose:
        When ifm rank is 2: WxC -> CxW
        When ifm rank is 3: HxWxC -> WxHxC, 1xWxC -> 1xCxW, Hx1xC -> Cx1xH
        When ifm rank is 4: 1xHxWxC -> 1xWxHxC, 1x1xWxC -> 1x1xCxW, 1xHx1xC -> 1xCx1xW
   Op has ifm_shape: [1, 197, 4, 16] and permutation is: [0 2 3 1]

I expected that the CPU would execute MatMul, while the Ethos-U55 would handle Fully-Connected layers and Conv2D.
However, when I converted the same model using Mera, the following error occurred with error code 3221226505:

(ethos) C:\Users\user\Desktop\vela\scripts\scripts>python mcu_deploy.py --ethos --ref_data ../models_int8_4 deploy_qtzed_ethos4
Compiling model..
[2025-12-04 11:34:29.481] [info] Loading and converting TFLite model ...
[2025-12-04 11:34:29.481] [info] TFLite Model Version: 3
Command 'C:\Users\user\miniconda3\envs\ethos\Lib\site-packages\mera\bin_utils\fe_tflite_cli C:\Users\user\Desktop\vela\scripts\scripts\deploy_qtzed_ethos4\model_no_ospi\build\MCU\deploy_cfg.json' returned non-zero exit status 3221226505.

If I disassemble the MatMul into a Fully Connected layer(with tensorflow 2.6.0 tflite convert), an error occurs with error code 3221226505:

(ethos) C:\Users\user\Desktop\vela\scripts\scripts>python mcu_deploy.py --ethos --ref_data ../models_int8_2 deploy_qtzed_ethos2
Compiling model...
[2025-12-04 10:49:03.383] [info] Loading and converting TFLite model ...
[2025-12-04 10:49:03.384] [info] TFLite Model Version: 3
[2025-12-04 10:49:03.388] [info] Converting to canonical ...
[2025-12-04 10:49:03.395] [info] Converting to target IR ...
[2025-12-04 10:49:03.399] [info] Dividing and exporting regions ...
[2025-12-04 10:49:03.404] [info] Ethos-U support is enabled, matching patterns for target Ethos-U55
[2025-12-04 10:49:03.417] [info]   [DivideByTarget] Assembled 11 final regions:
[2025-12-04 10:49:03.417] [info]     + C_CODEGEN = 5 regions.
[2025-12-04 10:49:03.417] [info]     + ARM_ETHOS_U55 = 6 regions.
Command 'C:\Users\user\miniconda3\envs\ethos\Lib\site-packages\mera\bin_utils\ccodegen\c_codegen C:\Users\user\Desktop\vela\scripts\scripts\deploy_qtzed_ethos2\model_no_ospi\build\MCU\compilation C:\Users\user\Desktop\vela\scripts\scripts\deploy_qtzed_ethos2\model_no_ospi\build\MCU\compilation\src  ' returned non-zero exit status 3221226505.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions