cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F429VITx: Supported by MC SDK but can't create user-defined control board in WorkBench

Nate-S
Associate

I am working on a three phase motor inverter with a logic board powerd by the STM32F429VITx MCU and my goal is to run code generated with the ST Motor Control WorkBench on that board. 

When I create a new custom inverter in the WorkBench Board Manager and set the Parameter 

 

"mcu": "STM32F429VITx"


my new inverter does not appear among the options in the WorkBench, so I assume it's not supported yet by the WorkBench to generate a project for STM32F429VITx.

Here I found, that all STM32F4xx MCU's are supported by ST MC SDK, but apparently ST MC Workbench only supports generating projects for a subset of them. 

In the Release Notes for X-Cube-MCSDK 6.2.0, these are the supported MCU's:

NateS_0-1702640667585.png
How can I create a project using STM32F429VITx, if I can't start in the WorkBench?
Is the list in the release notes for X-Cube-MCSDK 6.2.0 the complete list? Why is e.g. STM32F417IG listed twice? 
The selection of this subset of the STM32F4xx family makes no sense to me.
4 REPLIES 4
GMA
ST Employee

Hello,

Thank you for your post!
We will add a comment on wiki page about the WorkBench supported MCU list limitation.
Unfortunately, only MCU listed on the release notes for X-Cube-MCSDK/ are supported and adding the corresponding json file will not be sufficient, we would like to sincerely apologize for this miss-understanding.

 

If you agree with the answer, please accept it by clicking on 'Accept as solution'.
Best regards.
GMA
cedric H
ST Employee

Hi @Nate-S,

Thank you for your question.

For some MCU families, indeed the ST MC Workbench supports only a subset parts number. This is the case for STM32F4.

Increasing the number of supported MCUs is an ongoing task with a big step forward in the MCSDK 6.2.0 and 6.2.1. To answer your question, we support the STM32F4 listed in the release note because they are parts of ST  boards. 

To go forward, I would advise you to stay with a supported MCU in your boar description. In your case a STM32F446 as it has 3 ADCs as the STM32F429. Generate your motor control IOC with this config, and once done you can import it into an empty STM32F429 IOC thanks to the import feature of CubeMX once done you can re-generate your motor control project from cubeMX. From our experience, it works pretty well, even if sometime clock settings have to be doubled checked.

The support of the whole STM32F4 family is in our plan for middle of next year.

Best Regards

Cedric

Thanks for the clarification. 
From the STM32F446 family, only STM32F446ZE and STM32F446RE are supported. They come with 64/144 pin packages, unlike the STM32F429VIT which is a 100 pin package. 
Wouldn't it be a better workaround to use e.g. STM32F401VIT which has 100 pins and is supported by the MC Workbench? 
I am trying the following now, and I'm wondering if it's the best way to do it: 

-generate a custom inverter json file with my pin configuration for STM32F401VIT

-generate the project and open it in STM32 Cube MX

-generate the code first for STM32F401VIT and open the project in Cube IDE. 

-open STM32 Cube MX again and list compatible MCUs, change the MCU to STM32F429VIT

-generate the code again, this will give me a second Cube IDE project for the correct MCU, but without the MC Libraries. 

-copy the MC Library files from the project created earlier for STM32F401VIT to the new project for STM32F429VIT.

 

 

Hello @Nate-S ,

You can start with an STM32G431VET if you prefer so (supported by the workbench). The thing is that STM32F401 only has one ADC while STM32429 has three. So the workbench will produce a project that only uses one ADC while you would get a better control on your motor with more. 

 

Now, for the rest of the procedure, if I were you, I would  stick to the procedure proposed by @cedric H :

  1. Describe your board using an STM32F401VET
  2. Generate a project with the workbench using that board.
  3. Import the generated IOC into an empty, STM32F429VIT STM32CubeMx project. This would draw all your configuration on the STM32F429, including the Motor Control.
  4. Save the STM32F429 project in some fresh place and generate it from STM32CubeMx. This will provide you with a firmware project featuring the motor control firmware.

Of course, you'll need to check that the peripherals configuration  is properly imported, but that will be way easier than copying the MC libs into your STM32CubeIDE project and adding them manually.