cancel
Showing results for 
Search instead for 
Did you mean: 

NUCLEO-N657X0-Q + X-CUBE-AI 10.2.0 Validate on target fails with E801 Invalid firmware / xSPI2 flash error

qldrh
Associate

Hello,

I am trying to run Validate on target on a NUCLEO-N657X0-Q board using X-CUBE-AI 10.2.0, but it consistently fails. I would appreciate any guidance.

Environment:

  • Board: NUCLEO-N657X0-Q
  • X-CUBE-AI: 10.2.0
  • STM32CubeMX / STM32CubeIDE: latest
  • OS: Windows 11
  • Model: ONNX (MobileNetV4-Small based, input [1,4,224,224] float32, 2 outputs)

What works:

  • Analyze: OK (Flash 46.75MB, RAM 3.78MB)
  • Generate: OK
  • Validate on desktop: OK (acc=100%, nse=1.0)
  • Board detected: ST-Link Virtual COM Port on COM5
  • Firmware flash reports: Start operation achieved successfully

Problem:

When running Validate on target via STM32CubeMX:

 
 
Running the ST.AI c-model (AI RUNNER)...(name=network, mode=TARGET)Proto-buffer driver v2.0 (msg v3.1) (Serial driver v1.0 - COM5:921600)Warning: C-network signature checking is skipped on ST Neural-ART NPULOAD ERROR: STM32 - read timeout 50000msValidation ended

When running stedgeai CLI directly (after manual build via n6_loader.py):

 
 
E200(ValidationError): TARGET: Unable to bind the ST.AI runtime with "network" c-modelE801(HwIOError): Invalid firmware - COM5:921600

When running n6_loader.py directly:

 
 
Flashing memory xSPI2 -- 48,897.140 kBFlashing memory xSPI2 -- return code ERRORStart operation did not achieve successfully

What I have investigated:

  • The Projects folder in X-CUBE-AI 10.2.0 only contains STM32N6570-DK. There is no dedicated project for NUCLEO-N657X0-Q, although n6_loader.py does have a --build-config N6-Nucleo option.
  • UART pin configuration in misc_toolbox.c is already set to PE5/PE6 (USART1), which matches the Nucleo board's ST-Link Virtual COM Port.
  • I modified RISAF_Config() in misc_toolbox.c to include set_risaf_default(RISAF11_S) for the Nucleo board (hyperRAM), but the issue persists.
  • Running python -c "import serial; s=serial.Serial('COM5',921600,timeout=5); print(s.read(1000))" after firmware flash returns b'' — the board sends nothing over UART.

Questions:

  1. What is the correct procedure to use Validate on target on NUCLEO-N657X0-Q with X-CUBE-AI 10.2.0?
  2. Why does xSPI2 flashing fail with return code ERROR?
  3. What causes E801(HwIOError): Invalid firmware when running stedgeai CLI directly?
  4. Is there a dedicated NPU_Validation project for NUCLEO-N657X0-Q, or do I need to manually port the STM32N6570-DK project?

Thank you in advance.

0 REPLIES 0