cancel
Showing results for 
Search instead for 
Did you mean: 

Motor Control Workbench and STM32CubeIDE doesn´t work !

Takumi Lee
Associate III

Hi,

i want to use Nucleo F303RE & IHM08M1 together to drive a PMSM.

At first, I test the STM32CubeIDE with a led blink example, it works immediately.

Then I test my motor, in the Motor Profiler, it works too.

Now I want to use the MotorControl Workbench 5.4.1 FULL, to generate the source code for the STM32CubeIDE, but i get a toolchain error message. If I open the project in the IDE appears following error, in the approach are screenshots from my proceed.

I tried to use the codegeneration for True Studio in the STCubeIDE, without success.

In Motor Control Workbench

0690X00000ArJweQAF.jpg

[Run Cube MX]

Options in Cube MX

0690X00000ArJwjQAF.jpg

 [Generate Code] -> [Open Project]

0690X00000ArJwoQAF.jpg

Project folder0690X00000ArJwtQAF.jpg

Open STMCubeIDE and the project.

0690X00000ArJxIQAV.jpg

18 REPLIES 18
Takumi Lee
Associate III

Mattern,

i found the forum thread, and ich looked into the "release note for x-cube-mcsdk.pdf"

copy @ Page 12-> [ Motor Control projects generated with STM32 Motor Control Workbench fail to build. Before a solution

can be developed for this issue, a work around exists that allows to use ST's new IDE with Motor Control

projects by following the procedure described in this section and by respecting a few rules.

1....

2...]

Now the question arises for me, why does ST advertise its own development environments, which do not work in reality?

My point is that I am currently in my Master's thesis. If I'm not successful by the end of this week, I'm forced to leave the semiconductor manufacturer STMicroelectronics. I am very disappointed, because I really like the concept of ST, including the website and their products...!

Now, the last hope:

I have access via desktop remote to my gaming Win 10 PC at my home.

I installed new Java, CubeMX, CubeIDE and MCSDK, and "run MX once prior to installing MCworkshop" !

The CubeMX -> CubeIDE toolchain is functionally this times ! �� that is good !

But if I follow the instructions of the "release note for x-cube-mcsdk.pdf", it still does not work!

So I decided to install System Workbench for STM32 (SW4). Looks similar like the CubeIDE.

Of course, I deleted the CubeIDE, all folders.

The toolchain from mcsdk -> CubeMX -> SW4 works perfect, but if I build the project, error messages appears !

HAL problems ect. I think libraries are missing. Can somebody help me please ?

0690X00000ArPtgQAF.jpg

I tested both Firmware Package Versions: V1.10.0 & V1.11.0

DMatt.2
Associate II

I don't represent ST so I can't address your first question, but ST acquired Atollic and they are trying to cosolidate their tools into the CubeIDE going forward, but they are in transition phase so things are in flux. Just remember that you aren't paying for any of this, so you can't complain too much 8-)

stm32f3xx_hal_exti.h is part of STM32Cube Firmware Library. By default these files are installed in %USERNAME%/STM32Cube/Repository/ STM32Cube_FW_F*_V*, where the asterick is for the version of the firmware being used, for example, the latest is for STM32F3xyz is STM32Cube_FW_F3_V1.11.0. When you ran Workshop, it asked you whave version of the Firmware that you would be using and the project that it generated should have copied the files from the Repository to your project under the Drivers folder. I just ran a test case with SW4 and in the project folders is "Drivers/STM32Gxx_HAL_Driver/Inc" which includes the *.exti.h file in question. If the file isn't there for some reason, just put it there manually from the Firmware Repository files.

So you should check that you have the correct version of the firmware installed for your target processor AND

that the Workshop generated project has a path/link defined to this specific include folder. It should show up under "Drivers" in the Project Explorer. You can right click "properties" of the resource in the Project Explorer and it will show you the path to that resource.

Note: When you run code generator from Workshop, after it is complete if you click on the text on the screen it will open a log file with all of the test that provides a detailed description of what it was doing. Much of this is Java template generation, but the end of it includes the folder paths for the source and header files. This can be useful for debugging if you have to get into the details.

Takumi Lee
Associate III

