cancel
Showing results for 
Search instead for 
Did you mean: 

Are there any guidelines for updating X-CUBE-AI projects? 5.2 ->6.0 -> 7.0?

Jczk
Associate

I have a project running with X-CUBE-AI version 5.2 and I have trouble generating new network with old version, however I have also found updating very complicated since the way of calling NN changed. Should I just stick to older version and find a way to generate model with it? Or should I rebuild whole project to work with 7.0? If so how should I approach it?

5 REPLIES 5
fauvarque.daniel
ST Employee

The process to upgrade to a new version is the following\

  • open your project with the old version in STM32CubeMX
  • go to Sofware Packs -> Select Components

Click on this icon You'll have a window on the right

Select in the "Migrate to" combo the version you want to use, click on the Try button, then Accept

All the parameters that you used in previous version of AI are normally migrated to the chosen version. If you see some parameters not correctly migrated you can signal them so that it get fixed in a future release.

Regards

Daniel


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
fauvarque.daniel
ST Employee

Unfortunately the snapshots are not transmitted :( the icon to click on is a black icon with 2 arrows next to the green check


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
jean-michel.d
ST Employee

Hi Jczk,

Can you elaborate more about the issue of migration, in particular about the way of calling NN? Because between the 5.1 until 7.0, the API (ai_<network_name>_XX functions) to use the generated model is always the same?

br,

Jean-Michel

jean-michel.d
ST Employee

According your stating point, in the embedded documentation from the v7 pack, there is a specific article to explain "How to upgrade a STM32 project" with a new version of the X-CUBE-AI library.

Hi,

well I've been reading about it since posting and it seems that my issue is caused by the fact that the old project I'm referring to is not using this default way of calling NN. Instead it is using a function found in app_x-cube-ai.c by calling it directly from main.c:

int aiRun(const void *in_data, void *out_data)

which seems to be changed to:

static int ai_run(void *data_in, void *data_out)

I have found that the aiRun function still can be used when copied to app_x-cube-ai.c and it seems to be working just fine, however I assume that this change was made for a reason I should try to rework the project to use function:

ai_i32 ai_network_run(ai_handle network, const ai_buffer* input, ai_buffer* output)

For some reason I'm unable to generate the code under 5.2.0 properly and cubemx is not showing it as availible (It does after I reinstall it under software packages but after I restart cubemx it is not availble again).