cancel
Showing results for 
Search instead for 
Did you mean: 

Error when using "Validate on target" using STM32CubeMX.

MAgar.8
Associate

I have successfully replicated the example shown in the video: https://www.youtube.com/watch?v=grgNXdkmzzQ

Now I was trying to run cifar10 using keras on STM32F769I-DISCO board.

After successfully compliling the code generated from STM32CubeMX, I tried to use "validate on target", but was met with an error, "ERROR: no connected board(s) or invalid firmware or the board should be re-started".

I tried the solution proposed in the already asked question, https://community.st.com/s/question/0D50X0000AIdxgaSQB/getting-error-in-stm32cubemx-when-trying-to-validate-on-target

to connect to the STM32 via an serial terminal like Putty/Termite/TeraTerm... and I was able to get the prints in TeraTerm.

But still validate on target returns error.

What else could possibly be wrong.

FW version: V2J32M22

Regards,

Mansi

3 REPLIES 3
fauvarque.daniel
ST Employee

By default the validate program on the PC connects at 115200 Bauds, 8 bits, no parity to the target, you can verify that the configuration of the USART is done that way.

Also in the X-Cube-AI interface you can explicitly choose the com port to use on the PC if the automatic discovery doesn't work.

Regards

Daniel

MAGAR.17
Associate

Thank you for the quick response Daniel.

I re-checked the configuration of my USART and it's the same as you suggested.

Also, I tried choosing the com port explicitly, but no success in either case.

Having a look at the debug log located in ".stm32cubemx" I saw "java.lang.NumberFormatException: empty String" error.

Could this be the reason for the failure.

What could be the possible solution?

Attaching the log for your reference.

Regards,

Mansi

fauvarque.daniel
ST Employee

The real error is this one:

019-02-20 11:48:52,574 [INFO] AIValidate:193 - ON-DEVICE STM32 execution ("network", COM36, 115200)..

2019-02-20 11:48:52,826 [INFO] AIValidate:193 -

2019-02-20 11:48:52,826 [INFO] AIValidate:193 - ERROR: no connected board(s) or invalid firmware or the board should be re-started

2019-02-20 11:48:54,124 [INFO] AIValidate:193 -

The additional message:

2019-02-20 11:48:54,140 [ERROR] AIValidate:271 - Error: this is not a number (java.lang.NumberFormatException: empty String)

2019-02-20 11:48:54,140 [ERROR] AIValidate:271 - Error: this is not a number (java.lang.NumberFormatException: empty String)

is just a message from the UI because it is trying to parse the output and not finding the right token. This message will be removed in future version of the UI.

When connecting to the board, the validate program verifies the coherency of the network. It verifies for example the network name and the size of the weights. Maybe you can try to generate the code again in STM32CubeMX, flash it on the board and restart the validation on the target process.

Also, please make sure that no other processes are using the same COM port as in Windows it is not possible to access a COM port from 2 processes.

Regards

Daniel