I agree with you, but other manufacturers also offer free software. The problem is that i am running out of time, because this is part of my thesis, and without automatic code generation this topic alone would be a thesis. I am instructed that the qc generation works, otherwise I have a problem and not a small one. but I am very grateful to the support here in the community :)

I have added the stm32f3xx_hal_exti.h & stm32f3xx_hal_exti.c , but these files i found in F1.11.0 directory and not in the F1.10.0 directory.

In MCSCK i use Firmware 1.10.0 ! And not 1.11.0.

again, new errors, and that is the point...

0690X00000ArQSvQAN.jpg

In the appendix the logfile.

Takumi Lee
Associate III

ok,

i tried to choose other boards.

But a question: what means ST by Nucleo F401RE DAC is Emulated ?

And if i try to build the generated SC with SW4 and Nucleo L476RG i get only pointer warnings, how can i fix it ?

0690X00000ArQYeQAN.jpg

DMatt.2
Associate II

I don't know what is meant by "DAC is Emulated". I'd have to see the context. On some boards they used a PWM-output through a low pass filter to simulate an analog output.

You're having a bunch of compiler errors that you shouldn't be having. All I can suggest is to switch to another account or another computer and start again as it seems your installation is corrupted Or dump the Motor Control Workshop (MCW) altogether and start with one of the existing setups like SPN7 or SPN8, (search ST.com for these). You originally stated that you wanted to use Nucleo F303RE & IHM08M1. That's just the X-NUCLEO-IHM08M1 kit and you can use SPN8 code for that. Then you would not have to hassle with MCW code generation. You'd have to import that code into your IDE. I would suggest Atollic V9.2 as I've had better success with that than with CubeIDE (and the compile times are quicker).

I'm using the P-NUCLEO-IHM001 kit (F302R8 + IHM07M1) and the SPN7 for 6-step motor control as a starting point and I've been able to get that working using the Atollic V9.2 IDE. I was using MCW and I was able to compile some of that code, but the MCW generates code primarily for FOC and I'm more interested in 6-step motor control, so I stopped using it. The MCW is still a good place to look at the parameters for various things, driver boards and motors.

Cartu38 OpenDev
Lead II

Myself I would not advise our Community peers to rely on Atollic material. According STM communication such is going to be deprecated. Still in sync. with STM comments quite surprising to get better compile runtime if Atollic vs. CubeIDE because claiming they have done full Atollic material porting to CubeIDE. Sounds to me both are GCC based so ?

DMatt.2
Associate II

Yes, both are GCC based. I understand that Atollic is not recommended for new design, as that's right on their download page. And I mentioned, above, that ST's long term goal was to migrate to CubeIDE, but the are not quite there yet. I would prefer to be using CubeIDE, but the suggestion to use Atollic was based on recent experience and what worked for me. I tried CubeIDE for ten days, had issues getting it to work, switched to Atollic and was off and running. I didn't document the compile times, but that was my first impression, that Atollic was compiling the same application from scratch faster that CubeIDE. So I'm just relaying my recent experience. Do your own comparison. I'd rather be working on my application than on getting the tool to work.

Takumi Lee
Associate III

UPDATE: A other problem is the Avast Antivirus, too.

I delete it now ! 

Hi,

after I formatted my PC "now with WIN 10" I only install CubeMX, SW4 and MCSDK, (now code generation works).

Yes in brackets.

According to ST, you should use the firmware F1.10 for Nucleo-F3 boards, but this causes the known errors.

But with the firmware F1.11 not, there are only pointer warnings, which you can ignore for now, usually not.

I suspect that if you install the Cube IDE before or after, CubeMX gets confused. (Update, with the Cube IDE you an not RUN the application only debug mode, i read and found it on the release) <- it annoys me [USE SW4 !]

I suspect this because, after the QC generation for SW4 is done, CubeMX still used the CubeIDE.

And after I have uninstalled CubeIDE, CubeMX used the CubeIDE again... -.-

However, as long as you do not generate QC from the MCSCK, all IDEs works.

I hope ST brings in the near future a harmony in their (in my opinion) very well constructed concept.

Laurent Ca...
Lead II

The question has been set only to the "STM32 Motor Control" topic (the question is only about the STM32 MC SDK). 

Best regards